frida 16.3.3 → 16.4.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.
@@ -15,6 +15,10 @@ export interface SystemParameters {
15
15
  * Human-readable version string, e.g. `"11.2.2"`.
16
16
  */
17
17
  version?: string;
18
+ /**
19
+ * Build version, e.g. `"21B91"`.
20
+ */
21
+ build?: string;
18
22
  };
19
23
  /**
20
24
  * Platform, same as `Process.platform` in GumJS.
@@ -24,6 +28,23 @@ export interface SystemParameters {
24
28
  * Architecture, same as `Process.arch` in GumJS.
25
29
  */
26
30
  arch: "ia32" | "x64" | "arm" | "arm64" | "mips";
31
+ /**
32
+ * Hardware details.
33
+ */
34
+ hardware?: {
35
+ /**
36
+ * Product type, e.g. `"iPad6,3"`.
37
+ */
38
+ product?: string;
39
+ /**
40
+ * Hardware platform, e.g. `"t8010"`.
41
+ */
42
+ platform?: string;
43
+ /**
44
+ * Hardware model, e.g. `"J71bAP"`.
45
+ */
46
+ model?: string;
47
+ };
27
48
  /**
28
49
  * Level of access.
29
50
  */
@@ -17,6 +17,11 @@ export interface SystemParameters {
17
17
  * Human-readable version string, e.g. `"11.2.2"`.
18
18
  */
19
19
  version?: string;
20
+
21
+ /**
22
+ * Build version, e.g. `"21B91"`.
23
+ */
24
+ build?: string;
20
25
  }
21
26
 
22
27
  /**
@@ -29,6 +34,26 @@ export interface SystemParameters {
29
34
  */
30
35
  arch: "ia32" | "x64" | "arm" | "arm64" | "mips";
31
36
 
