zhkl0228 / unidbg

Allows you to emulate an Android native library, and an experimental iOS emulation
Apache License 2.0
3.64k stars 924 forks source link

请问,如何补GetStringCritical jni 方法呢 #626

Open dyglcc opened 1 month ago

dyglcc commented 1 month ago

代码Warn提示:

[12:19:26 941] WARN [com.github.unidbg.linux.ARM32SyscallHandler] (ARM32SyscallHandler:537) - handleInterrupt intno=2, NR=-1073744248, svcNumber=0x1dc, PC=unidbg@0xfffe0e54, LR=RX@0x404871ed[libdexload.so]0x2b1ed, syscall=null java.lang.UnsupportedOperationException at com.github.unidbg.linux.android.dvm.DalvikVM$221.handle(DalvikVM.java:3443) at com.github.unidbg.linux.ARM32SyscallHandler.hook(ARM32SyscallHandler.java:133) at com.github.unidbg.arm.backend.Unicorn2Backend$11.hook(Unicorn2Backend.java:352) at com.github.unidbg.arm.backend.unicorn.Unicorn$NewHook.onInterrupt(Unicorn.java:109) at com.github.unidbg.arm.backend.unicorn.Unicorn.emu_start(Native Method) at com.github.unidbg.arm.backend.unicorn.Unicorn.emu_start(Unicorn.java:312) at com.github.unidbg.arm.backend.Unicorn2Backend.emu_start(Unicorn2Backend.java:389) at com.github.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:378) at com.github.unidbg.thread.Function32.run(Function32.java:39) at com.github.unidbg.thread.MainTask.dispatch(MainTask.java:19) at com.github.unidbg.thread.UniThreadDispatcher.run(UniThreadDispatcher.java:175) at com.github.unidbg.thread.UniThreadDispatcher.runMainForResult(UniThreadDispatcher.java:99) at com.github.unidbg.AbstractEmulator.runMainForResult(AbstractEmulator.java:341) at com.github.unidbg.arm.AbstractARMEmulator.eFunc(AbstractARMEmulator.java:255) at com.github.unidbg.Module.emulateFunction(Module.java:163) at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethod(DvmObject.java:135) at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethodObject(DvmObject.java:93) 看到源码中_GetStringCritical这里直接返回了异常 throw new UnsupportedOperationException(); 想问下,这个应该怎么补呢?