首页 > 解决方案 > 不能使用 enumerateLoadedClasses

问题描述

我成功启动了 frida 服务器(使用 su)并将其附加到进程中而没有错误。Java.Interceptor工作正常,但我无法枚举类,我只是得到Unexpected end of block错误。

Java.perform(() => {
    Java.enumerateLoadedClasses({
        "onMatch": function(name) {
            console.log(name);
        },
        "onComplete": function() {
            console.log('Done!');
        }
    });
});

然后:

Error: Unexpected end of block
    at <anonymous> (frida/node_modules/frida-java-bridge/lib/android.js:1175)
    at forEach (native)
    at Ot (frida/node_modules/frida-java-bridge/lib/android.js:1240)
    at <anonymous> (frida/node_modules/frida-java-bridge/lib/android.js:990)
    at _patchCode (native)
    at value (frida/runtime/core.js:163)
    at Dt (frida/node_modules/frida-java-bridge/lib/android.js:991)
    at <anonymous> (frida/node_modules/frida-java-bridge/lib/memoize.js:4)
    at Fe (frida/node_modules/frida-java-bridge/lib/android.js:475)
    at _enumerateLoadedClassesArt (frida/node_modules/frida-java-bridge/index.js:108)
    at enumerateLoadedClasses (frida/node_modules/frida-java-bridge/index.js:54)
    at <anonymous> (<input>:9)
    at <anonymous> (frida/node_modules/frida-java-bridge/lib/vm.js:12)
    at perform (frida/node_modules/frida-java-bridge/index.js:192)
    at <eval> (<input>:10)
    at eval (native)
    at fridaReplEvaluate (/repl.js:9)
    at apply (native)
    at <anonymous> (frida/runtime/message-dispatcher.js:13)
    at c (frida/runtime/message-dispatcher.js:23)
TypeError: cannot set property '_code' of null
    at Dt (frida/node_modules/frida-java-bridge/lib/android.js:991)
    at <anonymous> (frida/node_modules/frida-java-bridge/lib/memoize.js:4)
    at Fe (frida/node_modules/frida-java-bridge/lib/android.js:475)
    at _enumerateLoadedClassesArt (frida/node_modules/frida-java-bridge/index.js:108)
    at enumerateLoadedClasses (frida/node_modules/frida-java-bridge/index.js:54)
    at <anonymous> (<input>:9)
    at <anonymous> (frida/node_modules/frida-java-bridge/lib/vm.js:12)
    at perform (frida/node_modules/frida-java-bridge/index.js:192)
    at <eval> (<input>:10)
    at eval (native)
    at fridaReplEvaluate (/repl.js:9)
    at apply (native)
    at <anonymous> (frida/runtime/message-dispatcher.js:13)
    at c (frida/runtime/message-dispatcher.js:23)

为什么不工作?更多信息:

 Android.........: 6.0.1
 Phone...........: Galaxy S5 Mini
 CPU ABI.........: armeabi-v7a
 Root access.....: Yes
 Java.available..: true
 Frida...........: frida-server-14.0.8-android-arm

标签: javafrida

解决方案


推荐阅读