@efffrida/rpc 0.0.34 → 0.0.36
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/frida/FridaRpcClient.d.ts.map +1 -1
- package/dist/frida/FridaRpcClient.js +1 -1
- package/dist/frida/FridaRpcClient.js.map +1 -1
- package/dist/node/FridaRpcServer.js +2 -2
- package/dist/node/FridaRpcServer.js.map +1 -1
- package/package.json +6 -6
- package/src/frida/FridaRpcClient.ts +4 -2
- package/src/node/FridaRpcServer.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaRpcClient.d.ts","sourceRoot":"","sources":["../../src/frida/FridaRpcClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAC;AAIzE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,CAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7B,KAAK,EACL,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"FridaRpcClient.d.ts","sourceRoot":"","sources":["../../src/frida/FridaRpcClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAC;AAIzE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,CAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7B,KAAK,EACL,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAmE9D,CAAC;AAEN;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CACxC,SAAS,CAAC,QAAQ,EAClB,KAAK,EACL,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,CACI,CAAC"}
|
|
@@ -31,7 +31,7 @@ export const makeProtocolFrida = () => RpcClient.Protocol.make(Effect.fnUntraced
|
|
|
31
31
|
yield* Effect.addFinalizer(() => Effect.sync(() => delete rpc.exports[exportName]));
|
|
32
32
|
rpc.exports[exportName] = data => {
|
|
33
33
|
try {
|
|
34
|
-
const responses = parser.decode(data);
|
|
34
|
+
const responses = parser.decode(typeof data === "string" ? data : Uint8Array.from(Object.values(data)));
|
|
35
35
|
if (responses.length === 0) return Promise.resolve();
|
|
36
36
|
let i = 0;
|
|
37
37
|
return Effect.whileLoop({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaRpcClient.js","names":["Crypto","Effect","Function","Layer","RpcClient","RpcClientError","RpcSerialization","constants","makeProtocolFrida","Protocol","make","fnUntraced","writeResponse","clientIds","serialization","crypto","encoder","TextEncoder","parser","makeUnsafe","requestClientMap","Map","exportName","randomUUIDv4","pipe","orDie","connectionRequest","nodeRpcClientMakeConnectionRequestForServer","broadcast","response","forEach","id","discard","addFinalizer","sync","rpc","exports","data","responses","decode","length","Promise","resolve","i","whileLoop","step","constVoid","while","body","clientId","get","requestId","_tag","delete","runPromise","defect","error","reason","RpcClientDefect","message","cause","send","supportsAck","supportsTransferables","request","set","encoded","encode","undefined","void","transformed","buffer","layerProtocolFrida","effect"],"sources":["../../src/frida/FridaRpcClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;AAOA,OAAO,qBAAqB;AAK5B,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,cAAc,MAAM,oCAAoC;AACpE,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AAExE,OAAO,KAAKC,SAAS,MAAM,wBAAwB;AAEnD;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAK7BJ,SAAS,CAACK,QAAQ,CAACC,IAAI,CACnBT,MAAM,CAACU,UAAU,CAAC,WAAWC,aAAa,EAAEC,SAAS;EACjD,MAAMC,aAAa,GAAG,OAAOR,gBAAgB,CAACA,gBAAgB;EAC9D,MAAMS,MAAM,GAAG,OAAOf,MAAM,CAACA,MAAM;EAEnC,MAAMgB,OAAO,GAAG,IAAIC,WAAW,EAAE;EACjC,MAAMC,MAAM,GAAGJ,aAAa,CAACK,UAAU,EAAE;EACzC,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,EAAkB;EAElD,MAAMC,UAAU,GAAG,OAAOP,MAAM,CAACQ,YAAY,CAACC,IAAI,CAACvB,MAAM,CAACwB,KAAK,CAAC;EAChE,MAAMC,iBAAiB,GAAGnB,SAAS,CAACoB,2CAA2C,CAACL,UAAU,CAAC;EAE3F,MAAMM,SAAS,GAAIC,QAAsC,IACrD5B,MAAM,CAAC6B,OAAO,CAACjB,SAAS,EAAGkB,EAAE,IAAKnB,aAAa,CAACmB,EAAE,EAAEF,QAAQ,CAAC,EAAE;IAAEG,OAAO,EAAE;EAAI,CAAE,CAAC;EAErF,OAAO/B,MAAM,CAACgC,YAAY,CAAC,MAAMhC,MAAM,CAACiC,IAAI,CAAC,MAAM,OAAOC,GAAG,CAACC,OAAO,CAACd,UAAU,CAAC,CAAC,CAAC;EACnFa,GAAG,CAACC,OAAO,CAACd,UAAU,CAAC,GAAIe,
|
|
1
|
+
{"version":3,"file":"FridaRpcClient.js","names":["Crypto","Effect","Function","Layer","RpcClient","RpcClientError","RpcSerialization","constants","makeProtocolFrida","Protocol","make","fnUntraced","writeResponse","clientIds","serialization","crypto","encoder","TextEncoder","parser","makeUnsafe","requestClientMap","Map","exportName","randomUUIDv4","pipe","orDie","connectionRequest","nodeRpcClientMakeConnectionRequestForServer","broadcast","response","forEach","id","discard","addFinalizer","sync","rpc","exports","data","responses","decode","Uint8Array","from","Object","values","length","Promise","resolve","i","whileLoop","step","constVoid","while","body","clientId","get","requestId","_tag","delete","runPromise","defect","error","reason","RpcClientDefect","message","cause","send","supportsAck","supportsTransferables","request","set","encoded","encode","undefined","void","transformed","buffer","layerProtocolFrida","effect"],"sources":["../../src/frida/FridaRpcClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -85,7 +85,7 @@ export const makeProtocolFrida = () => Effect.gen(function* () {
|
|
|
85
85
|
if (newClientPredicate(message)) return onClientConnect(message);
|
|
86
86
|
if (clientMessagePredicate(message) && Option.isSome(data)) return onMessage(message, data.value);
|
|
87
87
|
return Effect.void;
|
|
88
|
-
}).pipe(Effect.forkScoped);
|
|
88
|
+
}).pipe(Effect.tapError(Effect.logError), Effect.forkScoped);
|
|
89
89
|
return yield* RpcServer.Protocol.make(_writeRequest => {
|
|
90
90
|
writeRequest = _writeRequest;
|
|
91
91
|
return Effect.succeed({
|
|
@@ -93,7 +93,7 @@ export const makeProtocolFrida = () => Effect.gen(function* () {
|
|
|
93
93
|
send: (clientId, response) => {
|
|
94
94
|
const client = clients.get(clientId);
|
|
95
95
|
if (!client) return Effect.void;
|
|
96
|
-
return
|
|
96
|
+
return client.write(response);
|
|
97
97
|
},
|
|
98
98
|
end(_clientId) {
|
|
99
99
|
return Effect.void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaRpcServer.js","names":["Effect","Function","Layer","Option","Predicate","Queue","Stream","String","RpcMessage","RpcSerialization","RpcServer","FridaScript","constants","makeProtocolFrida","gen","serialization","script","disconnects","unbounded","parser","makeUnsafe","encoder","TextEncoder","clientId","clientIds","Set","clientIdsByExports","Map","clients","stripPrefix","replace","nodeRpcClientConnectionRequestMessagePrefix","newClientPredicate","compose","isString","startsWith","clientMessagePredicate","message","has","writeRequest","makeRawWriter","exportName","data","transformed","encode","callExport","pipe","orDie","onClientConnect","writeRaw","write","response","encoded","undefined","void","cause","ResponseDefectEncoded","id","set","add","onMessage","get","decoded","decode","length","i","whileLoop","while","step","constVoid","body","runForEach","stream","isSome","value","forkScoped","Protocol","make","_writeRequest","succeed","send","client","
|
|
1
|
+
{"version":3,"file":"FridaRpcServer.js","names":["Effect","Function","Layer","Option","Predicate","Queue","Stream","String","RpcMessage","RpcSerialization","RpcServer","FridaScript","constants","makeProtocolFrida","gen","serialization","script","disconnects","unbounded","parser","makeUnsafe","encoder","TextEncoder","clientId","clientIds","Set","clientIdsByExports","Map","clients","stripPrefix","replace","nodeRpcClientConnectionRequestMessagePrefix","newClientPredicate","compose","isString","startsWith","clientMessagePredicate","message","has","writeRequest","makeRawWriter","exportName","data","transformed","encode","callExport","pipe","orDie","onClientConnect","writeRaw","write","response","encoded","undefined","void","cause","ResponseDefectEncoded","id","set","add","onMessage","get","decoded","decode","length","i","whileLoop","while","step","constVoid","body","runForEach","stream","isSome","value","tapError","logError","forkScoped","Protocol","make","_writeRequest","succeed","send","client","end","_clientId","sync","initialMessage","succeedNone","supportsAck","supportsTransferables","supportsSpanPropagation","layerProtocolFrida","effect"],"sources":["../../src/node/FridaRpcServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@efffrida/rpc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"description": "effect rpc-frida",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"effect-ts",
|
|
@@ -38,17 +38,17 @@
|
|
|
38
38
|
"provenance": true
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@efffrida/frida-tools": "0.0.
|
|
42
|
-
"@efffrida/platform": "0.0.
|
|
43
|
-
"@efffrida/polyfills": "0.0.
|
|
41
|
+
"@efffrida/frida-tools": "0.0.33",
|
|
42
|
+
"@efffrida/platform": "0.0.25",
|
|
43
|
+
"@efffrida/polyfills": "0.0.11"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@effect/platform-node": "4.0.0-beta.69",
|
|
47
47
|
"@effect/vitest": "4.0.0-beta.69",
|
|
48
|
-
"@types/frida-gum": "19.
|
|
48
|
+
"@types/frida-gum": "19.4.0",
|
|
49
49
|
"@types/node": "25.9.1",
|
|
50
50
|
"effect": "4.0.0-beta.69",
|
|
51
|
-
"frida": "17.
|
|
51
|
+
"frida": "17.10.1",
|
|
52
52
|
"ioredis": "5.11.0",
|
|
53
53
|
"vite": "8.0.14",
|
|
54
54
|
"vitest": "4.1.7"
|
|
@@ -45,9 +45,11 @@ export const makeProtocolFrida = (): Effect.Effect<
|
|
|
45
45
|
Effect.forEach(clientIds, (id) => writeResponse(id, response), { discard: true });
|
|
46
46
|
|
|
47
47
|
yield* Effect.addFinalizer(() => Effect.sync(() => delete rpc.exports[exportName]));
|
|
48
|
-
rpc.exports[exportName] = (data: string |
|
|
48
|
+
rpc.exports[exportName] = (data: string | Record<string, number>): Promise<void> => {
|
|
49
49
|
try {
|
|
50
|
-
const responses = parser.decode(
|
|
50
|
+
const responses = parser.decode(
|
|
51
|
+
typeof data === "string" ? data : Uint8Array.from(Object.values(data))
|
|
52
|
+
) as Array<RpcMessage.FromServerEncoded>;
|
|
51
53
|
if (responses.length === 0) return Promise.resolve();
|
|
52
54
|
let i = 0;
|
|
53
55
|
return Effect.whileLoop({
|
|
@@ -46,7 +46,7 @@ export const makeProtocolFrida = (): Effect.Effect<
|
|
|
46
46
|
const clients = new Map<
|
|
47
47
|
number,
|
|
48
48
|
{
|
|
49
|
-
readonly write: (bytes: RpcMessage.FromServerEncoded) => void
|
|
49
|
+
readonly write: (bytes: RpcMessage.FromServerEncoded) => Effect.Effect<void>;
|
|
50
50
|
}
|
|
51
51
|
>();
|
|
52
52
|
|
|
@@ -112,7 +112,7 @@ export const makeProtocolFrida = (): Effect.Effect<
|
|
|
112
112
|
if (newClientPredicate(message)) return onClientConnect(message);
|
|
113
113
|
if (clientMessagePredicate(message) && Option.isSome(data)) return onMessage(message, data.value);
|
|
114
114
|
return Effect.void;
|
|
115
|
-
}).pipe(Effect.forkScoped);
|
|
115
|
+
}).pipe(Effect.tapError(Effect.logError), Effect.forkScoped);
|
|
116
116
|
|
|
117
117
|
return yield* RpcServer.Protocol.make((_writeRequest) => {
|
|
118
118
|
writeRequest = _writeRequest;
|
|
@@ -121,7 +121,7 @@ export const makeProtocolFrida = (): Effect.Effect<
|
|
|
121
121
|
send: (clientId, response) => {
|
|
122
122
|
const client = clients.get(clientId);
|
|
123
123
|
if (!client) return Effect.void;
|
|
124
|
-
return
|
|
124
|
+
return client.write(response);
|
|
125
125
|
},
|
|
126
126
|
end(_clientId) {
|
|
127
127
|
return Effect.void;
|