frida 0.1.1 → 0.1.2

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +84 -84
  3. data/Gemfile +12 -12
  4. data/Gemfile.lock +25 -25
  5. data/LICENSE.txt +21 -21
  6. data/README.md +64 -64
  7. data/Rakefile +20 -20
  8. data/exe/frida +3 -3
  9. data/ext/c_frida/Application.c +79 -79
  10. data/ext/c_frida/Bus.c +91 -91
  11. data/ext/c_frida/Child.c +134 -134
  12. data/ext/c_frida/Compiler.c +0 -0
  13. data/ext/c_frida/Crash.c +0 -0
  14. data/ext/c_frida/Device.c +955 -955
  15. data/ext/c_frida/DeviceManager.c +260 -260
  16. data/ext/c_frida/EndpointParameters.c +0 -0
  17. data/ext/c_frida/FileMonitor.c +0 -0
  18. data/ext/c_frida/GObject.c +0 -0
  19. data/ext/c_frida/IOStream.c +228 -228
  20. data/ext/c_frida/PortalMembership.c +0 -0
  21. data/ext/c_frida/PortalService.c +0 -0
  22. data/ext/c_frida/Process.c +67 -67
  23. data/ext/c_frida/Relay.c +0 -0
  24. data/ext/c_frida/Script.c +221 -221
  25. data/ext/c_frida/Session.c +626 -626
  26. data/ext/c_frida/Spawn.c +53 -53
  27. data/ext/c_frida/c_frida.c +68 -68
  28. data/ext/c_frida/extconf.rb +25 -25
  29. data/ext/c_frida/gutils.c +498 -498
  30. data/ext/c_frida/gvl_bridge.c +131 -131
  31. data/ext/c_frida/inc/Application.h +9 -9
  32. data/ext/c_frida/inc/Bus.h +15 -15
  33. data/ext/c_frida/inc/Child.h +9 -9
  34. data/ext/c_frida/inc/Compiler.h +0 -0
  35. data/ext/c_frida/inc/Crash.h +0 -0
  36. data/ext/c_frida/inc/Device.h +71 -71
  37. data/ext/c_frida/inc/DeviceManager.h +20 -20
  38. data/ext/c_frida/inc/EndpointParameters.h +0 -0
  39. data/ext/c_frida/inc/FileMonitor.h +0 -0
  40. data/ext/c_frida/inc/GObject.h +0 -0
  41. data/ext/c_frida/inc/IOStream.h +29 -29
  42. data/ext/c_frida/inc/PortalMembership.h +0 -0
  43. data/ext/c_frida/inc/PortalService.h +0 -0
  44. data/ext/c_frida/inc/Process.h +9 -9
  45. data/ext/c_frida/inc/Relay.h +0 -0
  46. data/ext/c_frida/inc/Script.h +21 -21
  47. data/ext/c_frida/inc/Session.h +40 -40
  48. data/ext/c_frida/inc/Spawn.h +9 -9
  49. data/ext/c_frida/inc/c_frida.h +129 -129
  50. data/ext/c_frida/inc/gutils.h +21 -21
  51. data/ext/c_frida/inc/gvl_bridge.h +42 -42
  52. data/lib/frida/version.rb +5 -5
  53. data/lib/frida.rb +8 -8
  54. metadata +3 -6
  55. data/frida.gemspec +0 -39
