Git Product home page Git Product logo

grapefruit's Introduction

Hi there 👋

github stats

grapefruit's People

Contributors

chichou avatar dependabot[bot] avatar everettjf avatar hamz-a avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grapefruit's Issues

Error installing Grapefruit

Hello @ChiChou

Not sure what to make of this error log. All running fine until line 278

278 verbose stack Error: command failed
278 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:53:27)
278 verbose stack     at ChildProcess.emit (node:events:519:28)
278 verbose stack     at maybeClose (node:internal/child_process:1105:16)
278 verbose stack     at Socket.<anonymous> (node:internal/child_process:457:11)
278 verbose stack     at Socket.emit (node:events:519:28)
278 verbose stack     at Pipe.<anonymous> (node:net:337:12)
279 verbose pkgid [email protected]
280 verbose cwd /Users/xxx/local/apps/frida/Grapefruit
281 verbose Darwin 21.6.0
282 verbose node v21.4.0
283 verbose npm  v10.2.4
284 error code 1
285 error path /Users/xxx/local/apps/frida/Grapefruit/node_modules/frida
286 error command failed
287 error command sh -c prebuild-install || node-gyp rebuild
288 error prebuild-install warn install No prebuilt binaries found (target=21.4.0 runtime=node arch=x64 libc= platform=darwin)
288 error gyp info it worked if it ends with ok

Any ideas where to start debugging would be helpful.

进程

大佬什么时候支持下进程呢

"Connecting" forever

UPDATE: Aftrer reboot Mac and reconnect iPhone, the issue is gone, please close, thanks.

I have lastest frida 15.1.18 on iphone SE (iOS version 13.7) and Mac OS.

After install grape fruit with npm, I'm able to find iPhone from 127.0.0.1:31337 and connect.

But when I try to connect to my app, it won't connect, just saying Connecting. Thanks.

Proxy error: Could not proxy request (HPE_INVALID_CONSTANT).

Hi Team,

I am getting the below shown error while trying to connect my device.

Proxy error: Could not proxy request /api/devices from localhost:8080 to http://localhost:31337/ (HPE_INVALID_CONSTANT).

Note: Jailbroken iphone connected via USB.
The grapefruit is installed and is up and running on the below IPs;

App running at:

Can you help me with some hints on how to proxy my localhost:8080 (my mac machine) to http://localhost:31337/ (jailbroken iphone)?

Problem after frida update

After updating frida to 14.0.1 Grapefruit doesn't seem to work. Server runs, but when trying to access the sandbox, it doesn't return anything and keeps loading. Am I doing anything wrong here? Is there a work around?

Download file failed

Describe the bug
Download any file in Folder Tree
image
Then send a request to server
image
server loggs show when click download , script destoryed , so download file failed
image

How to use hook

I found some hook code in your project , but i can't see any reference
image
so this hooks how to use ? and why retain in your project .

Hi ChiChou,

Hi ChiChou,

The issue got resolved, it was some nodejs error. It works fine.
Thank you :)

One query: Is it always better to run the production build for testing? or is the development build have any restrictions in place at present?

Originally posted by @hehacks in #5 (comment)

RPC error: unable to find method invoke

Running the latest master version on node v12.18.2 with frida iOS 14.0.7.

Web UI doesn't show details but shows Uncaught RPC error [Error: unable to find method 'invoke'] { name: undefined } in the console for each action.

npm run dev fails using Node 17+

Cloning the grapefruit GIT repo following https://github.com/ChiChou/grapefruit/wiki/Development-Setup starting the development server fails:

Grapefruit-git\gui\src\main.tsError: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    ...

It seems like the used webpack version and it's configuration is not compatible with Node 17+.

I tried to change webpack configuration to output.hashFunction = 'sha256' as mentioned in https://stackoverflow.com/a/73027407/150978, however I am not familiar with webpack in TypeScript projects so I don't know where to put that configuration.

Warning - local regulation restrictions

