了解Unicorn
Unicorn是一个基于QEMU的轻量级、多平台、多架构的CPU模拟器框架,它允许用户在不同平台上模拟不同架构的CPU操作。
Unidbg
unidbg 是一款基于 unicorn 和 dynarmic(ARM的动态重编译器) 的逆向工具,可以模拟执行so文件。
安装项目
在github上下载项目unidbg,可以直接clone到本地
下载好之后用IDEA打开,等待加载依赖(科学上网)
项目结构

在unidbg-android目录包含了特定于 Android 平台的模拟和分析工具,src下有main和test两个目录,main包含主程序的代码,test包含用于测试 Unidbg 功能的测试代码。
在unidbg-api目录里面包含了unidbg提供的API接口。
分析实例
unidbg\unidbg-android\src\test\java\com\bytedance\frameworks\core\encrypt

构造函数里的模拟器介绍
TTEncrypt(boolean logging) {
this.logging = logging;
emulator = AndroidEmulatorBuilder
.for32Bit() //指定模拟器目标平台
.setProcessName("com.qidian.dldl.official") //设置进程名
.addBackendFactory(new Unicorn2Factory(true)) //模拟器的底层执行引擎
.build(); // 创建模拟器实例
// 获取模拟器的内存操作接口
final Memory memory = emu

最低0.47元/天 解锁文章
2167

被折叠的 条评论
为什么被折叠?



