@efffrida/il2cpp-bridge 0.0.55 → 0.0.57

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/README.md CHANGED
@@ -1,3 +1,40 @@
1
1
  # @efffrida/il2cpp-bridge
2
2
 
3
- Effect integration for <https://github.com/vfsfitvnm/frida-il2cpp-bridge>
3
+ Effect integration for
4
+ [frida-il2cpp-bridge](https://github.com/vfsfitvnm/frida-il2cpp-bridge), for use
5
+ inside frida agents that instrument Unity il2cpp applications.
6
+
7
+ - `FridaIl2cppBridge.il2cppPerformEffect` runs an effect inside
8
+ `Il2Cpp.perform`, so the caller thread is attached to the il2cpp domain while
9
+ it executes.
10
+ - `Assembly` and `Class` look up assemblies, classes, fields, methods, and
11
+ nested classes as effects. The plain variants (`assembly`, `class`, `field`,
12
+ ...) treat a missing member as a defect, the `try*` variants fail with a
13
+ `NoSuchElementError` instead, and the `*Cached` variants memoize lookups in a
14
+ `Cache` sized by the `CacheCapacity` reference (100 by default). Cache keys
15
+ compare il2cpp objects by their native handle.
16
+ - `Equivalence` compares images, classes, fields, and methods by their native
17
+ handle.
18
+ - `Extensions` provides `Dictionary` and `List` wrappers over
19
+ `System.Collections.Generic.Dictionary` and `System.Collections.Generic.List`
20
+ objects.
21
+
22
+ ### Example usage
23
+
24
+ ```typescript
25
+ import "@efffrida/polyfills";
26
+
27
+ import * as Effect from "effect/Effect";
28
+
29
+ import { Assembly, Class, Extensions, FridaIl2cppBridge } from "@efffrida/il2cpp-bridge";
30
+ import { FridaRuntime } from "@efffrida/platform";
31
+
32
+ Effect.gen(function* () {
33
+ const csharp = yield* Assembly.assembly("Assembly-CSharp");
34
+ const player = yield* Class.tryClass(csharp.image, "Player");
35
+ const allPlayers = yield* Class.tryField<Il2Cpp.Object>(player, "s_AllPlayers");
36
+
37
+ const players = Extensions.List.lift(allPlayers.value);
38
+ yield* Effect.logInfo(`There are ${players.length} players`);
39
+ }).pipe(FridaIl2cppBridge.il2cppPerformEffect, FridaRuntime.runMain);
40
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"Assembly.d.ts","sourceRoot":"","sources":["../src/Assembly.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAGnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAChC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAIxD,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,QAAQ,EAAE,KAAK,EAAE,KAAK,CAGvE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,WAAW,EAAE,KAAK,EAAE,KAAK,CAG7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAGnE,CAAC"}
1
+ {"version":3,"file":"Assembly.d.ts","sourceRoot":"","sources":["../src/Assembly.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAGnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAChC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAGpG,CAAC;AAEN;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,QAAQ,EAAE,KAAK,EAAE,KAAK,CAGvE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,WAAW,EAAE,KAAK,EAAE,KAAK,CAG7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAGnE,CAAC"}
package/dist/Assembly.js CHANGED
@@ -7,6 +7,7 @@ import * as Cache from "effect/Cache";
7
7
  import * as Cause from "effect/Cause";
8
8
  import * as Context from "effect/Context";
9
9
  import * as Effect from "effect/Effect";
10
+ import * as Option from "effect/Option";
10
11
  /**
11
12
  * @since 1.0.0
12
13
  * @category Cache
@@ -23,10 +24,7 @@ export const assembly = name => Effect.sync(() => Il2Cpp.domain.assembly(name));
23
24
  * @since 1.0.0
24
25
  * @category Assembly
25
26
  */
26
- export const tryAssembly = name => Effect.try({
27
- try: () => Il2Cpp.domain.tryAssembly(name),
28
- catch: () => new Cause.NoSuchElementError(`No assembly with name ${name}`)
29
- }).pipe(Effect.flatMap(Effect.fromNullishOr));
27
+ export const tryAssembly = name => Effect.sync(() => Option.fromNullishOr(Il2Cpp.domain.tryAssembly(name))).pipe(Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No assembly with name ${name}`))));
30
28
  /**
31
29
  * @since 1.0.0
32
30
  * @category Assembly
@@ -1 +1 @@
1
- {"version":3,"file":"Assembly.js","names":[],"sources":["../src/Assembly.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA,OAAO,qBAAqB;AAI5B,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe;AAEvC;;;;AAIA,OAAO,MAAM,aAAa,gBAA8B,OAAO,CAAC,SAAS,CACrE,uCAAuC,EACvC;EAAE,YAAY,EAAE,MAAM;AAAG,CAAE,CAC9B;AAED;;;;AAIA,OAAO,MAAM,QAAQ,GAAI,IAAY,IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnD;;;;AAIA,OAAO,MAAM,WAAW,GAAI,IAAY,IACpC,MAAM,CAAC,GAAG,CAAC;EACP,GAAG,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;EAC1C,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,yBAAyB,IAAI,EAAE;CAC5E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEjD;;;;AAIA,OAAO,MAAM,cAAc,gBAAiD,aAAa,CAAC,IAAI,cAC1F,MAAM,CAAC,OAAO,CAAE,QAAQ,IAAK,KAAK,CAAC,IAAI,CAAC;EAAE,QAAQ;EAAE,MAAM,EAAE;AAAQ,CAAE,CAAC,CAAC,eACxE,MAAM,CAAC,GAAG,CAAE,KAAK,IAAM,IAAY,IAAK,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAClE;AAED;;;;AAIA,OAAO,MAAM,iBAAiB,gBAAoD,aAAa,CAAC,IAAI,cAChG,MAAM,CAAC,OAAO,CAAE,QAAQ,IAAK,KAAK,CAAC,IAAI,CAAC;EAAE,QAAQ;EAAE,MAAM,EAAE;AAAW,CAAE,CAAC,CAAC,eAC3E,MAAM,CAAC,GAAG,CAAE,KAAK,IAAM,IAAY,IAAK,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAClE;AAED;;;;AAIA,OAAO,MAAM,MAAM,gBAAqD,MAAM,CAAC,cAAc,cACzF,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EACxC,MAAM,IAAK,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CACjD","ignoreList":[]}
1
+ {"version":3,"file":"Assembly.js","names":[],"sources":["../src/Assembly.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA,OAAO,qBAAqB;AAI5B,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe;AAEvC;;;;AAIA,OAAO,MAAM,aAAa,gBAA8B,OAAO,CAAC,SAAS,CACrE,uCAAuC,EACvC;EAAE,YAAY,EAAE,MAAM;AAAG,CAAE,CAC9B;AAED;;;;AAIA,OAAO,MAAM,QAAQ,GAAI,IAAY,IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnD;;;;AAIA,OAAO,MAAM,WAAW,GAAI,IAAY,IACpC,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACzE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,CAAC,CACzG;AAEL;;;;AAIA,OAAO,MAAM,cAAc,gBAAiD,aAAa,CAAC,IAAI,cAC1F,MAAM,CAAC,OAAO,CAAE,QAAQ,IAAK,KAAK,CAAC,IAAI,CAAC;EAAE,QAAQ;EAAE,MAAM,EAAE;AAAQ,CAAE,CAAC,CAAC,eACxE,MAAM,CAAC,GAAG,CAAE,KAAK,IAAM,IAAY,IAAK,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAClE;AAED;;;;AAIA,OAAO,MAAM,iBAAiB,gBAAoD,aAAa,CAAC,IAAI,cAChG,MAAM,CAAC,OAAO,CAAE,QAAQ,IAAK,KAAK,CAAC,IAAI,CAAC;EAAE,QAAQ;EAAE,MAAM,EAAE;AAAW,CAAE,CAAC,CAAC,eAC3E,MAAM,CAAC,GAAG,CAAE,KAAK,IAAM,IAAY,IAAK,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAClE;AAED;;;;AAIA,OAAO,MAAM,MAAM,gBAAqD,MAAM,CAAC,cAAc,cACzF,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EACxC,MAAM,IAAK,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CACjD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../src/Class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../src/Class.ts"],"names":[],"mappings":"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"}
package/dist/Class.js CHANGED
@@ -5,11 +5,11 @@
5
5
  import "frida-il2cpp-bridge";
6
6
  import * as Cache from "effect/Cache";
7
7
  import * as Cause from "effect/Cause";
8
- import * as Data from "effect/Data";
9
8
  import * as Effect from "effect/Effect";
10
9
  import * as Equal from "effect/Equal";
11
10
  import * as Function from "effect/Function";
12
11
  import * as Hash from "effect/Hash";
12
+ import * as Option from "effect/Option";
13
13
  import { CacheCapacity } from "./Assembly.js";
14
14
  export {
15
15
  /**
@@ -17,8 +17,23 @@ export {
17
17
  * @category Cache
18
18
  */