Hello,
I am currently having this issue:
When spawning on my Unc0ver jailbroken iPhone 6 the app 抖音 (douyin, the Chinese TikTok), here's what happens:

Capture d’écran 2022-12-03 à 23 16 03

Is it coming from the app, which is known for its crazy security measures, or from igf ? Thanks

Installation error

I cannot install grapefruit, always getting an error in npm. Any idea what might be wrong?

❯ npm install                                                                                                                                                                                                                              ─╯

> [email protected] postinstall /Users/sven/PentestTools/iOS/Grapefruit
> node scripts/install.js

audited 1490 packages in 7.568s

59 packages are looking for funding
  run `npm fund` for details

found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> [email protected] install /Users/sven/PentestTools/iOS/Grapefruit/server/node_modules/frida
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=13.7.0 runtime=node arch=x64 libc= platform=darwin)
gyp: binding.gyp not found (cwd: /Users/sven/PentestTools/iOS/Grapefruit/server/node_modules/frida) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 19.5.0
gyp ERR! command "/usr/local/Cellar/node/13.7.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/sven/PentestTools/iOS/Grapefruit/server/node_modules/frida
gyp ERR! node -v v13.7.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN [email protected] No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/sven/.npm/_logs/2020-08-23T05_57_28_685Z-debug.log
child_process.js:650
    throw err;
    ^

