@efffrida/frida-tools 0.0.13 → 0.0.15

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 (92) hide show
  1. package/README.md +6 -10
  2. package/dist/{dts/FridaDevice.d.ts → FridaDevice.d.ts} +48 -4
  3. package/dist/FridaDevice.d.ts.map +1 -0
  4. package/dist/{esm/FridaDevice.js → FridaDevice.js} +22 -2
  5. package/dist/FridaDevice.js.map +1 -0
  6. package/dist/{dts/FridaDeviceAcquisitionError.d.ts → FridaDeviceAcquisitionError.d.ts} +2 -1
  7. package/dist/FridaDeviceAcquisitionError.d.ts.map +1 -0
  8. package/dist/{esm/FridaDeviceAcquisitionError.js → FridaDeviceAcquisitionError.js} +5 -1
  9. package/dist/FridaDeviceAcquisitionError.js.map +1 -0
  10. package/dist/FridaScript.d.ts +96 -0
  11. package/dist/FridaScript.d.ts.map +1 -0
  12. package/dist/FridaScript.js.map +1 -0
  13. package/dist/FridaSession.d.ts +72 -0
  14. package/dist/FridaSession.d.ts.map +1 -0
  15. package/dist/{esm/FridaSession.js → FridaSession.js} +10 -0
  16. package/dist/FridaSession.js.map +1 -0
  17. package/dist/FridaSessionError.d.ts.map +1 -0
  18. package/dist/FridaSessionError.js.map +1 -0
  19. package/dist/{dts/index.d.ts → index.d.ts} +8 -5
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/{esm/index.js → index.js} +3 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/{dts/internal → internal}/device.d.ts.map +1 -1
  24. package/dist/internal/device.js +189 -0
  25. package/dist/internal/device.js.map +1 -0
  26. package/dist/{dts/internal → internal}/script.d.ts.map +1 -1
  27. package/dist/internal/script.js +221 -0
  28. package/dist/internal/script.js.map +1 -0
  29. package/dist/{dts/internal → internal}/session.d.ts.map +1 -1
  30. package/dist/internal/session.js +124 -0
  31. package/dist/internal/session.js.map +1 -0
  32. package/package.json +54 -68
  33. package/src/FridaDevice.ts +92 -8
  34. package/src/FridaDeviceAcquisitionError.ts +6 -2
  35. package/src/FridaScript.ts +53 -31
  36. package/src/FridaSession.ts +31 -5
  37. package/src/FridaSessionError.ts +1 -1
  38. package/src/index.ts +9 -5
  39. package/src/internal/device.ts +311 -32
  40. package/src/internal/script.ts +265 -118
  41. package/src/internal/session.ts +135 -27
  42. package/FridaDevice/package.json +0 -6
  43. package/FridaDeviceAcquisitionError/package.json +0 -6
  44. package/FridaScript/package.json +0 -6
  45. package/FridaSession/package.json +0 -6
  46. package/FridaSessionError/package.json +0 -6
  47. package/dist/cjs/FridaDevice.js +0 -60
  48. package/dist/cjs/FridaDevice.js.map +0 -1
  49. package/dist/cjs/FridaDeviceAcquisitionError.js +0 -33
  50. package/dist/cjs/FridaDeviceAcquisitionError.js.map +0 -1
  51. package/dist/cjs/FridaScript.js +0 -40
  52. package/dist/cjs/FridaScript.js.map +0 -1
  53. package/dist/cjs/FridaSession.js +0 -45
  54. package/dist/cjs/FridaSession.js.map +0 -1
  55. package/dist/cjs/FridaSessionError.js +0 -37
  56. package/dist/cjs/FridaSessionError.js.map +0 -1
  57. package/dist/cjs/index.js +0 -18
  58. package/dist/cjs/index.js.map +0 -1
  59. package/dist/cjs/internal/device.js +0 -68
  60. package/dist/cjs/internal/device.js.map +0 -1
  61. package/dist/cjs/internal/script.js +0 -163
  62. package/dist/cjs/internal/script.js.map +0 -1
  63. package/dist/cjs/internal/session.js +0 -55
  64. package/dist/cjs/internal/session.js.map +0 -1
  65. package/dist/dts/FridaDevice.d.ts.map +0 -1
  66. package/dist/dts/FridaDeviceAcquisitionError.d.ts.map +0 -1
  67. package/dist/dts/FridaScript.d.ts +0 -80
  68. package/dist/dts/FridaScript.d.ts.map +0 -1
  69. package/dist/dts/FridaSession.d.ts +0 -56
  70. package/dist/dts/FridaSession.d.ts.map +0 -1
  71. package/dist/dts/FridaSessionError.d.ts.map +0 -1
  72. package/dist/dts/index.d.ts.map +0 -1
  73. package/dist/esm/FridaDevice.js.map +0 -1
  74. package/dist/esm/FridaDeviceAcquisitionError.js.map +0 -1
  75. package/dist/esm/FridaScript.js.map +0 -1
  76. package/dist/esm/FridaSession.js.map +0 -1
  77. package/dist/esm/FridaSessionError.js.map +0 -1
  78. package/dist/esm/index.js.map +0 -1
  79. package/dist/esm/internal/device.js +0 -55
  80. package/dist/esm/internal/device.js.map +0 -1
  81. package/dist/esm/internal/script.js +0 -155
  82. package/dist/esm/internal/script.js.map +0 -1
  83. package/dist/esm/internal/session.js +0 -44
  84. package/dist/esm/internal/session.js.map +0 -1
  85. package/dist/esm/package.json +0 -4
  86. package/index/package.json +0 -6
  87. /package/dist/{esm/FridaScript.js → FridaScript.js} +0 -0
  88. /package/dist/{dts/FridaSessionError.d.ts → FridaSessionError.d.ts} +0 -0
  89. /package/dist/{esm/FridaSessionError.js → FridaSessionError.js} +0 -0
  90. /package/dist/{dts/internal → internal}/device.d.ts +0 -0
  91. /package/dist/{dts/internal → internal}/script.d.ts +0 -0
  92. /package/dist/{dts/internal → internal}/session.d.ts +0 -0
