chaitin / passionfruit

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

Error: GDBus.Error:re.frida.Error.InvalidArgument: Script(line 59): SyntaxError: parse error #17

Closed euanchan closed 6 years ago

euanchan commented 6 years ago

An unhandledRejection occurred: Rejection: Error: GDBus.Error:re.frida.Error.InvalidArgument: Script(line 59): SyntaxError: parse error Error: GDBus.Error:re.frida.Error.InvalidArgument: Script(line 59): SyntaxError: parse error

准备进入查看应用时,会出现以上错误。

npm -v // 5.6.0 node -v // V9.3.0

ChiChou commented 6 years ago

git pull 升级最新版本后 npm run build

euanchan commented 6 years ago

是最新代码,有试过,还是不行哈。

ChiChou commented 6 years ago

build 出来的 agent/app.bundle.js 这个文件,59 行附近是什么内容?

euanchan commented 6 years ago

59 行: var r = new NativeFunction...

function r(e) {
  var r = new NativeFunction(Module.findExportByName(, "free"), "void", [ "pointer" ]), n = new NativeFunction(Module.findExportByName(null, "objc_copyClassNamesForImage"), "pointer", [ "pointer", "pointer" ]), o = Memory.alloc(Process.pointerSize);
  Memory.writeUInt(o, 0);
  for (var t = ObjC.classes.NSBundle.mainBundle().executablePath().UTF8String(), s = Memory.allocUtf8String(t), a = n(s, o), i = Memory.readUInt(o), u = new Array(i), l = 0; l < i; l++) {
    var c = Memory.readPointer(a.add(l * Process.pointerSize));
    u[l] = Memory.readUtf8String(c);
  }
  return r(a), e ? u.sort() : u;
}
ChiChou commented 6 years ago

不知道为什么你这里生成的代码少了个 null

function r(e) {
  var r = new NativeFunction(Module.findExportByName(null, "free")
                                                     ^^^^
ChiChou commented 6 years ago

可能是 babel 相关组件的问题,可尝试

rm -rf node_modules/
rm -rf gui/node_modules/
npm install
npm run build
npm start
euanchan commented 6 years ago

试了下,还是报一样的错误

ChiChou commented 6 years ago

直接把这两个文件解压到 agent 里吧

Archive.zip

euanchan commented 6 years ago

可以正常使用了,是 nodejs 版本问题吗

ChiChou commented 6 years ago

打包工具的问题。等这个项目稳定之后我会考虑直接把 build 好的文件推到 npm

ChiChou commented 6 years ago

不想自行构建项目源码或遇到问题,现在可直接 npm install -g passionfruit 安装,然后使用 passionfruit 直接启动。

ChiChou commented 6 years ago

babel 编译出问题的原因可能是我没有更新 yarn.lock 文件,导致 yarn 安装了版本不匹配的 babel

ChiChou commented 6 years ago

我也碰到这个问题了

ChiChou commented 6 years ago

frida-compile 的问题,使用奇技淫巧暂时绕过了。