37
+ /**
38
+ * Hardware details.
39
+ */
40
+ hardware?: {
41
+ /**
42
+ * Product type, e.g. `"iPad6,3"`.
43
+ */
44
+ product?: string;
45
+
46
+ /**
47
+ * Hardware platform, e.g. `"t8010"`.
48
+ */
49
+ platform?: string;
50
+
51
+ /**
52
+ * Hardware model, e.g. `"J71bAP"`.
53
+ */
54
+ model?: string;
55
+ }
56
+
32
57
  /**
33
58
  * Level of access.
34
59
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frida",
3
- "version": "16.3.3",
3
+ "version": "16.4.1",
4
4
  "authors": [
5
5
  "Frida Developers"
6
6
  ],
@@ -21,7 +21,7 @@
21
21
  ],
22
22
  "homepage": "https://frida.re",
23
23
  "engines": {
24
- "node": ">=8.0.0"
24
+ "node": ">=16 || 14 >=14.17"
25
25
  },
26
26
  "main": "./dist",
27
27
  "files": [
package/releng/deps.py CHANGED
@@ -497,7 +497,7 @@ class Builder:
497
497
 
498
498
  if sourcedir.exists():
499
499
  self._print_status(pkg.name, "Reusing existing checkout")
500
- current_rev = git("rev-parse", "FETCH_HEAD", check=True).stdout.strip()
500
+ current_rev = git("rev-parse", "FETCH_HEAD", cwd=sourcedir, check=True).stdout.strip()
501
501
  if current_rev != pkg.version:
502
502
  self._print_status(pkg.name, "WARNING: Checkout does not match version in deps.toml")
503
503
  else:
package/releng/deps.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [dependencies]
2
- version = "20240601"
3
- bootstrap_version = "20240531"
2
+ version = "20240627"
3
+ bootstrap_version = "20240625"
4
4
 
5
5
  [ninja]
6
6
  scope = "toolchain"
@@ -20,7 +20,7 @@ dependencies = [
20
20
  [vala]
21
21
  scope = "toolchain"
22
22
  name = "Vala"
23
- version = "2e32b7d182494094111808103efa5d4a06e6fda8"
23
+ version = "2c7a02d29332dedfdf803ce21b0540bc8461a035"
24
24
  url = "https://github.com/frida/vala.git"
25
25
  dependencies = [
26
26
  "glib",
@@ -158,7 +158,7 @@ url = "https://github.com/frida/sqlite.git"
158
158
  [libunwind]
159
159
  when = "machine.os in {'linux', 'android', 'freebsd', 'qnx'}"
160
160
  name = "libunwind"
161
- version = "ccd3a38597a8397a3382e4e58fdabb26a6f0be13"
161
+ version = "4d0abea0effd3c80916e70abe38c2a6156596f05"
162
162
  url = "https://github.com/frida/libunwind.git"
163
163
  options = [
164
164
  "-Dgeneric_library=disabled",
@@ -207,6 +207,12 @@ dependencies = [
207
207
  "openssl",
208
208
  ]
209
209
 
210
+ [libusb]
211
+ when = "machine.os in {'windows', 'macos', 'linux'}"
212
+ name = "libusb"
213
+ version = "be4d8ec1012f35ff6ce9474ed8d7c3ec4182ac55"
214
+ url = "https://github.com/frida/libusb.git"
215
+
210
216
  [lwip]
211
217
  name = "lwIP"
212
218
  version = "9f64c40cac2e77eddf6b3913961fdd056d307716"
@@ -216,7 +222,7 @@ options = [
216
222
  "-Dipv6=enabled",
217
223
  "-Ddns=disabled",
218
224
  "-Darp=disabled",
219
- "-Dethernet=disabled",
225
+ "-Dethernet=enabled",
220
226
  "-Dtcp_mss=1360",
221
227
  "-Dtcp_snd_buf=65535",
222
228
  "-Dtcp_wnd=65535",
package/src/iostream.cc CHANGED
@@ -5,7 +5,6 @@
5
5
 
6
6
  #define IOSTREAM_DATA_CONSTRUCTOR "iostream:ctor"
7
7
 
8
- using v8::CopyablePersistentTraits;
9
8
  using v8::DEFAULT;
10
9
  using v8::External;
11
10
  using v8::Function;
@@ -185,12 +184,9 @@ class WriteOperation : public Operation<GIOStream> {
185
184
  public:
186
185
  WriteOperation(Isolate* isolate, Local<Value> buffer)
187
186
  : stream_(NULL),
188
- buffer_(isolate, buffer),
189
187
  data_(node::Buffer::Data(buffer)),
190
188
  count_(node::Buffer::Length(buffer)) {
191
- }
192
-
193
- ~WriteOperation() {
189
+ buffer_.Reset(buffer);
194
190
  }
195
191
 
196
192
  protected:
@@ -211,7 +207,7 @@ class WriteOperation : public Operation<GIOStream> {
211
207
 
212
208
  private:
213
209
  GOutputStream* stream_;
214
- Persistent<Value, CopyablePersistentTraits<Value>> buffer_;
210
+ Nan::Persistent<Value, Nan::CopyablePersistentTraits<Value>> buffer_;
215
211
  const void* data_;
216
212
  gsize count_;
217
213
  };
package/src/runtime.cc CHANGED
@@ -16,6 +16,7 @@ using v8::Local;
16
16
  using v8::Number;
17
17
  using v8::Object;
18
18
  using v8::String;
19
+ using v8::Symbol;
19
20
  using v8::Value;
20
21
 
21
22
  namespace frida {
@@ -274,11 +275,32 @@ GVariant* Runtime::ValueToVariant(Local<Value> value) {
274
275
  }
275
276
 
276
277
  if (value->IsArray()) {
278
+ auto array = Local<Array>::Cast(value);
279
+ uint32_t n = array->Length();
280
+ if (n == 2) {
281
+ auto first = Nan::Get(array, 0).ToLocalChecked();
282
+ if (first->IsSymbol()) {
283
+ auto sym = first.As<Symbol>();
284
+ auto desc = sym->Description(
285
+ #if V8_MAJOR_VERSION > 9 || (V8_MAJOR_VERSION == 9 && V8_MINOR_VERSION >= 5)
286
+ Isolate::GetCurrent()
287
+ #endif
288
+ );
289
+ Nan::Utf8String type(desc);
290
+
291
+ auto val = ValueToVariant(Nan::Get(array, 1).ToLocalChecked());
292
+ if (val == NULL) {
293
+ return NULL;
294
+ }
295
+
296
+ GVariant* t[2] = { g_variant_new_string(*type), val };
297
+ return g_variant_new_tuple(t, G_N_ELEMENTS(t));
298
+ }
299
+ }
300
+
277
301
  GVariantBuilder builder;
278
302
  g_variant_builder_init(&builder, G_VARIANT_TYPE ("av"));
279
303
 
280
- auto array = Local<Array>::Cast(value);
281
- uint32_t n = array->Length();
282
304
  for (uint32_t i = 0; i != n; i++) {
283
305
  auto v = ValueToVariant(Nan::Get(array, i).ToLocalChecked());
284
306
  if (v == NULL) {
@@ -1,6 +1,6 @@
1
1
  [wrap-git]
2
2
  url = https://github.com/frida/frida-core.git
3
- revision = 16.3.3
3
+ revision = 16.4.1
4
4
  depth = 1
5
5
 
6
6
  [provide]
@@ -1,6 +1,6 @@
1
1
  [wrap-git]
2
2
  url = https://github.com/nodejs/nan.git
3
- revision = 56585a1cd21f25b4d56168063cedaf0831c63fef
3
+ revision = 4d1d74e0a9ea8fa8091b88e45dc57e4c7eb9cdf7
4
4
  depth = 1
5
5
  diff_files = nan.patch
6
6