package/README.md CHANGED
@@ -1,30 +1,26 @@
1
1
  # @efffrida/frida-tools
2
2
 
3
- Provides effectful abstractions for frida such as: connecting to devices, managing sessions, and creating script.
3
+ Provides effectful abstractions for frida such as connecting to devices, managing sessions, and creating scripts.
4
4
 
5
5
  ### Example usage
6
6
 
7
7
  ```typescript
8
- import { NodeContext } from "@effect/platform-node";
9
- import { FridaCompile } from "@efffrida/frida-compile";
8
+ import { Path } from "@effect/platform";
10
9
  import { FridaDevice, FridaScript, FridaSession } from "@efffrida/frida-tools";
11
10
  import { Effect, Layer, Stream } from "effect";
12
- import { ScriptRuntime } from "frida";
13
11
 
14
12
  // Pick a device and a session/program
15
13
  const DeviceLive = FridaDevice.layerLocalDevice;
16
14
  const SessionLive = FridaSession.layer("/usr/bin/sleep");
17
15
  const FridaLive = Layer.provideMerge(SessionLive, DeviceLive);
18
16
 
19
- // Compile the agent
20
- const ScriptLive = FridaCompile.compileAgent(new URL("../frida/agent.ts", import.meta.url))
21
- .pipe(Effect.map(FridaScript.layer()))
22
- .pipe(Layer.unwrapEffect)
23
- .pipe(Layer.provide([FridaLive, NodeContext.layer]));
17
+ const ScriptLive = FridaScript.layer(new URL("agent.ts", import.meta.url))
18
+ .pipe(Layer.provide(FridaLive))
19
+ .pipe(Layer.provide(Path.layer));
24
20
 
25
21
  const program = Effect.gen(function* () {
26
22
  const script = yield* FridaScript.FridaScript;
27
23
  const messages = yield* Stream.runHead(script.stream);
28
24
  // ...
29
- }).pipe(Effect.scoped)
25
+ }).pipe(Effect.provide(ScriptLive));
30
26
  ```
@@ -3,11 +3,14 @@
3
3
  *
4
4
  * @since 1.0.0
5
5
  */
6
+ import type * as CommandExecutor from "@effect/platform/CommandExecutor";
7
+ import type * as ConfigError from "effect/ConfigError";
6
8
  import type * as Context from "effect/Context";
7
9
  import type * as Effect from "effect/Effect";
8
10
  import type * as Layer from "effect/Layer";
11
+ import type * as Scope from "effect/Scope";
9
12
  import type * as Frida from "frida";