Error: Command failed: npm i
    at checkExecSyncError (child_process.js:611:11)
    at Object.execSync (child_process.js:647:15)
    at Object.<anonymous> (/Users/sven/PentestTools/iOS/Grapefruit/scripts/install.js:7:6)
    at Module._compile (internal/modules/cjs/loader.js:1151:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10)
    at Module.load (internal/modules/cjs/loader.js:1000:32)
    at Function.Module._load (internal/modules/cjs/loader.js:899:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 73706,
  stdout: null,
  stderr: null
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/sven/.npm/_logs/2020-08-23T05_57_28_771Z-debug.log

image

Error while installing npm in my app code.

Hello I am getting these errors while installing node modules in my app code. Can you please help me to resolve these errors?

npm ERR! code 1
npm ERR! path /Users/HALCYON007/Projects/Customer App/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | x64
npm ERR! gyp info find Python using Python version 3.11.0 found at "/Library/Frameworks/Python.framework/Versions/3.11/bin/python3"
npm ERR! (node:18682) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use node --trace-deprecation ... to show where the warning was created)
npm ERR! gyp info spawn /Library/Frameworks/Python.framework/Versions/3.11/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/HALCYON007/Projects/Customer App/node_modules/sharp/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/HALCYON007/Library/Caches/node-gyp/16.10.0/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/HALCYON007/Library/Caches/node-gyp/16.10.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/HALCYON007/Library/Caches/node-gyp/16.10.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/HALCYON007/Projects/Customer App/node_modules/sharp',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! Traceback (most recent call last):
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 51, in
npm ERR! sys.exit(gyp.script_main())
npm ERR! ^^^^^^^^^^^^^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 670, in script_main
npm ERR! return main(sys.argv[1:])
npm ERR! ^^^^^^^^^^^^^^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 662, in main
npm ERR! return gyp_main(args)
npm ERR! ^^^^^^^^^^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 629, in gyp_main
npm ERR! [generator, flat_list, targets, data] = Load(
npm ERR! ^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 150, in Load
npm ERR! result = gyp.input.Load(
npm ERR! ^^^^^^^^^^^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 3021, in Load
npm ERR! LoadTargetBuildFile(
npm ERR! ^^^^^^^^^^^^^^^^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 411, in LoadTargetBuildFile
npm ERR! build_file_data = LoadOneBuildFile(
npm ERR! ^^^^^^^^^^^^^^^^^
npm ERR! File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 239, in LoadOneBuildFile
npm ERR! build_file_contents = open(build_file_path, "rU").read()
npm ERR! ^^^^^^^^^^^^^^^^^^^^^^^^^^^
npm ERR! ValueError: invalid mode: 'rU' while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 21.4.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /Users/HALCYON007/Projects/Customer App/node_modules/sharp
npm ERR! gyp ERR! node -v v16.10.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/HALCYON007/.npm/_logs/2022-06-13T06_26_46_288Z-debug.log

IGF stuck at device fetch information page

Hi,

I am using Iphone SE 13.3 jailbroken and installed with frida 15.0.2 (installed from cydia repo).
I tried to install igf using npm install -g igf and it was installed without errors.
now it stuck at the page described above (ss attached)

any help?
10x

image

Syntaxe error on the resolver

const matches = new ApiResolver(type).enumerateMatches(query)

There's a syntaxe error when trying to enumerate modules and classes.

Uncaught RPC error Error: invalid query; format is: exports:!open, exports:libc.so!* or imports:notepad.exe!*
at O (frida/runtime/core.js:567)
at value (frida/runtime/core.js:549)
at resolve (src/modules/symbol.ts:66)
at invoke (src/rpc.ts:17)
at apply (native)
at (frida/runtime/message-dispatcher.js:13)
at c (frida/runtime/message-dispatcher.js:23)

According to Frida's documentation the ApiResolver.enumerateModule method cannot take a simple string as an argument.

Maybe a switch case on the type of resolver could resolve the issue.

export function resolve(type: 'objc' | 'module', query: string) {
  var matches;
  switch(type) {
  	case 'objc': 
  		matches = new ApiResolver(type).enumerateMatches("*[*" + query.toString() + "* *]")
  		break;
  	case 'module': 
  		matches = new ApiResolver(type).enumerateMatches("imports:*" + query.toString() + "!*") 
  		break;
  	default:
  		matches = new ApiResolver(type).enumerateMatches("*[*" + query.toString() + "* *]")
  		break;
  }
  return type === 'module' ? matches.map(item => {
    const [module, symbol] = item.name.split('!', 2)
    return Object.assign({}, item, { module, symbol })
  }) : matches
}

Startup Script

Hello, and thanks for this great project, the interface is really snappy and with lots of functionality!

So, I am currently dealing with an app that has jailbreak detection, and I'd like to load a script as soon as the app starts. Is there a way to do so in Grapefruit? If so, I'm sorry for not finding it!

Cannot open application in Grapefruit

Using igf from npm. Upon start Grapefruit sees iphone, successfully lists installed apps, but when I select the application and try to open it in Grapefruit - it doesn't load.

Terminal output:
` Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:209:20)

(node:51662) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/igf/agent/dist.js'
(Use node --trace-warnings ... to show where the warning was created)
(node:51662) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:51662) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.`

I checked, dist.js file is missing on the filesystem and it's not present in the repo.

Vue errors encountered - problem?

I'm on macOS 10.15.4, Node v12.16.3.

I tried npm i, followed by npm start, as instructed.

Although the webapp is able to start, the following errors are displayed - is it a problem? is there a patch/fix?

ERROR in /gui/src/views/tabs/UnknownPreview.vue(190,20):
190:20 Parameter 'valueIndex' implicitly has an 'any' type.
    188 |   }
    189 |
  > 190 |   handleValueClick(valueIndex, e) {
        |                    ^
    191 |     this.goToChar(valueIndex)
    192 |   }
    193 |

ERROR in /gui/src/views/tabs/UnknownPreview.vue(190,32):
190:32 Parameter 'e' implicitly has an 'any' type.
    188 |   }
    189 |
  > 190 |   handleValueClick(valueIndex, e) {
        |                                ^
    191 |     this.goToChar(valueIndex)
    192 |   }
    193 |

ERROR in /gui/src/views/tabs/UnknownPreview.vue(194,19):
194:19 Parameter 'lineIndex' implicitly has an 'any' type.
    192 |   }
    193 |
  > 194 |   handleLineClick(lineIndex, e) {
        |                   ^
    195 |     this.goToLineRelative(lineIndex)
    196 |   }
    197 |

ERROR in /gui/src/views/tabs/UnknownPreview.vue(194,30):
194:30 Parameter 'e' implicitly has an 'any' type.
    192 |   }
    193 |
  > 194 |   handleLineClick(lineIndex, e) {
        |                              ^
    195 |     this.goToLineRelative(lineIndex)
    196 |   }
    197 |