19
19
  CacheCapacity } from "./Assembly.js";
20
- /** @internal */
21
- class ImageNameKey extends Data.Class {
20
+ /**
21
+ * Cache keys identify il2cpp objects by their native handle rather than by
22
+ * reference, since frida-il2cpp-bridge can hand out distinct wrapper instances
23
+ * for the same underlying image/class.
24
+ *
25
+ * @internal
26
+ */
27
+ class ImageNameKey {
28
+ image;
29
+ name;
30
+ constructor({
31
+ image,
32
+ name
33
+ }) {
34
+ this.image = image;
35
+ this.name = name;
36
+ }
22
37
  [Hash.symbol]() {
23
38
  return Hash.string(`${this.image.handle}:${this.name}`);
24
39
  }
@@ -27,7 +42,16 @@ class ImageNameKey extends Data.Class {
27
42
  }
28
43
  }
29
44
  /** @internal */
30
- class ClassNameKey extends Data.Class {
45
+ class ClassNameKey {
46
+ klass;
47
+ name;
48
+ constructor({
49
+ klass,
50
+ name
51
+ }) {
52
+ this.klass = klass;
53
+ this.name = name;
54
+ }
31
55
  [Hash.symbol]() {
32
56
  return Hash.string(`${this.klass.handle}:${this.name}`);
33
57
  }
@@ -36,7 +60,19 @@ class ClassNameKey extends Data.Class {
36
60
  }
37
61
  }
38
62
  /** @internal */
39
- class MethodKey extends Data.Class {
63
+ class MethodKey {
64
+ klass;
65
+ name;
66
+ parameterCount;
67
+ constructor({
68
+ klass,
69
+ name,
70
+ parameterCount
71
+ }) {
72
+ this.klass = klass;
73
+ this.name = name;
74
+ this.parameterCount = parameterCount;
75
+ }
40
76
  [Hash.symbol]() {
41
77
  return Hash.string(`${this.klass.handle}:${this.name}:${this.parameterCount}`);
42
78
  }
@@ -59,10 +95,7 @@ class_ as class };
59
95
  * @since 1.0.0
60
96
  * @category Class
61
97
  */
62
- export const tryClass = /*#__PURE__*/Function.dual(2, (image, name) => Effect.try({
63
- try: () => image.tryClass(name),
64
- catch: () => new Cause.NoSuchElementError(`No class with name ${name}`)
65
- }).pipe(Effect.flatMap(Effect.fromNullishOr)));
98
+ export const tryClass = /*#__PURE__*/Function.dual(2, (image, name) => Effect.sync(() => Option.fromNullishOr(image.tryClass(name))).pipe(Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No class with name ${name}`)))));
66
99
  /**
67
100
  * @since 1.0.0
68
101
  * @category Class
@@ -99,10 +132,7 @@ export const field = /*#__PURE__*/Function.dual(2, (klass, name) => Effect.sync(
99
132
  * @since 1.0.0
100
133
  * @category Class
101
134
  */
102
- export const tryField = /*#__PURE__*/Function.dual(2, (klass, name) => Effect.try({
103
- try: () => klass.field(name),
104
- catch: () => new Cause.NoSuchElementError(`No field with name ${name}`)
105
- }).pipe(Effect.flatMap(Effect.fromNullishOr)));
135
+ export const tryField = /*#__PURE__*/Function.dual(2, (klass, name) => Effect.sync(() => Option.fromNullishOr(klass.tryField(name))).pipe(Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No field with name ${name}`)))));
106
136
  /**
107
137
  * @since 1.0.0
108
138
  * @category Class
@@ -139,10 +169,7 @@ export const method = /*#__PURE__*/Function.dual(_arguments => typeof _arguments
139
169
  * @since 1.0.0
140
170
  * @category Class
141
171
  */
142
- export const tryMethod = /*#__PURE__*/Function.dual(_arguments => typeof _arguments[1] === "string", (klass, name, parameterCount) => Effect.try({
143
- try: () => klass.tryMethod(name, parameterCount),
144
- catch: () => new Cause.NoSuchElementError(`No method with name ${name}`)
145
- }).pipe(Effect.flatMap(Effect.fromNullishOr)));
172
+ export const tryMethod = /*#__PURE__*/Function.dual(_arguments => typeof _arguments[1] === "string", (klass, name, parameterCount) => Effect.sync(() => Option.fromNullishOr(klass.tryMethod(name, parameterCount))).pipe(Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(parameterCount === undefined ? `No method with name ${name}` : `No method with name ${name} and ${parameterCount} parameters`)))));
146
173
  /**
147
174
  * @since 1.0.0
148
175
  * @category Class
@@ -176,10 +203,7 @@ export const nested = /*#__PURE__*/Function.dual(2, (klass, name) => Effect.sync
176
203
  * @since 1.0.0
177
204
  * @category Class
178
205
  */
179
- export const tryNested = /*#__PURE__*/Function.dual(2, (klass, name) => Effect.try({
180
- try: () => klass.tryNested(name),
181
- catch: () => new Cause.NoSuchElementError(`No nested class with name ${name}`)
182
- }).pipe(Effect.flatMap(Effect.fromNullishOr)));
206
+ export const tryNested = /*#__PURE__*/Function.dual(2, (klass, name) => Effect.sync(() => Option.fromNullishOr(klass.tryNested(name))).pipe(Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No nested class with name ${name}`)))));
183
207
  /**
184
208
  * @since 1.0.0
185
209
  * @category Class
package/dist/Class.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Class.js","names":[],"sources":["../src/Class.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Class.js","names":[],"sources":["../src/Class.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -34,10 +34,13 @@ export declare class Dictionary<K extends Il2Cpp.Field.Type = Il2Cpp.Field.Type,
34
34
  remove(key: K): boolean;
35
35
  [Symbol.iterator](): IterableIterator<[K, V]>;
36
36
  toString(): string;
37
- toRecord(keys?: Array<K> | undefined): Record<string, V>;
37
+ toRecord(keys?: ReadonlyArray<K> | undefined): Record<string, V>;
38
38
  /** The Dictionary class. */
39
39
  static get class(): Il2Cpp.Class;
40
- /** Lifts an Il2Cpp.Object to a Dictionary. */
40
+ /**
41
+ * Lifts an Il2Cpp.Object holding a System.Collections.Generic.Dictionary
42
+ * instance to a Dictionary.
43
+ */
41
44
  static lift<K extends Il2Cpp.Field.Type = Il2Cpp.Field.Type, V extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(object: Il2Cpp.Object): Dictionary<K, V>;
42
45
  /** Creates a new dictionary with the given elements. */
43
46
  static of<K extends Il2Cpp.Field.Type = Il2Cpp.Field.Type, V extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(keyClass: Il2Cpp.Class, valueClass: Il2Cpp.Class, elements?: Map<K, V> | undefined): Dictionary<K, V>;
@@ -77,9 +80,12 @@ export declare class List<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type> exten
77
80
  toString(): string;
78
81
  /** The List class. */
79
82
  static get class(): Il2Cpp.Class;
80
- /** Lifts an Il2Cpp.Array to a List. */
83
+ /**
84
+ * Lifts an Il2Cpp.Object holding a System.Collections.Generic.List instance
85
+ * to a List.
86
+ */
81
87
  static lift<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(object: Il2Cpp.Object): List<T>;
82
88
  /** Creates a new list with the given elements. */
83
- static of<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(klass: Il2Cpp.Class, elements?: Array<T> | undefined): List<T>;
89
+ static of<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(klass: Il2Cpp.Class, elements?: ReadonlyArray<T> | undefined): List<T>;
84
90
  }
85
91
  //# sourceMappingURL=Extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Extensions.d.ts","sourceRoot":"","sources":["../src/Extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Extensions.d.ts","sourceRoot":"","sources":["../src/Extensions.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,11 @@
3
3
  * @category Extensions
4
4
  */
5
5
  import "frida-il2cpp-bridge";
6
- import { Array, Option, Record, pipe, Result } from "effect";
6
+ import * as Array from "effect/Array";
7
+ import * as Function from "effect/Function";
8
+ import * as Option from "effect/Option";
9
+ import * as Record from "effect/Record";
10
+ import * as Result from "effect/Result";
7
11
  /**
8
12
  * @since 1.0.0
9
13
  * @category Extensions
@@ -62,18 +66,15 @@ export class Dictionary extends Il2Cpp.Object {
62
66
  return this.method("Remove").invoke(key);
63
67
  }
64
68
  *[Symbol.iterator]() {
65
- const entries = this.entries;
66
- for (let i = 0; i < this.length; i++) {
67
- yield entries[i];
68
- }
69
+ yield* this.entries;
69
70
  }
70
71
  toString() {
71
- return this.isNull() ? "null" : `{${[...this.entries].map(([k, v]) => `${k}: ${v}`).join(", ")}}`;
72
+ return this.isNull() ? "null" : `{${this.entries.map(([k, v]) => `${k}: ${v}`).join(", ")}}`;
72
73
  }
73
74
  toRecord(keys) {
74
75
  const readKeyOptionString = key => key instanceof Il2Cpp.String ? Option.fromNullOr(key.isNull() ? null : key.content) : Option.some(key.toString());
75
76
  const readValueOption = key => this.containsKey(key) ? Option.some(this.get(key)) : Option.none();
76
- return pipe(keys ?? this.keys, Array.filterMap(key => {
77
+ return Function.pipe(keys ?? this.keys, Array.filterMap(key => {
77
78
  const maybeKey = readKeyOptionString(key);
78
79
  const maybeValue = readValueOption(key);
79
80
  const product = Option.product(maybeKey, maybeValue);
@@ -84,13 +85,16 @@ export class Dictionary extends Il2Cpp.Object {
84
85
  static get class() {
85
86
  return Il2Cpp.corlib.class("System.Collections.Generic.Dictionary`2");
86
87
  }
87
- /** Lifts an Il2Cpp.Object to a Dictionary. */
88
+ /**
89
+ * Lifts an Il2Cpp.Object holding a System.Collections.Generic.Dictionary
90
+ * instance to a Dictionary.
91
+ */
88
92
  static lift(object) {
89
93
  return new Dictionary(object.handle);
90
94
  }
91
95
  /** Creates a new dictionary with the given elements. */
92
96
  static of(keyClass, valueClass, elements) {
93
- const dictionary = new Dictionary(Dictionary.class.inflate(keyClass, valueClass).alloc());
97
+ const dictionary = new Dictionary(Dictionary.class.inflate(keyClass, valueClass).new());
94
98
  for (const [key, value] of elements ?? []) {
95
99
  dictionary.set(key, value);
96
100
  }
@@ -168,13 +172,16 @@ export class List extends Il2Cpp.Object {
168
172
  static get class() {
169
173
  return Il2Cpp.corlib.class("System.Collections.Generic.List`1");
170
174
  }
171
- /** Lifts an Il2Cpp.Array to a List. */
175
+ /**
176
+ * Lifts an Il2Cpp.Object holding a System.Collections.Generic.List instance
177
+ * to a List.
178
+ */
172
179
  static lift(object) {
173
180
  return new List(object.handle);
174
181
  }
175
182
  /** Creates a new list with the given elements. */
176
183
  static of(klass, elements = []) {
177
- const list = new List(List.class.inflate(klass).alloc());
184
+ const list = new List(List.class.inflate(klass).new());
178
185
  for (const element of elements) {
179
186
  list.add(element);
180
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Extensions.js","names":[],"sources":["../src/Extensions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Extensions.js","names":[],"sources":["../src/Extensions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@efffrida/il2cpp-bridge",
3
- "version": "0.0.55",
4
- "description": "effect-ts frida-il2cpp-bridge",
3
+ "version": "0.0.57",
4
+ "description": "Effect wrappers around frida-il2cpp-bridge",
5
5
  "keywords": [
6
6
  "effect-ts",
7
7
  "frida.re",
@@ -44,11 +44,6 @@
44
44
  "peerDependencies": {
45
45
  "effect": "4.1.0"
46
46
  },
47
- "tags": [
48
- "frida.re",
49
- "reverse engineering",
50
- "effect-ts"
51
- ],
52
47
  "scripts": {
53
48
  "codegen": "build-utils prepare-v4",
54
49
  "build": "tsc -b tsconfig.build.json && pnpm babel",
package/src/Assembly.ts CHANGED
@@ -11,6 +11,7 @@ import * as Cache from "effect/Cache";
11
11
  import * as Cause from "effect/Cause";
12
12
  import * as Context from "effect/Context";
13
13
  import * as Effect from "effect/Effect";
14
+ import * as Option from "effect/Option";
14
15
 
15
16
  /**
16
17
  * @since 1.0.0
@@ -33,10 +34,9 @@ export const assembly = (name: string): Effect.Effect<Il2Cpp.Assembly, never, ne
33
34
  * @category Assembly
34
35
  */
35
36
  export const tryAssembly = (name: string): Effect.Effect<Il2Cpp.Assembly, Cause.NoSuchElementError, never> =>
36
- Effect.try({
37
- try: () => Il2Cpp.domain.tryAssembly(name),
38
- catch: () => new Cause.NoSuchElementError(`No assembly with name ${name}`),
39
- }).pipe(Effect.flatMap(Effect.fromNullishOr));
37
+ Effect.sync(() => Option.fromNullishOr(Il2Cpp.domain.tryAssembly(name))).pipe(
38
+ Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No assembly with name ${name}`)))
39
+ );
40
40
 
41
41
  /**
42
42
  * @since 1.0.0
package/src/Class.ts CHANGED
@@ -7,11 +7,11 @@ import "frida-il2cpp-bridge";
7
7
 
8
8
  import * as Cache from "effect/Cache";
9
9
  import * as Cause from "effect/Cause";
10
- import * as Data from "effect/Data";
11
10
  import * as Effect from "effect/Effect";
12
11
  import * as Equal from "effect/Equal";
13
12
  import * as Function from "effect/Function";
14
13
  import * as Hash from "effect/Hash";
14
+ import * as Option from "effect/Option";
15
15
 
16
16
  import { CacheCapacity } from "./Assembly.ts";
17
17
 
@@ -23,14 +23,20 @@ export {
23
23
  CacheCapacity,
24
24
  } from "./Assembly.ts";
25
25
 
26
- /** @internal */
27
- class ImageNameKey
28
- extends Data.Class<{
29
- readonly image: Il2Cpp.Image;
30
- readonly name: string;
31
- }>
32
- implements Equal.Equal, Hash.Hash
33
- {
26
+ /**
27
+ * Cache keys identify il2cpp objects by their native handle rather than by
28
+ * reference, since frida-il2cpp-bridge can hand out distinct wrapper instances
29
+ * for the same underlying image/class.
30
+ *
31
+ * @internal
32
+ */
33
+ class ImageNameKey implements Equal.Equal {
34
+ readonly image: Il2Cpp.Image;
35
+ readonly name: string;
36
+ constructor({ image, name }: { image: Il2Cpp.Image; name: string }) {
37
+ this.image = image;
38
+ this.name = name;
39
+ }
34
40
  [Hash.symbol](): number {
35
41
  return Hash.string(`${this.image.handle}:${this.name}`);
36
42
  }
@@ -40,13 +46,13 @@ class ImageNameKey
40
46
  }
41
47
 
42
48
  /** @internal */
43
- class ClassNameKey
44
- extends Data.Class<{
45
- readonly klass: Il2Cpp.Class;
46
- readonly name: string;
47
- }>
48
- implements Equal.Equal, Hash.Hash
49
- {
49
+ class ClassNameKey implements Equal.Equal {
50
+ readonly klass: Il2Cpp.Class;
51
+ readonly name: string;
52
+ constructor({ klass, name }: { klass: Il2Cpp.Class; name: string }) {
53
+ this.klass = klass;
54
+ this.name = name;
55
+ }
50
56
  [Hash.symbol](): number {
51
57
  return Hash.string(`${this.klass.handle}:${this.name}`);
52
58
  }
@@ -56,14 +62,23 @@ class ClassNameKey
56
62
  }
57
63
 
58
64
  /** @internal */
59
- class MethodKey
60
- extends Data.Class<{
61
- readonly klass: Il2Cpp.Class;
62
- readonly name: string;
63
- readonly parameterCount: number | undefined;
64
- }>
65
- implements Equal.Equal, Hash.Hash
66
- {
65
+ class MethodKey implements Equal.Equal {
66
+ readonly klass: Il2Cpp.Class;
67
+ readonly name: string;
68
+ readonly parameterCount: number | undefined;
69
+ constructor({
70
+ klass,
71
+ name,
72
+ parameterCount,
73
+ }: {
74
+ klass: Il2Cpp.Class;
75
+ name: string;
76
+ parameterCount: number | undefined;
77
+ }) {
78
+ this.klass = klass;
79
+ this.name = name;
80
+ this.parameterCount = parameterCount;
81
+ }
67
82
  [Hash.symbol](): number {
68
83
  return Hash.string(`${this.klass.handle}:${this.name}:${this.parameterCount}`);
69
84
  }
@@ -102,10 +117,9 @@ export const tryClass = Function.dual<
102
117
  (name: string) => (image: Il2Cpp.Image) => Effect.Effect<Il2Cpp.Class, Cause.NoSuchElementError, never>,
103
118
  (image: Il2Cpp.Image, name: string) => Effect.Effect<Il2Cpp.Class, Cause.NoSuchElementError, never>
104
119
  >(2, (image: Il2Cpp.Image, name: string) =>
105
- Effect.try({
106
- try: () => image.tryClass(name),
107
- catch: () => new Cause.NoSuchElementError(`No class with name ${name}`),
108
- }).pipe(Effect.flatMap(Effect.fromNullishOr))
120
+ Effect.sync(() => Option.fromNullishOr(image.tryClass(name))).pipe(
121
+ Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No class with name ${name}`)))
122
+ )
109
123
  );
110
124
 
111
125
  /**
@@ -197,10 +211,9 @@ export const tryField = Function.dual<
197
211
  klass: Il2Cpp.Class,
198
212
  name: string
199
213
  ): Effect.Effect<Il2Cpp.Field<T>, Cause.NoSuchElementError, never> =>
200
- Effect.try({
201
- try: () => klass.field<T>(name),
202
- catch: () => new Cause.NoSuchElementError(`No field with name ${name}`),
203
- }).pipe(Effect.flatMap(Effect.fromNullishOr))
214
+ Effect.sync(() => Option.fromNullishOr(klass.tryField<T>(name))).pipe(
215
+ Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No field with name ${name}`)))
216
+ )
204
217
  );
205
218
 
206
219
  /**
@@ -326,10 +339,18 @@ export const tryMethod = Function.dual<
326
339
  name: string,
327
340
  parameterCount?: number | undefined
328
341
  ): Effect.Effect<Il2Cpp.Method<T>, Cause.NoSuchElementError, never> =>
329
- Effect.try({
330
- try: () => klass.tryMethod<T>(name, parameterCount),
331
- catch: () => new Cause.NoSuchElementError(`No method with name ${name}`),
332
- }).pipe(Effect.flatMap(Effect.fromNullishOr))
342
+ Effect.sync(() => Option.fromNullishOr(klass.tryMethod<T>(name, parameterCount))).pipe(
343
+ Effect.flatMap(
344
+ Effect.fromOption(
345
+ () =>
346
+ new Cause.NoSuchElementError(
347
+ parameterCount === undefined
348
+ ? `No method with name ${name}`
349
+ : `No method with name ${name} and ${parameterCount} parameters`
350
+ )
351
+ )
352
+ )
353
+ )
333
354
  );
334
355
 
335
356
  /**
@@ -413,10 +434,9 @@ export const tryNested = Function.dual<
413
434
  (name: string) => (klass: Il2Cpp.Class) => Effect.Effect<Il2Cpp.Class, Cause.NoSuchElementError, never>,
414
435
  (klass: Il2Cpp.Class, name: string) => Effect.Effect<Il2Cpp.Class, Cause.NoSuchElementError, never>
415
436
  >(2, (klass: Il2Cpp.Class, name: string) =>
416
- Effect.try({
417
- try: () => klass.tryNested(name),
418
- catch: () => new Cause.NoSuchElementError(`No nested class with name ${name}`),
419
- }).pipe(Effect.flatMap(Effect.fromNullishOr))
437
+ Effect.sync(() => Option.fromNullishOr(klass.tryNested(name))).pipe(
438
+ Effect.flatMap(Effect.fromOption(() => new Cause.NoSuchElementError(`No nested class with name ${name}`)))
439
+ )
420
440
  );
421
441
 
422
442
  /**
package/src/Extensions.ts CHANGED
@@ -5,7 +5,11 @@
5
5
 
6
6
  import "frida-il2cpp-bridge";
7
7
 
8
- import { Array, Option, Record, pipe, Result } from "effect";
8
+ import * as Array from "effect/Array";
9
+ import * as Function from "effect/Function";
10
+ import * as Option from "effect/Option";
11
+ import * as Record from "effect/Record";
12
+ import * as Result from "effect/Result";
9
13
 
10
14
  /**
11
15
  * @since 1.0.0
@@ -82,17 +86,14 @@ export class Dictionary<
82
86
  }
83
87
 
84
88
  public *[Symbol.iterator](): IterableIterator<[K, V]> {
85
- const entries = this.entries;
86
- for (let i = 0; i < this.length; i++) {
87
- yield entries[i];
88
- }
89
+ yield* this.entries;
89
90
  }
90
91
 
91
92
  public override toString(): string {
92
- return this.isNull() ? "null" : `{${[...this.entries].map(([k, v]) => `${k}: ${v}`).join(", ")}}`;
93
+ return this.isNull() ? "null" : `{${this.entries.map(([k, v]) => `${k}: ${v}`).join(", ")}}`;
93
94
  }
94
95
 
95
- public toRecord(keys?: Array<K> | undefined): Record<string, V> {
96
+ public toRecord(keys?: ReadonlyArray<K> | undefined): Record<string, V> {
96
97
  const readKeyOptionString = (key: K): Option.Option<string> =>
97
98
  key instanceof Il2Cpp.String
98
99
  ? Option.fromNullOr(key.isNull() ? null : key.content)
@@ -101,7 +102,7 @@ export class Dictionary<
101
102
  const readValueOption = (key: K): Option.Option<V> =>
102
103
  this.containsKey(key) ? Option.some(this.get(key)) : Option.none();
103
104
 
104
- return pipe(
105
+ return Function.pipe(
105
106
  keys ?? this.keys,
106
107
  Array.filterMap((key) => {
107
108
  const maybeKey = readKeyOptionString(key);
@@ -118,7 +119,10 @@ export class Dictionary<
118
119
  return Il2Cpp.corlib.class("System.Collections.Generic.Dictionary`2");
119
120
  }
120
121
 
121
- /** Lifts an Il2Cpp.Object to a Dictionary. */
122
+ /**
123
+ * Lifts an Il2Cpp.Object holding a System.Collections.Generic.Dictionary
124
+ * instance to a Dictionary.
125
+ */
122
126
  public static lift<
123
127
  K extends Il2Cpp.Field.Type = Il2Cpp.Field.Type,
124
128
  V extends Il2Cpp.Field.Type = Il2Cpp.Field.Type,
@@ -132,7 +136,7 @@ export class Dictionary<
132
136
  valueClass: Il2Cpp.Class,
133
137
  elements?: Map<K, V> | undefined
134
138
  ): Dictionary<K, V> {
135
- const dictionary = new Dictionary<K, V>(Dictionary.class.inflate(keyClass, valueClass).alloc());
139
+ const dictionary = new Dictionary<K, V>(Dictionary.class.inflate(keyClass, valueClass).new());
136
140
  for (const [key, value] of elements ?? []) {
137
141
  dictionary.set(key, value);
138
142
  }
@@ -229,7 +233,10 @@ export class List<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type> extends Il2Cp
229
233
  return Il2Cpp.corlib.class("System.Collections.Generic.List`1");
230
234
  }
231
235
 
232
- /** Lifts an Il2Cpp.Array to a List. */
236
+ /**
237
+ * Lifts an Il2Cpp.Object holding a System.Collections.Generic.List instance
238
+ * to a List.
239
+ */
233
240
  public static lift<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(object: Il2Cpp.Object): List<T> {
234
241
  return new List<T>(object.handle);
235
242
  }
@@ -237,9 +244,9 @@ export class List<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type> extends Il2Cp
237
244
  /** Creates a new list with the given elements. */
238
245
  public static of<T extends Il2Cpp.Field.Type = Il2Cpp.Field.Type>(
239
246
  klass: Il2Cpp.Class,
240
- elements: Array<T> | undefined = []
247
+ elements: ReadonlyArray<T> | undefined = []
241
248
  ): List<T> {
242
- const list = new List<T>(List.class.inflate(klass).alloc());
249
+ const list = new List<T>(List.class.inflate(klass).new());
243
250
  for (const element of elements) {
244
251
  list.add(element);
245
252
  }