首页 > 文章列表 > java unidbg Ollvm字符串加密解析的方法

java unidbg Ollvm字符串加密解析的方法

java Unicorn Ollvm
359 2023-04-26

java unidbg Ollvm字符串加密解析的方法

unidbg Ollvm 字符串加密解析

原理: 利用 unicorn 的 mem hook 在内存加载完 so 后,dump 出纯净的数据。有两种方法:

核心方法

  • 方法1: 利用 getBackend() 来复刻 Unicorn 的内存 hook 方法。

  • 方法2: 利用 traceCode() 来 trace 指定内存段, hook 内存数据。

注意,getBackend 是用 Unicorn 来驱动的, 所以只能用在 dbg 的 unicorn 引擎上<br>以 getBackend 为例

emulator.getBackend().hook_add_new(new WriteHook() {

    @Override

    public void hook(Backend backend, long address, int size, long value, Object user) {

        System.out.println(Long.toHexString(address) + "----" + size + "----" + value);

        byte[] bytes = long2Bytes(value, size);

        modifyMap.put(address, bytes);

    }

}, 0, Long.MAX_VALUE, null);

Java<br>_ 复制_<br>这样就可以 hook 在指定时刻hook内存数据了。

衍生

当然可以加以封装一个 GUI 这样就可以鼠标点点就可以完成工作了<br><br>