10
- import type * as FridaDeviceAcquisitionError from "./FridaDeviceAcquisitionError.js";
13
+ import type * as FridaDeviceAcquisitionError from "./FridaDeviceAcquisitionError.ts";
11
14
  /**
12
15
  * @since 1.0.0
13
16
  * @category Type ids
@@ -24,6 +27,7 @@ export type FridaDeviceTypeId = typeof FridaDeviceTypeId;
24
27
  */
25
28
  export interface FridaDevice {
26
29
  readonly device: Frida.Device;
30
+ readonly host: `usb://` | `local://` | `remote://${string}` | `android-emulator://${string}`;
27
31
  readonly [FridaDeviceTypeId]: typeof FridaDeviceTypeId;
28
32
  }
29
33
  /**
@@ -36,6 +40,11 @@ export declare const FridaDevice: Context.Tag<FridaDevice, FridaDevice>;
36
40
  * @category Predicates
37
41
  */
38
42
  export declare const isFridaDevice: (u: unknown) => u is FridaDevice;
43
+ /**
44
+ * @since 1.0.0
45
+ * @category Device acquisition
46
+ */
47
+ export declare const acquireLocalDevice: () => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, never>;
39
48
  /**
40
49
  * @since 1.0.0
41
50
  * @category Device acquisition
@@ -45,12 +54,32 @@ export declare const acquireUsbDevice: (options?: Frida.GetDeviceOptions | undef
45
54
  * @since 1.0.0
46
55
  * @category Device acquisition
47
56
  */
48
- export declare const acquireRemoteDevice: (address: string, options?: Frida.RemoteDeviceOptions | undefined) => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, never>;
57
+ export declare const acquireRemoteDevice: (address: string, options?: Frida.RemoteDeviceOptions | undefined) => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, Scope.Scope>;
49
58
  /**
50
59
  * @since 1.0.0
51
60
  * @category Device acquisition
52
61
  */
53
- export declare const acquireLocalDevice: () => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, never>;
62
+ export declare const acquireAndroidEmulatorDevice: (name: string, options?: {
63
+ hidden?: boolean | undefined;
64
+ adbExecutable?: string | undefined;
65
+ fridaExecutable?: string | undefined;
66
+ emulatorExecutable?: string | undefined;
67
+ extraEmulatorArgs?: Array<string> | undefined;
68
+ } | undefined) => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, CommandExecutor.CommandExecutor | Scope.Scope>;
69
+ /**
70
+ * @since 1.0.0
71
+ * @category Device acquisition
72
+ */
73
+ export declare const acquireAndroidEmulatorDeviceConfig: (name: string, options?: {
74
+ hidden?: boolean | undefined;
75
+ fridaExecutable?: string | undefined;
76
+ extraEmulatorArgs?: Array<string> | undefined;
77
+ } | undefined) => Effect.Effect<FridaDevice, ConfigError.ConfigError | FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, CommandExecutor.CommandExecutor | Scope.Scope>;
78
+ /**
79
+ * @since 1.0.0
80
+ * @category Layers
81
+ */
82
+ export declare const layerLocalDevice: Layer.Layer<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, never>;
54
83
  /**
55
84
  * @since 1.0.0
56
85
  * @category Layers
@@ -65,5 +94,20 @@ export declare const layerUsbDevice: (options?: Frida.GetDeviceOptions | undefin
65
94
  * @since 1.0.0
66
95
  * @category Layers
67
96
  */
68
- export declare const layerLocalDevice: Layer.Layer<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, never>;
97
+ export declare const layerAndroidEmulatorDevice: (name: string, options?: {
98
+ hidden?: boolean | undefined;
99
+ adbExecutable?: string | undefined;
100
+ fridaExecutable?: string | undefined;
101
+ emulatorExecutable?: string | undefined;
102
+ extraEmulatorArgs?: Array<string> | undefined;
103
+ } | undefined) => Layer.Layer<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, CommandExecutor.CommandExecutor>;
104
+ /**
105
+ * @since 1.0.0
106
+ * @category Layers
107
+ */
108
+ export declare const layerAndroidEmulatorDeviceConfig: (name: string, options?: {
109
+ hidden?: boolean | undefined;
110
+ fridaExecutable?: string | undefined;
111
+ extraEmulatorArgs?: Array<string> | undefined;
112
+ } | undefined) => Layer.Layer<FridaDevice, ConfigError.ConfigError | FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, CommandExecutor.CommandExecutor>;
69
113
  //# sourceMappingURL=FridaDevice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaDevice.d.ts","sourceRoot":"","sources":["../src/FridaDevice.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,11 @@ export const FridaDevice = internal.Tag;
