frida / frida-java-bridge

Java runtime interop from Frida
318 stars 118 forks source link

Error: java.lang.ClassNotFoundException: Didn't find class on path #304

Open FabioNevesRezende opened 8 months ago

FabioNevesRezende commented 8 months ago

I'm having this error when using Java.use trying to hook up into a java class under an Android 9 Virtual Machine from Android x86 project. The app is Uncrackable level 2 by OWASP. Steps to reproduce:

Run

frida -U -f owasp.mstg.uncrackable2 -l inject.js

where inject.js is:

console.log(`Injecting into process with PID ${Process.id}`)
console.log(`frida version: ${Frida.version}`)

const MainActivity = Java.use('sg.vantagepoint.uncrackable2.CodeCheck');

The output:

Injecting into process with PID 4276 frida version: 16.1.7 Error: java.lang.ClassNotFoundException: Didn't find class "sg.vantagepoint.uncrackable2.CodeCheck" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/system/lib64, /system/vendor/lib64, /system/lib64, /system/vendor/lib64]] at (frida/node_modules/frida-java-bridge/lib/env.js:124) at (frida/node_modules/frida-java-bridge/lib/env.js:115) at apply (native) at (frida/node_modules/frida-java-bridge/lib/env.js:97) at (frida/node_modules/frida-java-bridge/lib/class-factory.js:488) at value (frida/node_modules/frida-java-bridge/lib/class-factory.js:945) at value (frida/node_modules/frida-java-bridge/lib/class-factory.js:950) at _make (frida/node_modules/frida-java-bridge/lib/class-factory.js:165) at use (frida/node_modules/frida-java-bridge/lib/class-factory.js:62) at use (frida/node_modules/frida-java-bridge/index.js:258) at (~/Desktop/test/inject.js:4) at evaluate (native) at (/frida/repl-2.js:1)

eybisi commented 1 month ago

Make sure to wrap inject.js code inside the Java.perform