chaitin / passionfruit

[WIP] Crappy iOS app analyzer
MIT License
1.66k stars 228 forks source link

install error #19

Closed ian902125 closed 6 years ago

ian902125 commented 6 years ago

Hello

I use npm to install passionfruit but when I run passionfruit, it didn`t work and have so error(as follows)

ian-Mac:/ root# npm install -g passionfruit npm WARN deprecated babel-preset-es2015@6.24.1: πŸ™Œ Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! /usr/local/bin/passionfruit -> /usr/local/lib/node_modules/passionfruit/bin/cli.js

Error: Could not locate the bindings file. Tried: β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/build/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/build/Debug/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/build/Release/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/out/Debug/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/Debug/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/out/Release/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/Release/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/build/default/frida_binding.node β†’ /usr/local/lib/node_modules/passionfruit/node_modules/frida/compiled/9.3.0/darwin/x64/frida_binding.node at bindings (/usr/local/lib/node_modules/passionfruit/node_modules/bindings/bindings.js:93:9) at Object. (/usr/local/lib/node_modules/passionfruit/node_modules/frida/lib/frida.js:56:34) at Module._compile (module.js:660:30) at Object.Module._extensions..js (module.js:671:10) at Module.load (module.js:573:32) at tryModuleLoad (module.js:513:12) at Function.Module._load (module.js:505:3) at Module.require (module.js:604:17) at require (internal/module.js:11:18) at Object. (/usr/local/lib/node_modules/passionfruit/app.js:7:15)

how can I fix this situation ? and what information I can give to help you ?

I have node v9.3.0 python 3.6.4

ChiChou commented 6 years ago

Looks like frida dependency is broken, could you try npm uninstall -g passionfruit && npm install -g passionfruit to reinstall again?

ian902125 commented 6 years ago

Hi I just try reinstall again but it have same error

ChiChou commented 6 years ago

It's indeed an npm failure. I noticed that you are installing in root, which is not recommended

ian902125 commented 6 years ago

well I install passionfruit in Desktop and run passionfruit ,it work I can listen 31337 port but it still have some problem browser go to localhost:31337 screen will have nothing and terminal will show some error I will show the message later

ian902125 commented 6 years ago

thank

ian902125 commented 6 years ago

OMG I try to rebuild the environment from yesterday but it still have error in run passionfruit

ian-Mac:Desktop root# passionfruit /Users/ha/Desktop/passionfruit/node_modules/bindings/bindings.js:96 throw err ^

Error: Could not locate the bindings file. Tried: β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/build/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/build/Debug/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/build/Release/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/out/Debug/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/Debug/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/out/Release/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/Release/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/build/default/frida_binding.node β†’ /Users/ha/Desktop/passionfruit/node_modules/frida/compiled/9.3.0/darwin/x64/frida_binding.node at bindings (/Users/ha/Desktop/passionfruit/node_modules/bindings/bindings.js:93:9) at Object. (/Users/ha/Desktop/passionfruit/node_modules/frida/lib/frida.js:56:34) at Module._compile (module.js:660:30) at Object.Module._extensions..js (module.js:671:10) at Module.load (module.js:573:32) at tryModuleLoad (module.js:513:12) at Function.Module._load (module.js:505:3) at Module.require (module.js:604:17) at require (internal/module.js:11:18) at Object. (/Users/ha/Desktop/passionfruit/app.js:7:15)

I don`t know how i can pass that yesterday

I think i need some help

ChiChou commented 6 years ago

I mean better not to use root user. This is a common problem when node version and does not match installed native module. Looks like you are on a Mac, try reinstall the node.js with brew install node?

ChiChou commented 6 years ago

https://github.com/dapphub/dapple/issues/125

The npm rebuild actually has the same effect when you delete node_modules and reinstall the dependencies.

If you are from mainland China, sometimes npm install may failed. Use a reliable proxy will help.

ian902125 commented 6 years ago

I rebuild the error

and these are screen will have nothing

terminal will show some error

listening on http://localhost:31337 <-- GET / --> GET / 200 8ms 219b

