unidbg实战笔记(1)--基本的SoLoad调用流程

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,我们可以按需找到我们的libso文件,输入名字即可。

DalvikModule dm = vm.loadLibrary("shield", true); // 加载libttEncrypt.so到unicorn虚拟内存,加载成功以后会默认调用init_array等函数

vm.setJni(this);
module = 

你可能感兴趣的:(unidbg实战笔记,数据库,android,database)