19
19
  * @category Predicates
20
20
  */
21
21
  export const isFridaDevice = internal.isFridaDevice;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category Device acquisition
25
+ */
26
+ export const acquireLocalDevice = internal.acquireLocalDevice;
22
27
  /**
23
28
  * @since 1.0.0
24
29
  * @category Device acquisition
@@ -33,7 +38,17 @@ export const acquireRemoteDevice = internal.acquireRemoteDevice;
33
38
  * @since 1.0.0
34
39
  * @category Device acquisition
35
40
  */
36
- export const acquireLocalDevice = internal.acquireLocalDevice;
41
+ export const acquireAndroidEmulatorDevice = internal.acquireAndroidEmulatorDevice;
42
+ /**
43
+ * @since 1.0.0
44
+ * @category Device acquisition
45
+ */
46
+ export const acquireAndroidEmulatorDeviceConfig = internal.acquireAndroidEmulatorDeviceConfig;
47
+ /**
48
+ * @since 1.0.0
49
+ * @category Layers
50
+ */
51
+ export const layerLocalDevice = internal.layerLocalDevice;
37
52
  /**
38
53
  * @since 1.0.0
39
54
  * @category Layers
@@ -48,5 +63,10 @@ export const layerUsbDevice = internal.layerUsbDevice;
48
63
  * @since 1.0.0
49
64
  * @category Layers
50
65
  */
51
- export const layerLocalDevice = internal.layerLocalDevice;
66
+ export const layerAndroidEmulatorDevice = internal.layerAndroidEmulatorDevice;
67
+ /**
68
+ * @since 1.0.0
69
+ * @category Layers
70
+ */
71
+ export const layerAndroidEmulatorDeviceConfig = internal.layerAndroidEmulatorDeviceConfig;
52
72
  //# sourceMappingURL=FridaDevice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaDevice.js","names":["internal","FridaDeviceTypeId","FridaDevice","Tag","isFridaDevice","acquireLocalDevice","acquireUsbDevice","acquireRemoteDevice","acquireAndroidEmulatorDevice","acquireAndroidEmulatorDeviceConfig","layerLocalDevice","layerRemoteDevice","layerUsbDevice","layerAndroidEmulatorDevice","layerAndroidEmulatorDeviceConfig"],"sources":["../src/FridaDevice.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAeA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAEhD;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAkBD,QAAQ,CAACC,iBAAiB;AAkB1E;;;;AAIA,OAAO,MAAMC,WAAW,GAA0CF,QAAQ,CAACG,GAAG;AAE9E;;;;AAIA,OAAO,MAAMC,aAAa,GAAqCJ,QAAQ,CAACI,aAAa;AAErF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAI3BL,QAAQ,CAACK,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,gBAAgB,GAGzBN,QAAQ,CAACM,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,mBAAmB,GAI5BP,QAAQ,CAACO,mBAAmB;AAEhC;;;;AAIA,OAAO,MAAMC,4BAA4B,GAerCR,QAAQ,CAACQ,4BAA4B;AAEzC;;;;AAIA,OAAO,MAAMC,kCAAkC,GAa3CT,QAAQ,CAACS,kCAAkC;AAE/C;;;;AAIA,OAAO,MAAMC,gBAAgB,GAIzBV,QAAQ,CAACU,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAI1BX,QAAQ,CAACW,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,cAAc,GAEqEZ,QAAQ,CAACY,cAAc;AAEvH;;;;AAIA,OAAO,MAAMC,0BAA0B,GAenCb,QAAQ,CAACa,0BAA0B;AAEvC;;;;AAIA,OAAO,MAAMC,gCAAgC,GAazCd,QAAQ,CAACc,gCAAgC","ignoreList":[]}
@@ -28,8 +28,9 @@ declare const FridaDeviceAcquisitionError_base: new <A extends Record<string, an
28
28
  export declare class FridaDeviceAcquisitionError extends FridaDeviceAcquisitionError_base<{
29
29
  cause: unknown;
30
30
  attempts: number;
31
- acquisitionMethod: "usb" | "remote" | "local";
31
+ acquisitionMethod: "usb" | "remote" | "local" | "android-emulator";
32
32
  }> {
33
+ get message(): string;
33
34
  }
