短視頻、直播數據實時採集接口,請查看文檔: TiToDataide
免責聲明:本文檔僅供學習與參考,請勿用於非法用途!不然一切後果自負。
原理: 利用 unicorn 的 mem hook 在內存加載完 so 後,dump 出純淨的數據。
有兩種方法:學習
getBackend()
來複刻 Unicorn 的內存 hook 方法。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內存數據了。code