吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1384|回复: 4
收起左侧

[Android 求助] 负责加解密的so hook 解密函数

[复制链接]
ryzeT 发表于 2023-3-15 10:52
已经成功绕过一些防护机制成功 Hook 到了负责加解密的 so文件的 decrypt 函数。
本以为只要打印输入输出就是解密的密文、key,返回值就是解密后的明文,但是打印之后是一堆指针:


hexdump打印对应指针的内存,也都是乱码,没有直观体现。
这种还有什么方法来进行下一步,或者有什么原因吗,各位hxd

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

powerjinny 发表于 2023-3-16 13:02
可能是地址不对吧,看一下decrypt取参数的地址偏移值就知道了
 楼主| ryzeT 发表于 2023-3-21 10:17
powerjinny 发表于 2023-3-16 13:02
可能是地址不对吧,看一下decrypt取参数的地址偏移值就知道了

地址是对的,用了直接找导出函数和寻找偏移两种方式
powerjinny 发表于 2023-3-23 22:12
是入参偏移,比如unity  il2cpp的so无论是string参数或者byte数组参数,入参地址要加12,64位要加24
 楼主| ryzeT 发表于 2023-3-24 10:06
powerjinny 发表于 2023-3-23 22:12
是入参偏移,比如unity  il2cpp的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[0]=" + args[0])
            console.log("args[1]=" + args[1])
            console.log("args[2]=" + args[2])
            console.log("args[3]=" + args[3])
            console.log("args[4]=" + args[4])
            console.log("args[5]=" + args[5])
        }

从IDA里看是有三个参数,我也看到有文章说前两个参数env和object,我也试过 hexdump,但是都没找到这个加密函数明文或者是key对应的地址
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 14:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表