unidbg ollvm 字符串加密解析重写后的句子:原理在于使用unicorn的“mem hook”功能,在so加载到内存后将纯净的数据转储出来。有两种方法:
核心方法方法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>
以上就是java unidbg ollvm字符串加密解析的方法的详细内容。