@@ -1,40 +1,40 @@
1
- #pragma once
2
-
3
- #include "c_frida.h"
4
-
5
- extern VALUE mCFrida;
6
- extern VALUE cSession;
7
-
8
- typedef struct {
9
- FridaSession *handle;
10
- char *source;
11
- FridaScriptOptions *options;
12
- } create_script_sync_proxy_args;
13
-
14
- typedef create_script_sync_proxy_args compile_script_sync_proxy_args;
15
-
16
- typedef struct {
17
- FridaSession *handle;
18
- char *embed_script;
19
- FridaSnapshotOptions *options;
20
- } snapshot_script_sync_proxy_args;
21
-
22
- typedef struct {
23
- FridaSession *handle;
24
- GBytes *bytes;
25
- FridaScriptOptions *options;
26
- } create_script_from_bytes_sync_proxy_args;
27
-
28
- typedef struct {
29
- FridaSession *handle;
30
- FridaPeerOptions *options;
31
- } setup_peer_connection_sync_proxy_args;
32
-
33
- typedef struct {
34
- FridaSession *handle;
35
- char *address;
36
- FridaPortalOptions *options;
37
- } join_portal_sync_proxy_args;
38
-
39
- void define_Session();
40
- VALUE Session_from_FridaSession(FridaSession *stream);
1
+ #pragma once
2
+
3
+ #include "c_frida.h"
4
+
5
+ extern VALUE mCFrida;
6
+ extern VALUE cSession;
7
+
8
+ typedef struct {
9
+ FridaSession *handle;
10
+ char *source;
11
+ FridaScriptOptions *options;
12
+ } create_script_sync_proxy_args;
13
+
14
+ typedef create_script_sync_proxy_args compile_script_sync_proxy_args;
15
+
16
+ typedef struct {
17
+ FridaSession *handle;
18
+ char *embed_script;
19
+ FridaSnapshotOptions *options;
20
+ } snapshot_script_sync_proxy_args;
21
+
22
+ typedef struct {
23
+ FridaSession *handle;
24
+ GBytes *bytes;
25
+ FridaScriptOptions *options;
26
+ } create_script_from_bytes_sync_proxy_args;
27
+
28
+ typedef struct {
29
+ FridaSession *handle;
30
+ FridaPeerOptions *options;
31
+ } setup_peer_connection_sync_proxy_args;
32
+
33
+ typedef struct {
34
+ FridaSession *handle;
35
+ char *address;
36
+ FridaPortalOptions *options;
37
+ } join_portal_sync_proxy_args;
38
+
39
+ void define_Session();
40
+ VALUE Session_from_FridaSession(FridaSession *stream);
@@ -1,9 +1,9 @@
1
- #pragma once
2
-
3
- #include "c_frida.h"
4
-
5
- extern VALUE mCFrida;
6
- extern VALUE cSpawn;
7
-
8
- void define_Spawn();
9
- VALUE Spawn_from_FridaSpawn(FridaSpawn *stream);
1
+ #pragma once
2
+
3
+ #include "c_frida.h"
4
+
5
+ extern VALUE mCFrida;
6
+ extern VALUE cSpawn;
7
+
8
+ void define_Spawn();
9
+ VALUE Spawn_from_FridaSpawn(FridaSpawn *stream);
@@ -1,129 +1,129 @@
1
- #ifndef FRIDA_RUBY_H
2
- #define FRIDA_RUBY_H 1
3
-
4
- #include "ruby.h"
5
- #include "ruby/thread.h"
6
- #include "ruby/vm.h"
7
- #include "frida-core.h"
8
-
9
- typedef struct _GObject_d {
10
- void *handle;
11
- void (*destroy)(void *);
12
- GSList *signal_closures;
13
- } GObject_d;
14
-
15
- #define FRIDA_TYPE_RB_AUTHENTICATION_SERVICE frida_rb_authentication_service_get_type()
16
- G_DECLARE_FINAL_TYPE(FridaRBAuthenticationService, frida_rb_authentication_service, FRIDA, RB_AUTHENTICATION_SERVICE, GObject)
17
-
18
- #include "gutils.h"
19
-
20
- #include "GObject.h"
21
- #include "DeviceManager.h"
22
- #include "Device.h"
23
- #include "Bus.h"
24
- #include "IOStream.h"
25
- #include "Application.h"
26
- #include "Process.h"
27
- #include "Spawn.h"
28
- #include "Child.h"
29
- #include "Session.h"
30
- #include "Script.h"
31
- #include "Relay.h"
32
- #include "PortalMembership.h"
33
- #include "Crash.h"
34
- #include "FileMonitor.h"
35
- #include "Compiler.h"
36
- #include "EndpointParameters.h"
37
- #include "PortalService.h"
38
-
39
- #include "gvl_bridge.h"
40
-
41
- extern const rb_data_type_t GObject_dt;
42
-
43
- #define DEFINE_KLASS_DATA_TYPE(klass) \
44
- const rb_data_type_t klass##_dt = { \
45
- .wrap_struct_name = "Frida::" #klass "Data", \
46
- .function = { \
47
- .dcompact = NULL, \
48
- .dmark = NULL, \
49
- .dsize = NULL, \
50
- .dfree = (void (*)(void*))klass##_free, \
51
- }, \
52
- .flags = RUBY_TYPED_FREE_IMMEDIATELY \
53
- };
54
-
55
- #define DEFINE_GOBJECT_CHILD_KLASS_DATA_TYPE(klass) \
56
- static const rb_data_type_t klass##_dt = { \
57
- .wrap_struct_name = "Frida::" #klass "Data", \
58
- .function = { \
59
- .dcompact = NULL, \
60
- .dmark = NULL, \
61
- .dsize = NULL, \
62
- .dfree = (void (*)(void*))klass##_free, \
63
- }, \
64
- .parent = &GObject_dt, \
65
- .flags = RUBY_TYPED_FREE_IMMEDIATELY \
66
- };
67
-
68
- #define MAKE_DATA(k) \
69
- k##_d *d; \
70
- VALUE obj = TypedData_Make_Struct(klass, k##_d, &k##_dt, d);
71
-
72
- #define MAKE_DATA_EX(k, var) \
73
- k##_d *var; \
74
- VALUE obj = TypedData_Make_Struct(klass, k##_d, &k##_dt, var);
75
-
76
- #define GET_DATA(klass) \
77
- klass##_d *d; \
78
- TypedData_Get_Struct(self, klass##_d, &klass##_dt, d);
79
-
80
- #define GET_DATA_EX(klass, self, var) \
81
- klass##_d *var; \
82
- TypedData_Get_Struct(self, klass##_d, &klass##_dt, var);
83
-
84
- #define GET_GOBJECT_DATA() \
85
- GET_DATA(GObject);
86
-
87
- #define REQUIRE_GOBJECT_HANDLE() \
88
- if (!d->handle) return (Qnil);
89
-
90
- #define CALL_GVL_FREE(func, arg) \
91
- rb_thread_call_without_gvl((void_fp)func##_gvl_free, arg, NULL, NULL);
92
-
93
- typedef struct {
94
- void *ret;
95
- GError *gerr;
96
- } gvl_free_proxy_result;
97
-
98
- #define GVL_FREE_PROXY_FUNC(name, arg) \
99
- static gvl_free_proxy_result *name##_gvl_free(arg)
100
-
101
- #define GERROR_BLOCK \
102
- gerror: \
103
- raise_rerror(NULL, _gerr); \
104
- return (Qnil);
105
-
106
- #define UNREACHABLE_GERROR_BLOCK GERROR_BLOCK
107
-
108
- #define RETURN_GVL_FREE_RESULT(_ret) \
109
- gvl_free_proxy_result *result = malloc(sizeof(gvl_free_proxy_result)); \
110
- result->ret = _ret; \
111
- result->gerr = gerr; \
112
- return (result);
113
-
114
- #define CALL_GVL_FREE_WITH_RET(_ret, func, arg) \
115
- gvl_free_proxy_result *result = (gvl_free_proxy_result *)rb_thread_call_without_gvl((void_fp)func##_gvl_free, arg, NULL, NULL); \
116
- _ret = result->ret; \
117
- GError *_gerr = result->gerr; \
118
- free(result); \
119
- if (_gerr) goto gerror;
120
-
121
- #define TO_RBCLOSURE(c) ((RBClosure *)c)
122
-
123
- typedef void *(*void_fp)(void *);
124
-
125
- void Init_c_frida(void);
126
- void raise_rerror(char *err, GError *gerr);
127
- void raise_argerror(char *err);
128
-
129
- #endif
1
+ #ifndef FRIDA_RUBY_H
2
+ #define FRIDA_RUBY_H 1
3
+
4
+ #include "ruby.h"
5
+ #include "ruby/thread.h"
6
+ #include "ruby/vm.h"
7
+ #include "frida-core.h"
8
+
9
+ typedef struct _GObject_d {
10
+ void *handle;
11
+ void (*destroy)(void *);
12
+ GSList *signal_closures;
13
+ } GObject_d;
14
+
15
+ #define FRIDA_TYPE_RB_AUTHENTICATION_SERVICE frida_rb_authentication_service_get_type()
16
+ G_DECLARE_FINAL_TYPE(FridaRBAuthenticationService, frida_rb_authentication_service, FRIDA, RB_AUTHENTICATION_SERVICE, GObject)
17
+
18
+ #include "gutils.h"
19
+
20
+ #include "GObject.h"
21
+ #include "DeviceManager.h"
22
+ #include "Device.h"
23
+ #include "Bus.h"
24
+ #include "IOStream.h"
25
+ #include "Application.h"
26
+ #include "Process.h"
27
+ #include "Spawn.h"
28
+ #include "Child.h"
29
+ #include "Session.h"
30
+ #include "Script.h"
31
+ #include "Relay.h"
32
+ #include "PortalMembership.h"
33
+ #include "Crash.h"
34
+ #include "FileMonitor.h"
35
+ #include "Compiler.h"
36
+ #include "EndpointParameters.h"
37
+ #include "PortalService.h"
38
+
39
+ #include "gvl_bridge.h"
40
+
41
+ extern const rb_data_type_t GObject_dt;
42
+
43
+ #define DEFINE_KLASS_DATA_TYPE(klass) \
44
+ const rb_data_type_t klass##_dt = { \
45
+ .wrap_struct_name = "Frida::" #klass "Data", \
46
+ .function = { \
47
+ .dcompact = NULL, \
48
+ .dmark = NULL, \
49
+ .dsize = NULL, \
50
+ .dfree = (void (*)(void*))klass##_free, \
51
+ }, \
52
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY \
53
+ };
54
+
55
+ #define DEFINE_GOBJECT_CHILD_KLASS_DATA_TYPE(klass) \
56
+ static const rb_data_type_t klass##_dt = { \
57
+ .wrap_struct_name = "Frida::" #klass "Data", \
58
+ .function = { \
59
+ .dcompact = NULL, \
60
+ .dmark = NULL, \
61
+ .dsize = NULL, \
62
+ .dfree = (void (*)(void*))klass##_free, \
63
+ }, \
64
+ .parent = &GObject_dt, \
65
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY \
66
+ };
67
+
68
+ #define MAKE_DATA(k) \
69
+ k##_d *d; \
70
+ VALUE obj = TypedData_Make_Struct(klass, k##_d, &k##_dt, d);
71
+
72
+ #define MAKE_DATA_EX(k, var) \
73
+ k##_d *var; \
74
+ VALUE obj = TypedData_Make_Struct(klass, k##_d, &k##_dt, var);
75
+
76
+ #define GET_DATA(klass) \
77
+ klass##_d *d; \
78
+ TypedData_Get_Struct(self, klass##_d, &klass##_dt, d);
79
+
80
+ #define GET_DATA_EX(klass, self, var) \
81
+ klass##_d *var; \
82
+ TypedData_Get_Struct(self, klass##_d, &klass##_dt, var);
83
+
84
+ #define GET_GOBJECT_DATA() \
85
+ GET_DATA(GObject);
86
+
87
+ #define REQUIRE_GOBJECT_HANDLE() \
88
+ if (!d->handle) return (Qnil);
89
+
90
+ #define CALL_GVL_FREE(func, arg) \
91
+ rb_thread_call_without_gvl((void_fp)func##_gvl_free, arg, NULL, NULL);
92
+
93
+ typedef struct {
94
+ void *ret;
95
+ GError *gerr;
96
+ } gvl_free_proxy_result;
97
+
98
+ #define GVL_FREE_PROXY_FUNC(name, arg) \
99
+ static gvl_free_proxy_result *name##_gvl_free(arg)
100
+
101
+ #define GERROR_BLOCK \
102
+ gerror: \
103
+ raise_rerror(NULL, _gerr); \
104
+ return (Qnil);
105
+
106
+ #define UNREACHABLE_GERROR_BLOCK GERROR_BLOCK
107
+
108
+ #define RETURN_GVL_FREE_RESULT(_ret) \
109
+ gvl_free_proxy_result *result = malloc(sizeof(gvl_free_proxy_result)); \
110
+ result->ret = _ret; \
111
+ result->gerr = gerr; \
112
+ return (result);
113
+
114
+ #define CALL_GVL_FREE_WITH_RET(_ret, func, arg) \
115
+ gvl_free_proxy_result *result = (gvl_free_proxy_result *)rb_thread_call_without_gvl((void_fp)func##_gvl_free, arg, NULL, NULL); \
116
+ _ret = result->ret; \
117
+ GError *_gerr = result->gerr; \
118
+ free(result); \
119
+ if (_gerr) goto gerror;
120
+
121
+ #define TO_RBCLOSURE(c) ((RBClosure *)c)
122
+
123
+ typedef void *(*void_fp)(void *);
124
+
125
+ void Init_c_frida(void);
126
+ void raise_rerror(char *err, GError *gerr);
127
+ void raise_argerror(char *err);
128
+
129
+ #endif
@@ -1,21 +1,21 @@
1
- #pragma once
2
-
3
- #include "c_frida.h"
4
-
5
- VALUE rbGObject_marshal_string(const gchar * str);
6
- VALUE rbGObject_marshal_enum(gint value, GType type);
7
- VALUE rbGObject_marshal_variant(GVariant * variant);
8
- gboolean rbGObject_unmarshal_certificate(const gchar *str, GTlsCertificate **certificate);
9
- gboolean rbGObject_unmarshal_enum(const gchar *str, GType type, gpointer value);
10
- VALUE rbGObject_marshal_dict(GHashTable *dict);
11
- VALUE rbApplication_marshal_parameters_dict(GHashTable * dict);
12
- #define rbProcess_marshal_parameters_dict rbApplication_marshal_parameters_dict
13
- gboolean rbGObject_unmarshal_strv(VALUE value, gchar ***strv, gint *length);
14
- gboolean rbGObject_unmarshal_envp(VALUE hash, gchar ***envp, gint *length);
15
- gboolean rbGObject_unmarshal_string(VALUE value, gchar **str);
16
- gboolean rbGObject_unmarshal_variant(VALUE value, GVariant ** variant);
17
- VALUE rbGObject_marshal_strv(gchar **strv, gint length);
18
- VALUE rbGObject_marshal_envp(const gchar **envp, gint length);
19
- VALUE rbGObject_marshal_value(const GValue *value);
20
- VALUE *rbGObjectSignalClosure_marshal_params(const GValue *params, guint params_length);
21
- VALUE rbGObject_marshal_bytes(GBytes * bytes);
1
+ #pragma once
2
+
3
+ #include "c_frida.h"
4
+
5
+ VALUE rbGObject_marshal_string(const gchar * str);
6
+ VALUE rbGObject_marshal_enum(gint value, GType type);
7
+ VALUE rbGObject_marshal_variant(GVariant * variant);
8
+ gboolean rbGObject_unmarshal_certificate(const gchar *str, GTlsCertificate **certificate);
9
+ gboolean rbGObject_unmarshal_enum(const gchar *str, GType type, gpointer value);
10
+ VALUE rbGObject_marshal_dict(GHashTable *dict);
11
+ VALUE rbApplication_marshal_parameters_dict(GHashTable * dict);
12
+ #define rbProcess_marshal_parameters_dict rbApplication_marshal_parameters_dict
13
+ gboolean rbGObject_unmarshal_strv(VALUE value, gchar ***strv, gint *length);
14
+ gboolean rbGObject_unmarshal_envp(VALUE hash, gchar ***envp, gint *length);
15
+ gboolean rbGObject_unmarshal_string(VALUE value, gchar **str);
16
+ gboolean rbGObject_unmarshal_variant(VALUE value, GVariant ** variant);
17
+ VALUE rbGObject_marshal_strv(gchar **strv, gint length);
18
+ VALUE rbGObject_marshal_envp(const gchar **envp, gint length);
19
+ VALUE rbGObject_marshal_value(const GValue *value);
20
+ VALUE *rbGObjectSignalClosure_marshal_params(const GValue *params, guint params_length);
21
+ VALUE rbGObject_marshal_bytes(GBytes * bytes);
@@ -1,42 +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);
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/lib/frida/version.rb CHANGED
@@ -1,5 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
- module Frida
4
- VERSION = "0.1.1"
5
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Frida
4
+ VERSION = "0.1.2"
5
+ end
data/lib/frida.rb CHANGED
@@ -1,8 +1,8 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "frida/version"
4
- require_relative "c_frida"
5
-
6
- module Frida
7
- include CFrida
8
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "frida/version"
4
+ require_relative "c_frida"
5
+
6
+ module Frida
7
+ include CFrida
8
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frida
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - hakivvi
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-09-29 00:00:00.000000000 Z
10
+ date: 2025-07-06 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rake-compiler
@@ -82,7 +81,6 @@ files:
82
81
  - ext/c_frida/inc/c_frida.h
83
82
  - ext/c_frida/inc/gutils.h
84
83
  - ext/c_frida/inc/gvl_bridge.h
85
- - frida.gemspec
86
84
  - lib/frida.rb
87
85
  - lib/frida/version.rb
88
86
  homepage: https://github.com/hakivvi/frida-ruby
@@ -109,8 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
107
  - !ruby/object:Gem::Version
110
108
  version: '0'
111
109
  requirements: []
112
- rubygems_version: 3.5.16
113
- signing_key:
110
+ rubygems_version: 3.6.2
114
111
  specification_version: 4
115
112
  summary: Frida Ruby bindings.
116
113
  test_files: []
data/frida.gemspec DELETED
@@ -1,39 +0,0 @@
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