ERROR in /gui/src/views/tabs/UnknownPreview.vue(243,5):
243:5 No overload matches this call.
  Overload 1 of 2, '(type: "fullscreenchange" | "fullscreenerror", listener: (this: Element, ev: Event) => any, options?: boolean | AddEventLis
tenerOptions | undefined): void', gave the following error.
    Argument of type '"wheel"' is not assignable to parameter of type '"fullscreenchange" | "fullscreenerror"'.
  Overload 2 of 2, '(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void
', gave the following error.
    Argument of type '(e: WheelEvent) => void' is not assignable to parameter of type 'EventListenerOrEventListenerObject'.
      Type '(e: WheelEvent) => void' is not assignable to type 'EventListener'.
        Types of parameters 'e' and 'evt' are incompatible.
          Type 'Event' is missing the following properties from type 'WheelEvent': deltaMode, deltaX, deltaY, deltaZ, and 27 more.
    241 |       })
    242 |
  > 243 |     this.$el.addEventListener('wheel', this.handleWheel)
        |     ^
    244 |   }
    245 |
    246 |   beforeDestroy() {

ERROR in /gui/src/views/tabs/UnknownPreview.vue(247,5):
247:5 No overload matches this call.
  Overload 1 of 2, '(type: "fullscreenchange" | "fullscreenerror", listener: (this: Element, ev: Event) => any, options?: boolean | EventListenerOptions | undefined): void', gave the following error.
    Argument of type '"wheel"' is not assignable to parameter of type '"fullscreenchange" | "fullscreenerror"'.
  Overload 2 of 2, '(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void', gave the following error.
    Argument of type '(e: WheelEvent) => void' is not assignable to parameter of type 'EventListenerOrEventListenerObject'.
      Type '(e: WheelEvent) => void' is not assignable to type 'EventListener'.
    245 |
    246 |   beforeDestroy() {
  > 247 |     this.$el.removeEventListener('wheel', this.handleWheel)
        |     ^
    248 |   }
    249 |
    250 |   async load() {

Server crashes on node.js > v14

Using iOS with frida 14.08 , selecting an app in the web application triggers a proxy error:
Running Ubuntu 18.04 with nodejs 14

Proxy error: Could not proxy request /socket.io/?EIO=3&transport=websocket from 192.168.1.49:8081 to http://localhost:31337/.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

Proxy error: Could not proxy request /socket.io/?EIO=3&transport=websocket from 192.168.1.49:8081 to http://localhost:31337/.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

Proxy error: Could not proxy request /api/remote/add from 192.168.1.49:8081 to http://localhost:31337/.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

Please advise.

linux-arm's frida-server doesn't work when attaching to a process

I build a linux-arm version frida-server for myself, and the version is 14.2.18.62.g92c1e68. But when I try to attach to a process, the frida-server stuck at the 'pool-frida' thread and nothing continue. And a few seconds(like 10s) later, the thread exited. But still nothing happens both in frida-server and frida tools.

here's the info:
(gdb) c
Continuing.
[New LWP 25810] // when I attach to a process, this thread created.
^C
Thread 1 "frida-server" received signal SIGINT, Interrupt.
0xb6e030c8 in poll () from /lib/libc.so.6
(gdb) i thread
Id Target Id Frame

  • 1 LWP 3843 "frida-server" 0xb6e030c8 in poll () from /lib/libc.so.6
    2 LWP 3844 "gmain" 0xb6e030c8 in poll () from /lib/libc.so.6
    3 LWP 3898 "gdbus" 0xb6e030c8 in poll () from /lib/libc.so.6
    4 LWP 25810 "pool-frida" 0xb6e09790 in syscall () from /lib/libc.so.6
    (gdb) thread 4
    [Switching to thread 4 (LWP 25810)]
    #0 0xb6e09790 in syscall () from /lib/libc.so.6
    (gdb) i r
    r0 0x17318f4 24320244
    r1 0x80 128
    r2 0x2 2
    r3 0xb4ffedbc 3036671420
    r4 0xb4ffedf4 3036671476
    r5 0x3a98 15000
    r6 0xec963 969059
    r7 0xf0 240
    r8 0x1347c90 20216976
    r9 0x17318e8 24320232
    r10 0x17318f0 24320240
    r11 0x13526a0 20260512
    r12 0xb4ffeda8 3036671400
    sp 0xb4ffed94 0xb4ffed94
    lr 0x10803dc 17302492
    pc 0xb6e09790 0xb6e09790 <syscall+32>
    cpsr 0x60010010 1610678288
    (gdb) c
    Continuing.
    [LWP 25810 exited]

// then nothing happens both the frida-server and the frida-tools . and the frida-tool shows I am still ataching to the process.

Frida script crash

Describe the bug

Clicking on Classdump icon > App throws this error:

Uncaught RPC error TypeError: not a function
    at normalize (src/modules/classdump.ts:23)
    at ownClasses (src/modules/classdump.ts:27)
    at list (src/modules/classdump.ts:42)
    at search (src/modules/classdump.ts:49)
    at invoke (src/rpc.ts:17)
    at apply (native)
    at <anonymous> (frida/runtime/message-dispatcher.js:13)
    at c (frida/runtime/message-dispatcher.js:23)
method: classdump/search args: [ '__app__', '' ]

Desktop (please complete the following information):

  • OS: macOS 12.4 (M1)
  • Browser: Chrome

Phone (please complete the following information):

  • Device: iPhone 7
  • OS: iOS 14.4.2
  • Browser: safari
  • Jailbreak Name: Chekra1n
  • Frida Version: 16.0.1

Additional context

Error during the npm installation process

Hello, I'm getting the next error message when I try to install IGF on Mac Big Sur. Could you please help to resolve this issue?

> sudo npm install -g igf
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm ERR! code 1
npm ERR! path /usr/local/lib/node_modules/igf/node_modules/frida
npm ERR! command failed
npm ERR! command sh -c prebuild-install || node-gyp rebuild
npm ERR! prebuild-install WARN install No prebuilt binaries found (target=16.2.0 runtime=node arch=x64 libc= platform=darwin)
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | x64
npm ERR! gyp info find Python using Python version 3.9.5 found at "/usr/local/opt/[email protected]/bin/python3.9"
npm ERR! (node:42102) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)
npm ERR! gyp info spawn /usr/local/opt/[email protected]/bin/python3.9
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/igf/node_modules/frida/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/dd/Library/Caches/node-gyp/16.2.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/dd/Library/Caches/node-gyp/16.2.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/dd/Library/Caches/node-gyp/16.2.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/usr/local/lib/node_modules/igf/node_modules/frida',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp: binding.gyp not found (cwd: /usr/local/lib/node_modules/igf/node_modules/frida) while trying to load binding.gyp
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:365:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 20.4.0
npm ERR! gyp ERR! command "/usr/local/Cellar/node/16.2.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /usr/local/lib/node_modules/igf/node_modules/frida
npm ERR! gyp ERR! node -v v16.2.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/dd/.npm/_logs/2021-05-24T12_09_02_390Z-debug.log

iOS 14.2 Problem?

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

Install Error

~ ❯ npm install -g igf                                                                                                                                                                                                                                                                                            at 20:25:37
npm ERR! code 1
npm ERR! path /usr/local/lib/node_modules/igf/node_modules/frida
npm ERR! command failed
npm ERR! command sh -c prebuild-install || node-gyp rebuild
npm ERR! prebuild-install WARN install unable to verify the first certificate
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | x64
npm ERR! gyp info find Python using Python version 3.9.8 found at "/usr/local/opt/[email protected]/bin/python3.9"
npm ERR! gyp info spawn /usr/local/opt/[email protected]/bin/python3.9
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/igf/node_modules/frida/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/admin/Library/Caches/node-gyp/16.4.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/admin/Library/Caches/node-gyp/16.4.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/admin/Library/Caches/node-gyp/16.4.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/usr/local/lib/node_modules/igf/node_modules/frida',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp: binding.gyp not found (cwd: /usr/local/lib/node_modules/igf/node_modules/frida) while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:259:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:394:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 20.6.0
npm ERR! gyp ERR! command "/usr/local/Cellar/node/16.4.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /usr/local/lib/node_modules/igf/node_modules/frida
npm ERR! gyp ERR! node -v v16.4.0
npm ERR! gyp ERR! node-gyp -v v8.4.1
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/admin/.npm/_logs/2022-01-13T12_25_40_727Z-debug-0.log

2022-01-13T12_25_40_727Z-debug-0.log

Installation fails with npm

➜  node_modules git:(stable) npm install -g igf
npm ERR! code 1
npm ERR! path /opt/homebrew/lib/node_modules/igf/node_modules/frida
npm ERR! command failed
npm ERR! command sh -c prebuild-install || node-gyp rebuild
npm ERR! prebuild-install warn install No prebuilt binaries found (target=20.0.0 runtime=node arch=arm64 libc= platform=darwin)
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | arm64
npm ERR! gyp info find Python using Python version 3.11.3 found at "/opt/homebrew/opt/[email protected]/bin/python3.11"
npm ERR! gyp info spawn /opt/homebrew/opt/[email protected]/bin/python3.11
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/igf/node_modules/frida/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/npu/Library/Caches/node-gyp/20.0.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/npu/Library/Caches/node-gyp/20.0.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/npu/Library/Caches/node-gyp/20.0.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/opt/homebrew/lib/node_modules/igf/node_modules/frida',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp: binding.gyp not found (cwd: /opt/homebrew/lib/node_modules/igf/node_modules/frida) while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:325:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:511:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm ERR! gyp ERR! System Darwin 22.4.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/20.0.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /opt/homebrew/lib/node_modules/igf/node_modules/frida
npm ERR! gyp ERR! node -v v20.0.0
npm ERR! gyp ERR! node-gyp -v v9.3.1
npm ERR! gyp ERR! not ok

Uncaught RPC error [Error: unable to find method 'invoke'] { name: undefined }

Hi, after using Passionfruit for a while I wanted to give Grapefruit a try. After installing and choosing an app I get the following error in the GUI (it doesn't matter which app I choose, this error is always shown):
image

The corresponding terminal output:
image

Environment:
Node version: v14.15.0
Frida version: 14.0.1
iOS Frida version: 14.0.5

Any idea why this could be happening?

Uncaught RPC error [Error: unable to find method 'invoke']

Describe the bug

Uncaught RPC error [Error: unable to find method 'invoke'] { name: undefined }
method: info/info args: []
Uncaught RPC error [Error: unable to find method 'invoke'] { name: undefined }
method: cookies/list args: []
Uncaught RPC error [Error: unable to find method 'invoke'] { name: undefined }
method: scanner/privacy args: []
Uncaught RPC error [Error: unable to find method 'invoke'] { name: undefined }
method: checksec args: []

To Reproduce
Steps to reproduce the behavior:

  1. Connect my physical rooted Pixel to my computer.
  2. Launch igf and then click on my Pixel.
  3. From the list of apps, click any of them

Desktop (please complete the following information):

  • OS: MacOS 13.3.1 (a)
  • Browser: Chrome
  • NODEJS: V19.9.0;
  • NODE-FRIDA: 16.1.2

Phone (please complete the following information):

  • Device: Pixel 6a
  • OS: TQ3A.230705.001
  • Rooted
  • Frida Version: bluejay:/data/local/tmp # ./frida-server-16.1.2-android-arm64

Additional context

  • I ran in a virtual node environment because my system already had a Node@20 installed. Frida otherwise works.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.