unidbg基本的加载流程
1.创建Android虚拟机
初始化的一个安卓模拟环境 32位或者 64位 ,指定SDK版本和进程
类似代码如下:
AndroidEmulator emulator = AndroidEmulatorBuilder.for32Bit().setProcessName("com.xhs").build(); // 创建模拟器实例,要模拟32位或者64位,在这里区分
final Memory memory = emulator.getMemory(); // 模拟器的内存操作接口
memory.setLibraryResolver(new AndroidResolver(23)); // 设置系统类库解析
File file = new File("unidbg-android/src/test/resources/example_binaries/apk/xhs6830.apk");
vm = emulator.createDalvikVM(file);
vm.setVerbose(true);
我们在创建时刻 把apk load 进去了,方便后续查找so
2.load so file
基于load apk file,我们可以按需找到