frida 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +25 -0
- data/LICENSE.txt +21 -0
- data/README.md +64 -0
- data/Rakefile +20 -0
- data/exe/frida +3 -0
- data/ext/c_frida/Application.c +79 -0
- data/ext/c_frida/Bus.c +91 -0
- data/ext/c_frida/Child.c +134 -0
- data/ext/c_frida/Compiler.c +208 -0
- data/ext/c_frida/Crash.c +92 -0
- data/ext/c_frida/Device.c +955 -0
- data/ext/c_frida/DeviceManager.c +260 -0
- data/ext/c_frida/EndpointParameters.c +189 -0
- data/ext/c_frida/FileMonitor.c +67 -0
- data/ext/c_frida/GObject.c +138 -0
- data/ext/c_frida/IOStream.c +228 -0
- data/ext/c_frida/PortalMembership.c +43 -0
- data/ext/c_frida/PortalService.c +413 -0
- data/ext/c_frida/Process.c +67 -0
- data/ext/c_frida/Relay.c +121 -0
- data/ext/c_frida/Script.c +221 -0
- data/ext/c_frida/Session.c +626 -0
- data/ext/c_frida/Spawn.c +53 -0
- data/ext/c_frida/c_frida.c +68 -0
- data/ext/c_frida/extconf.rb +26 -25
- data/ext/c_frida/gutils.c +498 -0
- data/ext/c_frida/gvl_bridge.c +131 -0
- data/ext/c_frida/inc/Application.h +9 -0
- data/ext/c_frida/inc/Bus.h +15 -0
- data/ext/c_frida/inc/Child.h +9 -0
- data/ext/c_frida/inc/Compiler.h +21 -0
- data/ext/c_frida/inc/Crash.h +9 -0
- data/ext/c_frida/inc/Device.h +71 -0
- data/ext/c_frida/inc/DeviceManager.h +20 -0
- data/ext/c_frida/inc/EndpointParameters.h +15 -0
- data/ext/c_frida/inc/FileMonitor.h +9 -0
- data/ext/c_frida/inc/GObject.h +10 -0
- data/ext/c_frida/inc/IOStream.h +29 -0
- data/ext/c_frida/inc/PortalMembership.h +9 -0
- data/ext/c_frida/inc/PortalService.h +47 -0
- data/ext/c_frida/inc/Process.h +9 -0
- data/ext/c_frida/inc/Relay.h +9 -0
- data/ext/c_frida/inc/Script.h +21 -0
- data/ext/c_frida/inc/Session.h +40 -0
- data/ext/c_frida/inc/Spawn.h +9 -0
- data/ext/c_frida/inc/c_frida.h +129 -0
- data/ext/c_frida/inc/gutils.h +21 -0
- data/ext/c_frida/inc/gvl_bridge.h +42 -0
- data/frida.gemspec +39 -0
- data/lib/frida/version.rb +5 -0
- data/lib/frida.rb +8 -0
- metadata +55 -3
@@ -0,0 +1,42 @@
|
|
1
|
+
#pragma once
|
2
|
+
|
3
|
+
#include "c_frida.h"
|
4
|
+
|
5
|
+
extern VALUE _gvl_bridge_thread;
|
6
|
+
|
7
|
+
typedef struct {
|
8
|
+
GClosure gclosure;
|
9
|
+
bool is_lambda;
|
10
|
+
uint signal_id;
|
11
|
+
int arity;
|
12
|
+
} RBClosure;
|
13
|
+
|
14
|
+
typedef struct {
|
15
|
+
GClosure *closure;
|
16
|
+
guint n_param_values;
|
17
|
+
GValue *param_values;
|
18
|
+
} gclosure_callback;
|
19
|
+
|
20
|
+
typedef struct {
|
21
|
+
GTask *task;
|
22
|
+
FridaRBAuthenticationService *self;
|
23
|
+
} gtask_callback;
|
24
|
+
|
25
|
+
typedef enum {
|
26
|
+
GCLOSURE,
|
27
|
+
GTASK
|
28
|
+
} callback_type;
|
29
|
+
|
30
|
+
typedef struct {
|
31
|
+
callback_type type;
|
32
|
+
union {
|
33
|
+
gclosure_callback GC;
|
34
|
+
gtask_callback GT;
|
35
|
+
};
|
36
|
+
} gvl_bridge_data;
|
37
|
+
|
38
|
+
#define RET_IF_MAIN_THREAD_EXITED if (main_thread_exited) return (NULL);
|
39
|
+
|
40
|
+
void gvl_bridge(void);
|
41
|
+
void gvl_bridge_forward_GC(GClosure *closure, GValue *_, guint n_param_values, GValue *param_values, gpointer __, gpointer ___);
|
42
|
+
void gvl_bridge_forward_GT(GTask *task, FridaRBAuthenticationService *self);
|
data/frida.gemspec
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/frida/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "frida"
|
7
|
+
spec.version = Frida::VERSION
|
8
|
+
spec.authors = ["hakivvi"]
|
9
|
+
spec.email = ["hakivvi@gmail.com"]
|
10
|
+
|
11
|
+
spec.summary = "Frida Ruby bindings."
|
12
|
+
spec.description = "Frida Ruby bindings."
|
13
|
+
spec.homepage = "https://github.com/hakivvi/frida-ruby"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = ">= 2.7.0"
|
16
|
+
|
17
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
18
|
+
|
19
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
20
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
21
|
+
spec.metadata["changelog_uri"] = spec.homepage
|
22
|
+
spec.post_install_message = "frida has been successfully compiled and installed, frida-core is no longer required and can be safely removed."
|
23
|
+
# Specify which files should be added to the gem when it is released.
|
24
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
|
+
spec.files = Dir.chdir(__dir__) do
|
26
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
27
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
# spec.bindir = "exe"
|
31
|
+
# spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
32
|
+
spec.require_paths = ["lib"]
|
33
|
+
spec.extensions = ["ext/c_frida/extconf.rb"]
|
34
|
+
# Uncomment to register a new dependency of your gem
|
35
|
+
spec.add_dependency "rake-compiler", '~> 1.2.7'
|
36
|
+
|
37
|
+
# For more information and examples about making a new gem, check out our
|
38
|
+
# guide at: https://bundler.io/guides/creating_gem.html
|
39
|
+
end
|
data/lib/frida.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frida
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- hakivvi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|
@@ -32,7 +32,59 @@ extensions:
|
|
32
32
|
- ext/c_frida/extconf.rb
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
+
- CODE_OF_CONDUCT.md
|
36
|
+
- Gemfile
|
37
|
+
- Gemfile.lock
|
38
|
+
- LICENSE.txt
|
39
|
+
- README.md
|
40
|
+
- Rakefile
|
41
|
+
- exe/frida
|
42
|
+
- ext/c_frida/Application.c
|
43
|
+
- ext/c_frida/Bus.c
|
44
|
+
- ext/c_frida/Child.c
|
45
|
+
- ext/c_frida/Compiler.c
|
46
|
+
- ext/c_frida/Crash.c
|
47
|
+
- ext/c_frida/Device.c
|
48
|
+
- ext/c_frida/DeviceManager.c
|
49
|
+
- ext/c_frida/EndpointParameters.c
|
50
|
+
- ext/c_frida/FileMonitor.c
|
51
|
+
- ext/c_frida/GObject.c
|
52
|
+
- ext/c_frida/IOStream.c
|
53
|
+
- ext/c_frida/PortalMembership.c
|
54
|
+
- ext/c_frida/PortalService.c
|
55
|
+
- ext/c_frida/Process.c
|
56
|
+
- ext/c_frida/Relay.c
|
57
|
+
- ext/c_frida/Script.c
|
58
|
+
- ext/c_frida/Session.c
|
59
|
+
- ext/c_frida/Spawn.c
|
60
|
+
- ext/c_frida/c_frida.c
|
35
61
|
- ext/c_frida/extconf.rb
|
62
|
+
- ext/c_frida/gutils.c
|
63
|
+
- ext/c_frida/gvl_bridge.c
|
64
|
+
- ext/c_frida/inc/Application.h
|
65
|
+
- ext/c_frida/inc/Bus.h
|
66
|
+
- ext/c_frida/inc/Child.h
|
67
|
+
- ext/c_frida/inc/Compiler.h
|
68
|
+
- ext/c_frida/inc/Crash.h
|
69
|
+
- ext/c_frida/inc/Device.h
|
70
|
+
- ext/c_frida/inc/DeviceManager.h
|
71
|
+
- ext/c_frida/inc/EndpointParameters.h
|
72
|
+
- ext/c_frida/inc/FileMonitor.h
|
73
|
+
- ext/c_frida/inc/GObject.h
|
74
|
+
- ext/c_frida/inc/IOStream.h
|
75
|
+
- ext/c_frida/inc/PortalMembership.h
|
76
|
+
- ext/c_frida/inc/PortalService.h
|
77
|
+
- ext/c_frida/inc/Process.h
|
78
|
+
- ext/c_frida/inc/Relay.h
|
79
|
+
- ext/c_frida/inc/Script.h
|
80
|
+
- ext/c_frida/inc/Session.h
|
81
|
+
- ext/c_frida/inc/Spawn.h
|
82
|
+
- ext/c_frida/inc/c_frida.h
|
83
|
+
- ext/c_frida/inc/gutils.h
|
84
|
+
- ext/c_frida/inc/gvl_bridge.h
|
85
|
+
- frida.gemspec
|
86
|
+
- lib/frida.rb
|
87
|
+
- lib/frida/version.rb
|
36
88
|
homepage: https://github.com/hakivvi/frida-ruby
|
37
89
|
licenses:
|
38
90
|
- MIT
|
@@ -57,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
109
|
- !ruby/object:Gem::Version
|
58
110
|
version: '0'
|
59
111
|
requirements: []
|
60
|
-
rubygems_version: 3.
|
112
|
+
rubygems_version: 3.5.16
|
61
113
|
signing_key:
|
62
114
|
specification_version: 4
|
63
115
|
summary: Frida Ruby bindings.
|