安卓 java hook调用so_Android开发 Unidbg模拟执行so使用指南

一、目标

除了AndroidNativeEmu我们还有一个选择 Unidbg 来实现模拟执行so,

GitHub链接

https://github.com/zhkl0228/unidbg

特色

模拟JNI调用API,以便可以调用JNI_OnLoad。

支持JavaVM,JNIEnv。

模拟syscalls调用。

支持ARM32和ARM64。

基于HookZz实现的inline hook。

基于xHook实现的import hook。

支持 iOS fishhook 、 substrate 、 whale hook。

支持简单的控制台调试器,gdb,IDA android调试器服务器,指令跟踪,内存读/写跟踪。

支持iOS objc和Swift运行时。

好吧,看上去很强大的样子,我们来跑个Demo

二、步骤

先把IDEA配置好(java大佬忽略这一步)

奋飞不会java开发,所以装好IDEA就开始迫不及待的导入unidbg工程开始编译:

Tip:

IDEA导入unidbg工程参见 https://code.newban.cn/151.html

报错 Error:(5, 24) java: 程序包io.kaitai.struct不存在

好吧,装一个 brew install kaitai-struct-compiler

继续报错 Error:(3, 34) java: 程序包org.apache.commons.logging不存在

行吧,下载一个 commons-logging-1.2.jar

3

你可能感兴趣的:(安卓,java,hook调用so)