抖音数据采集教程,unidbg Ollvm 字符串加密解析
短视频、直播数据实时采集接口,请查看文档: TiToData
免责声明:本文档仅供学习与参考,请勿用于非法用途!否则一切后果自负。
原理: 利用 unicorn 的 mem hook 在内存加载完 so 后,dump 出纯净的数据。
有两种方法:
核心方法
- 方法1: 利用
getBackend()
来复刻 Unicorn 的内存 hook 方法。 - 方法2: 利用
traceCode()
来 trace 指定内存段, hook 内存数据。
注意,getBackend
是用 Unicorn
来驱动的, 所以只能用在 dbg 的 unicorn 引擎上
以 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
_ 复制_
这样就可以 hook 在指定时刻hook内存数据了。