34
35
  export {};
35
36
  //# sourceMappingURL=FridaDeviceAcquisitionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaDeviceAcquisitionError.d.ts","sourceRoot":"","sources":["../src/FridaDeviceAcquisitionError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,OAAO,MAEjB,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,2BACD,CAAC;;;;AAEhE;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,iCAG/C;IACE,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,kBAAkB,CAAC;CACtE,CAAC;IACE,IAAoB,OAAO,IAAI,MAAM,CAEpC;CACJ"}
@@ -19,5 +19,9 @@ export const isFridaDeviceAcquisitionError = u => Predicate.hasProperty(u, Frida
19
19
  * @since 1.0.0
20
20
  * @category Errors
21
21
  */
22
- export class FridaDeviceAcquisitionError extends /*#__PURE__*/PlatformError.TypeIdError(FridaDeviceAcquisitionErrorTypeId, "FridaDeviceAcquisitionError") {}
22
+ export class FridaDeviceAcquisitionError extends /*#__PURE__*/PlatformError.TypeIdError(FridaDeviceAcquisitionErrorTypeId, "FridaDeviceAcquisitionError") {
23
+ get message() {
24
+ return `Failed to acquire ${this.acquisitionMethod} Frida device after ${this.attempts} attempt(s)`;
25
+ }
26
+ }
23
27
  //# sourceMappingURL=FridaDeviceAcquisitionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaDeviceAcquisitionError.js","names":["PlatformError","Predicate","FridaDeviceAcquisitionErrorTypeId","Symbol","for","isFridaDeviceAcquisitionError","u","hasProperty","FridaDeviceAcquisitionError","TypeIdError","message","acquisitionMethod","attempts"],"sources":["../src/FridaDeviceAcquisitionError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAMA,OAAO,KAAKA,aAAa,MAAM,wBAAwB;AACvD,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAE7C;;;;AAIA,OAAO,MAAMC,iCAAiC,gBAAkBC,MAAM,CAACC,GAAG,CACtE,kDAAkD,CAChB;AAQtC;;;;AAIA,OAAO,MAAMC,6BAA6B,GAAIC,CAAU,IACpDL,SAAS,CAACM,WAAW,CAACD,CAAC,EAAEJ,iCAAiC,CAAC;AAE/D;;;;AAIA,OAAM,MAAOM,2BAA4B,sBAAQR,aAAa,CAACS,WAAW,CACtEP,iCAAiC,EACjC,6BAA6B,CAK/B;EACE,IAAoBQ,OAAOA,CAAA;IACvB,OAAO,qBAAqB,IAAI,CAACC,iBAAiB,uBAAuB,IAAI,CAACC,QAAQ,aAAa;EACvG","ignoreList":[]}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Frida scripts
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import type * as Path from "@effect/platform/Path";
7
+ import type * as Context from "effect/Context";
8
+ import type * as Deferred from "effect/Deferred";
9
+ import type * as Duration from "effect/Duration";
10
+ import type * as Effect from "effect/Effect";
11
+ import type * as Layer from "effect/Layer";
12
+ import type * as Option from "effect/Option";
13
+ import type * as ParseResult from "effect/ParseResult";
14
+ import type * as Schema from "effect/Schema";
15
+ import type * as Scope from "effect/Scope";
16
+ import type * as Sink from "effect/Sink";
17
+ import type * as Stream from "effect/Stream";
18
+ import type * as Frida from "frida";
19
+ import type * as FridaSession from "./FridaSession.ts";
20
+ import type * as FridaSessionError from "./FridaSessionError.ts";
21
+ /**
22
+ * @since 1.0.0
23
+ * @category Type ids
24
+ */
25
+ export declare const FridaScriptTypeId: unique symbol;
26
+ /**
27
+ * @since 1.0.0
28
+ * @category Type ids
29
+ */
30
+ export type FridaScriptTypeId = typeof FridaScriptTypeId;
31
+ /**
32
+ * @since 1.0.0
33
+ * @category Models
34
+ */
35
+ export interface FridaScript {
36
+ readonly script: Frida.Script;
37
+ readonly [FridaScriptTypeId]: typeof FridaScriptTypeId;
38
+ readonly destroyed: Deferred.Deferred<void, never>;
39
+ readonly scriptError: Deferred.Deferred<unknown, never>;
40
+ readonly stream: Stream.Stream<{
41
+ message: unknown;
42
+ data: Option.Option<Buffer>;
43
+ }, FridaSessionError.FridaSessionError, never>;
44
+ readonly sink: Sink.Sink<void, {
45
+ message: unknown;
46
+ data: Option.Option<Buffer>;
47
+ }, never, FridaSessionError.FridaSessionError, never>;
48
+ readonly callExport: <A, I, R>(exportName: string, schema: Schema.Schema<A, I, R>) => (...args: Array<any>) => Effect.Effect<A, FridaSessionError.FridaSessionError | ParseResult.ParseError, R>;
49
+ }
50
+ /**
51
+ * @since 1.0.0
52
+ * @category Tags
53
+ */
54
+ export declare const FridaScript: Context.Tag<FridaScript, FridaScript>;
55
+ /**
56
+ * @since 1.0.0
57
+ * @category Predicates
58
+ */
59
+ export declare const isFridaScript: (u: unknown) => u is FridaScript;
60
+ /**
61
+ * @since 1.0.0
62
+ * @category Options
63
+ */
64
+ export interface LoadOptions extends Frida.ScriptOptions, Frida.CompilerOptions {
65
+ readonly messageMailboxCapacity?: number | {
66
+ readonly capacity?: number;
67
+ readonly strategy?: "suspend" | "dropping" | "sliding";
68
+ } | undefined;
69
+ readonly streamShareOptions?: {
70
+ readonly capacity: "unbounded";
71
+ readonly replay?: number | undefined;
72
+ readonly idleTimeToLive?: Duration.DurationInput | undefined;
73
+ } | {
74
+ readonly capacity: number;
75
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined;
76
+ readonly replay?: number | undefined;
77
+ readonly idleTimeToLive?: Duration.DurationInput | undefined;
78
+ } | undefined;
79
+ }
80
+ /**
81
+ * @since 1.0.0
82
+ * @category Frida
83
+ */
84
+ export declare const load: {
85
+ (entrypoint: URL, options?: LoadOptions | undefined): Effect.Effect<FridaScript, FridaSessionError.FridaSessionError, Path.Path | FridaSession.FridaSession | Scope.Scope>;
86
+ (options?: LoadOptions | undefined): (entrypoint: URL) => Effect.Effect<FridaScript, FridaSessionError.FridaSessionError, Path.Path | FridaSession.FridaSession | Scope.Scope>;
87
+ };
88
+ /**
89
+ * @since 1.0.0
90
+ * @category Layers
91
+ */
92
+ export declare const layer: {
93
+ (entrypoint: URL, options?: LoadOptions | undefined): Layer.Layer<FridaScript, FridaSessionError.FridaSessionError, FridaSession.FridaSession>;
94
+ (options?: LoadOptions | undefined): (entrypoint: URL) => Layer.Layer<FridaScript, FridaSessionError.FridaSessionError, FridaSession.FridaSession>;
95
+ };
96
+ //# sourceMappingURL=FridaScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaScript.d.ts","sourceRoot":"","sources":["../src/FridaScript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaScript.js","names":["internal","FridaScriptTypeId","FridaScript","Tag","isFridaScript","load","layer"],"sources":["../src/FridaScript.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAsBA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAEhD;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAkBD,QAAQ,CAACC,iBAAiB;AAmC1E;;;;AAIA,OAAO,MAAMC,WAAW,GAA0CF,QAAQ,CAACG,GAAG;AAE9E;;;;AAIA,OAAO,MAAMC,aAAa,GAAqCJ,QAAQ,CAACI,aAAa;AA6BrF;;;;AAIA,OAAO,MAAMC,IAAI,GAkBbL,QAAQ,CAACK,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,KAAK,GAQdN,QAAQ,CAACM,KAAK","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Frida sessions
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import type * as Cause from "effect/Cause";
7
+ import type * as Context from "effect/Context";
8
+ import type * as Effect from "effect/Effect";
9
+ import type * as Layer from "effect/Layer";
10
+ import type * as Scope from "effect/Scope";
11
+ import type * as Frida from "frida";
12
+ import type * as FridaDevice from "./FridaDevice.ts";
13
+ import type * as FridaSessionError from "./FridaSessionError.ts";
14
+ /**
15
+ * @since 1.0.0
16
+ * @category Type ids
17
+ */
18
+ export declare const FridaSessionTypeId: unique symbol;
19
+ /**
20
+ * @since 1.0.0
21
+ * @category Type ids
22
+ */
23
+ export type FridaSessionTypeId = typeof FridaSessionTypeId;
24
+ /**
25
+ * @since 1.0.0
26
+ * @category Models
27
+ */
28
+ export interface FridaSession {
29
+ readonly session: Frida.Session;
30
+ readonly [FridaSessionTypeId]: typeof FridaSessionTypeId;
31
+ readonly resume: Effect.Effect<void, Cause.UnknownException>;
32
+ readonly enableChildGating: Effect.Effect<void, Cause.UnknownException>;
33
+ readonly disableChildGating: Effect.Effect<void, Cause.UnknownException>;
34
+ setupPeerConnection(options?: Frida.PeerOptions | undefined): Effect.Effect<void, Cause.UnknownException>;
35
+ joinPortal(address: string, options?: Frida.PortalOptions | undefined): Effect.Effect<Frida.PortalMembership, Cause.UnknownException>;
36
+ }
37
+ /**
38
+ * @since 1.0.0
39
+ * @category Tags
40
+ */
41
+ export declare const FridaSession: Context.Tag<FridaSession, FridaSession>;
42
+ /**
43
+ * @since 1.0.0
44
+ * @category Predicates
45
+ */
46
+ export declare const isFridaSession: (u: unknown) => u is FridaSession;
47
+ /**
48
+ * @since 1.0.0
49
+ * @category Frida
50
+ */
51
+ export declare const frontmost: (options?: Frida.FrontmostQueryOptions | undefined) => Effect.Effect<Frida.Application, FridaSessionError.FridaSessionError, FridaDevice.FridaDevice>;
52
+ /**
53
+ * @since 1.0.0
54
+ * @category Frida
55
+ */
56
+ export declare const spawn: (program: string | ReadonlyArray<string>, options?: Frida.SpawnOptions | undefined) => Effect.Effect<number, FridaSessionError.FridaSessionError, FridaDevice.FridaDevice | Scope.Scope>;
57
+ /**
58
+ * @since 1.0.0
59
+ * @category Frida
60
+ */
61
+ export declare const attach: (target: Frida.TargetProcess, options?: Frida.SessionOptions | undefined) => Effect.Effect<FridaSession, FridaSessionError.FridaSessionError, FridaDevice.FridaDevice | Scope.Scope>;
62
+ /**
63
+ * @since 1.0.0
64
+ * @category Layers
65
+ */
66
+ export declare const layer: (target: number | string | ReadonlyArray<string>, options?: (Frida.SpawnOptions & Frida.SessionOptions) | undefined) => Layer.Layer<FridaSession, FridaSessionError.FridaSessionError, FridaDevice.FridaDevice>;
67
+ /**
68
+ * @since 1.0.0
69
+ * @category Layers
70
+ */
71
+ export declare const layerFrontmost: (options?: Frida.FrontmostQueryOptions | undefined) => Layer.Layer<FridaSession, FridaSessionError.FridaSessionError, FridaDevice.FridaDevice>;
72
+ //# sourceMappingURL=FridaSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaSession.d.ts","sourceRoot":"","sources":["../src/FridaSession.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,11 @@ export const FridaSession = internal.Tag;
19
19
  * @category Predicates
20
20
  */
21
21
  export const isFridaSession = internal.isFridaSession;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category Frida
25
+ */
26
+ export const frontmost = internal.frontmost;
22
27
  /**
23
28
  * @since 1.0.0
24
29
  * @category Frida
@@ -34,4 +39,9 @@ export const attach = internal.attach;
34
39
  * @category Layers
35
40
  */
36
41
  export const layer = internal.layer;
42
+ /**
43
+ * @since 1.0.0
44
+ * @category Layers
45
+ */
46
+ export const layerFrontmost = internal.layerFrontmost;
37
47
  //# sourceMappingURL=FridaSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaSession.js","names":["internal","FridaSessionTypeId","FridaSession","Tag","isFridaSession","frontmost","spawn","attach","layer","layerFrontmost"],"sources":["../src/FridaSession.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAeA,OAAO,KAAKA,QAAQ,MAAM,uBAAuB;AAEjD;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAkBD,QAAQ,CAACC,kBAAkB;AAyB5E;;;;AAIA,OAAO,MAAMC,YAAY,GAA4CF,QAAQ,CAACG,GAAG;AAEjF;;;;AAIA,OAAO,MAAMC,cAAc,GAAsCJ,QAAQ,CAACI,cAAc;AAExF;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBL,QAAQ,CAACK,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,KAAK,GAGuFN,QAAQ,CAACM,KAAK;AAEvH;;;;AAIA,OAAO,MAAMC,MAAM,GAIfP,QAAQ,CAACO,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,KAAK,GAG6ER,QAAQ,CAACQ,KAAK;AAE7G;;;;AAIA,OAAO,MAAMC,cAAc,GAEoET,QAAQ,CAACS,cAAc","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaSessionError.d.ts","sourceRoot":"","sources":["../src/FridaSessionError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAEjB,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,iBACD,CAAC;;;;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,uBAAwE;IAC3G,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CACnH,CAAC;IACE,IAAa,OAAO,WAEnB;CACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FridaSessionError.js","names":["PlatformError","Predicate","FridaSessionErrorTypeId","Symbol","for","isFridaSessionError","u","hasProperty","FridaSessionError","TypeIdError","message","when"],"sources":["../src/FridaSessionError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAMA,OAAO,KAAKA,aAAa,MAAM,wBAAwB;AACvD,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAE7C;;;;AAIA,OAAO,MAAMC,uBAAuB,gBAAkBC,MAAM,CAACC,GAAG,CAC5D,wCAAwC,CAChB;AAQ5B;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAIC,CAAU,IAC1CL,SAAS,CAACM,WAAW,CAACD,CAAC,EAAEJ,uBAAuB,CAAC;AAErD;;;;AAIA,OAAM,MAAOM,iBAAkB,sBAAQR,aAAa,CAACS,WAAW,CAACP,uBAAuB,EAAE,mBAAmB,CAG3G;EACE,IAAaQ,OAAOA,CAAA;IAChB,OAAO,qCAAqC,IAAI,CAACC,IAAI,EAAE;EAC3D","ignoreList":[]}
@@ -1,31 +1,34 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
1
4
  /**
2
5
  * Frida devices
3
6
  *
4
7
  * @since 1.0.0
5
8
  */
6
- export * as FridaDevice from "./FridaDevice.js";
9
+ export * as FridaDevice from "./FridaDevice.ts";
7
10
  /**
8
11
  * Frida device acquisition errors
9
12
  *
10
13
  * @since 1.0.0
11
14
  */
12
- export * as FridaDeviceAcquisitionError from "./FridaDeviceAcquisitionError.js";
15
+ export * as FridaDeviceAcquisitionError from "./FridaDeviceAcquisitionError.ts";
13
16
  /**
14
17
  * Frida scripts
15
18
  *
16
19
  * @since 1.0.0
17
20
  */
18
- export * as FridaScript from "./FridaScript.js";
21
+ export * as FridaScript from "./FridaScript.ts";
19
22
  /**
20
23
  * Frida sessions
21
24
  *
22
25
  * @since 1.0.0
23
26
  */
24
- export * as FridaSession from "./FridaSession.js";
27
+ export * as FridaSession from "./FridaSession.ts";
25
28
  /**
26
29
  * Frida session errors
27
30
  *
28
31
  * @since 1.0.0
29
32
  */
30
- export * as FridaSessionError from "./FridaSessionError.js";
33
+ export * as FridaSessionError from "./FridaSessionError.ts";
31
34
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;;GAIG;AACH,OAAO,KAAK,2BAA2B,MAAM,kCAAkC,CAAA;AAE/E;;;;GAIG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;;GAIG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;GAIG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
1
4
  /**
2
5
  * Frida devices
3
6
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["FridaDevice","FridaDeviceAcquisitionError","FridaScript","FridaSession","FridaSessionError"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;;;AAKA,OAAO,KAAKA,WAAW,MAAM,kBAAkB;AAE/C;;;;;AAKA,OAAO,KAAKC,2BAA2B,MAAM,kCAAkC;AAE/E;;;;;AAKA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;;;AAKA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;;;AAKA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/internal/device.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/internal/device.ts"],"names":[],"mappings":""}