InternalServerError: ENOENT: no such file or directory, stat 'C:\Users\Ian\passionfruit\gui\static\build.js' at Object.throw (C:\Users\Ian\passionfruit\node_modules\koa\lib\context.js:93:11) at app.use.use.use (C:\Users\Ian\passionfruit\app.js:78:18) at

<-- GET /favicon.ico --> GET /favicon.ico 200 2ms 219b

and I just dont know how I fix the problem so... sorry i didnt help you

ian902125 commented 6 years ago

Update

I forget npm run build

sorry

ian902125 commented 6 years ago

npm run build npm ERR! missing script: build

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Ian\AppData\Roaming\npm-cache_logs\2018-03-13T08_06_53_276Z-debug.log

and the log file

0 info it worked if it ends with ok 1 verbose cli [ 'C:\Program Files\nodejs\node.exe', 1 verbose cli 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js', 1 verbose cli 'run', 1 verbose cli 'build' ] 2 info using npm@5.6.0 3 info using node@v8.10.0 4 verbose stack Error: missing script: build 4 verbose stack at run (C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:151:19) 4 verbose stack at C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:61:5 4 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:115:5 4 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:402:5 4 verbose stack at handleExists (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:366:20) 4 verbose stack at FSReqWrap.cb [as oncomplete] (fs.js:312:19) 5 verbose cwd C:\Users\Ian\passionfruit 6 verbose Windows_NT 10.0.16299 7 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "build" 8 verbose node v8.10.0 9 verbose npm v5.6.0 10 error missing script: build 11 verbose exit [ 1, true ]

ChiChou commented 6 years ago

npm run build is deprecated in current version. I had already deleted it from README

ian902125 commented 6 years ago

well I try delete node_modules and npm rebuild

npm install still have error

C:\Users\Ian\passionfruit>npm install

passionfruit@0.2.0 prepare C:\Users\Ian\passionfruit pushd gui && npm install && popd && npm run compile

npm WARN ajv-keywords@3.1.0 requires a peer of ajv@^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

up to date in 6.839s

passionfruit@0.2.0 compile C:\Users\Ian\passionfruit ./scripts/compile.js compile

'.' δΈζ˜―ε…§ιƒ¨ζˆ–ε€–ιƒ¨ε‘½δ»€γ€ε―εŸ·θ‘Œηš„η¨‹εΌζˆ–ζ‰Ήζ¬‘ζͺ”。 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! passionfruit@0.2.0 compile: ./scripts/compile.js compile npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the passionfruit@0.2.0 compile 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! C:\Users\Ian\AppData\Roaming\npm-cache_logs\2018-03-13T09_43_24_912Z-debug.log npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! passionfruit@0.2.0 prepare: pushd gui && npm install && popd && npm run compile npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the passionfruit@0.2.0 prepare 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! C:\Users\Ian\AppData\Roaming\npm-cache_logs\2018-03-13T09_43_24_963Z-debug.log

ChiChou commented 6 years ago

This is a bug on compiler for Windows, but not affecting released package.

This package is now available on npm. Do not install from source if you don't want to develop on your own.

I installed in on a VM and it worked:

ian902125 commented 6 years ago

Hi I del the passionfruit dir & reinstall the passionfruit It work I met the GDBus.Error But think this is not the install error so I will close the issues thank you

ChiChou commented 6 years ago

What kind of GDBus.Error?

ian902125 commented 6 years ago

17 This

ChiChou commented 6 years ago

https://github.com/frida/frida-compile/issues/8

This problem has a workaround in the latest development branch, but has not been published yet (passionfruit@0.2.0). Will release the patch soon. Sorry about that.

ian902125 commented 6 years ago

It`s fine. tell me if I can gave you any help

ChiChou commented 6 years ago

A quick fix is to enter %APPDATA%\npm\node_modules\passionfruit\agent\, open app.bundle.js and find line 59, add a null.

Edit:

var r = new NativeFunction(Module.findExportByName(, "free")

To

var r = new NativeFunction(Module.findExportByName(null, "free")
ian902125 commented 6 years ago

I try it work thank you

ChiChou commented 6 years ago

finally fixed in v0.2.1