ChiChou/grapefruit

iOS 14.2 Problem?

idb- opened this issue · 6 comments

idb- commented

Updated my iDevice to 14.2 and now GF is not operating as expected. Just received this;

Uncaught RPC error TypeError: cannot read property 'enumerateImports' of null
    at imps (src/modules/symbol.ts:57)
    at apply (native)
    at invoke (src/rpc.ts:19)
    at apply (native)
    at <anonymous> (frida/runtime/message-dispatcher.js:13)
    at c (frida/runtime/message-dispatcher.js:23)
method: symbol/imps args: [ 'CryptoKitPrivate' ]
Uncaught RPC error Error: 0x104e83158 is not executable
    at disasm (src/modules/disasm.ts:55)
    at apply (native)
    at invoke (src/rpc.ts:19)
    at apply (native)
    at <anonymous> (frida/runtime/message-dispatcher.js:13)
    at c (frida/runtime/message-dispatcher.js:23)
method: disasm args: [ '0x104e83158' ]
Uncaught RPC error Error: 0x104e836ec is not executable
    at disasm (src/modules/disasm.ts:55)
    at apply (native)
    at invoke (src/rpc.ts:19)
    at apply (native)
    at <anonymous> (frida/runtime/message-dispatcher.js:13)
    at c (frida/runtime/message-dispatcher.js:23)
method: disasm args: [ '0x104e836ec' ]

May be an issue with frida itself, but figured I would report here just in case.

Also saw this in the GF log;

Welcome to Grapefruit!
[11/19/2020, 4:28:28 PM] unexpected error: Error: TypeError: cannot read property 'enumerateImports' of null
[11/19/2020, 4:28:29 PM] unexpected error: Error: Error: 0x104e83158 is not executable
[11/19/2020, 4:28:29 PM] unexpected error: Error: Error: 0x104e836ec is not executable

This is a bug for restoring previous sessions. It happens when

  1. You've opened disassembler for AppA
  2. You detached the session
  3. Open another session for AppB
  4. Grapefruit tries to disassemble 0x104e83158, which is in the address space of AppA

Basically you can just ignore it and close the previous disassembler tab

idb- commented

This is a bug for restoring previous sessions. It happens when

1. You've opened disassembler for AppA

2. You detached the session

3. Open another session for AppB

4. Grapefruit tries to disassemble `0x104e83158`, which is in the address space of AppA

Basically you can just ignore it and close the previous disassembler tab

I'm also getting a ton of timeouts. I think this is more of a frida issue than a GF issue.

When?

idb- commented

When?

I believe it's due to a version discrepancy between the version installed on my device and the one GF uses.

is it solved now?

idb- commented

is it solved now?

Yes. Everything is working as expected now that I have upped the value for the timeout as per your suggestion on discord and also updating the frida dependency in GF to match the same version as on my device.