FuzzySecurity/Fermion

Does this work in Linux?

7a opened this issue · 2 comments

7a commented

Using Ubuntu:

uname -a
Linux 7ASecurity 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

First try following official instructions:

export npm_config_runtime=electron
export npm_config_target=7.0.0
npm install

> frida@12.8.11 install /home/alert1/tools/Fermion-master/Fermion/node_modules/frida
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=7.0.0 runtime=electron arch=x64 libc= platform=linux)
gyp: binding.gyp not found (cwd: /home/alert1/tools/Fermion-master/Fermion/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 (/home/alert1/.nvm/versions/node/v8.15.1/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 5.3.0-40-generic
gyp ERR! command "/home/alert1/.nvm/versions/node/v8.15.1/bin/node" "/home/alert1/.nvm/versions/node/v8.15.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/alert1/tools/Fermion-master/Fermion/node_modules/frida
gyp ERR! node -v v8.15.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! frida@12.8.11 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the frida@12.8.11 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!     /home/alert1/.npm/_logs/2020-02-26T06_12_07_307Z-debug.log

Second shot (another terminal, no exported variables):

rm -rf node_modules/
npm install

> frida@12.8.11 install /home/alert1/tools/Fermion-master/Fermion/node_modules/frida
> prebuild-install || node-gyp rebuild


> core-js@3.6.4 postinstall /home/alert1/tools/Fermion-master/Fermion/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> electron@7.1.13 postinstall /home/alert1/tools/Fermion-master/Fermion/node_modules/electron
> node install.js

added 140 packages from 128 contributors and audited 207 packages in 11.722s
found 0 vulnerabilities

npm start

> fermion@0.9.0 start /home/alert1/tools/Fermion-master/Fermion
> electron .

Expected result: Fermion works

Real result: Fermion launches but no buttons work at all, cannot even close the app.

Hey sorry for the late reply, I didn't get any email notification. It definitely works cross-platform, I used it on Ubuntu a way back. From the output I think your Node version is 8.15.1, if that is the case please update to the latest version and try again.

C:\Users\b33f>node -v
v12.14.0

About your second point, you 100% need to set the environment variables otherwise you will end up with a UI that doesn't do anything as you experienced.

Ok so it tested it and it looks like the latest versions of Frida don't always have a pre-compiled release. I I updated the repo to lock the version till the next update v10. See this:
e549448

I then tested the build and it works fine on Ubuntu.

b33f@ubuntu:~/Desktop/Fermion-master/Fermion$ node -v
v12.16.1
b33f@ubuntu:~/Desktop/Fermion-master/Fermion$ export npm_config_runtime=electron
b33f@ubuntu:~/Desktop/Fermion-master/Fermion$ export npm_config_target=7.0.0
b33f@ubuntu:~/Desktop/Fermion-master/Fermion$ npm install
> frida@12.8.3 install /home/b33f/Desktop/Fermion-master/Fermion/node_modules/frida
> prebuild-install || node-gyp rebuild
> core-js@3.6.4 postinstall /home/b33f/Desktop/Fermion-master/Fermion/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> electron@7.2.1 postinstall /home/b33f/Desktop/Fermion-master/Fermion/node_modules/electron
> node install.js
npm notice created a lockfile as package-lock.json. You should commit this file.
added 144 packages from 136 contributors and audited 212 packages in 16.338s
3 packages are looking for funding
  run `npm fund` for details
found 0 vulnerabilities

image