0

尝试打印所有类或我尝试加载的任何js时出现此错误。

该脚本取自这里,它有一些非常有用的钩子。

js部分是——

setTimeout(function() {
    Java.enumerateLoadedClasses({
        onMatch: function(className) {
            send(className);
        },
        onComplete: function() {
            send("done");
        }
    });
}, 0);

我对弗里达很陌生。

Error: VM::GetEnv failed: -2
    at e (frida/node_modules/frida-java/lib/result.js:6)
    at frida/node_modules/frida-java/lib/vm.js:71
    at p (frida/node_modules/frida-java/index.js:171)
    at frida/node_modules/frida-java/index.js:112
    at repl1.js:15

Frida版本——frida-server-10.6.54-android-arm64 最新版本

更新

我意识到只有在加载 js 文件时才会发生这种情况,但如果将相同的 js 粘贴到控制台上则不会发生这种情况。

在任何应用程序上都是一样的。

4

1 回答 1

0

你应该试试这个,例如 enum_classes.js:

Java.perform(
  function(){
    Java.enumerateLoadedClasses(
      {"onMatch":function(className){
         console.log(className) },
         "onComplete":function(){}
       }
     )
   }
 )

并通过以下方式使用 Frida 加载此 js:

frida -U -l enum_classes.js --no-pause -f <package-name>

在放置 enum_classes.js 的同一目录上运行此脚本或在其之前添加路径(例如 /path/where/you/store/this/frida/script/enum_classes.js)

你可以得到包名:

frida-ps -U
于 2019-02-09T20:41:09.837 回答