负责加解密的so hook 解密函数
已经成功绕过一些防护机制成功 Hook 到了负责加解密的 so文件的 decrypt 函数。本以为只要打印输入输出就是解密的密文、key,返回值就是解密后的明文,但是打印之后是一堆指针:
hexdump打印对应指针的内存,也都是乱码,没有直观体现。
这种还有什么方法来进行下一步,或者有什么原因吗,各位hxd 可能是地址不对吧,看一下decrypt取参数的地址偏移值就知道了 powerjinny 发表于 2023-3-16 13:02
可能是地址不对吧,看一下decrypt取参数的地址偏移值就知道了
地址是对的,用了直接找导出函数和寻找偏移两种方式 是入参偏移,比如unityil2cpp的so无论是string参数或者byte数组参数,入参地址要加12,64位要加24 powerjinny 发表于 2023-3-23 22:12
是入参偏移,比如unityil2cpp的so无论是string参数或者byte数组参数,入参地址要加12,64位要加24
这个入参地址指的是函数调用地址还是我要读参数时的参数地址。
如果是参数地址的话,我尝试过输出很多参数:
console.log("Java_com_xxx_encrypt is hooked: " + x)
Interceptor.attach(x,{
onEnter: function(args){
console.log("\nCalled:")
console.log("args=" + args)
console.log("args=" + args)
console.log("args=" + args)
console.log("args=" + args)
console.log("args=" + args)
console.log("args=" + args)
}
从IDA里看是有三个参数,我也看到有文章说前两个参数env和object,我也试过 hexdump,但是都没找到这个加密函数明文或者是key对应的地址
页:
[1]