看雪Unicorn高级逆向与反混淆
Unicorn 框架主要用于对主流CPU指令,如Arm、x86、misp,进行模拟运行。 其中一个 Unicorn 实现名为 AndroidNativeEmu,可以模拟调用 Android jni 接口。
在使用 AndroidNativeEmu 框架的时候发现一些问题,比如首先需要加载被模拟的 so 库文件,代码如下:
在 load_library 函数最终会调用 pyelftools 库里的 load_module
函数来重定位,代码如下:
Unicorn 框架主要用于对主流CPU指令,如Arm、x86、misp,进行模拟运行。 其中一个 Unicorn 实现名为 AndroidNativeEmu,可以模拟调用 Android jni 接口。
在使用 AndroidNativeEmu 框架的时候发现一些问题,比如首先需要加载被模拟的 so 库文件,代码如下:
在 load_library 函数最终会调用 pyelftools 库里的 load_module
函数来重定位,代码如下: