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.
- package/dist/system_parameters.d.ts +21 -0
- package/lib/system_parameters.ts +25 -0
- package/package.json +2 -2
- package/releng/deps.py +1 -1
- package/releng/deps.toml +11 -5
- package/src/iostream.cc +2 -6
- package/src/runtime.cc +24 -2
- package/subprojects/frida-core.wrap +1 -1
- package/subprojects/nan.wrap +1 -1
|
@@ -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
|
*/
|
package/lib/system_parameters.ts
CHANGED
|
@@ -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
|
+
"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": ">=
|
|
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 = "
|
|
3
|
-
bootstrap_version = "
|
|
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 = "
|
|
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 = "
|
|
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=
|
|
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) {
|