阅读 100

frida hook so简单尝试

需求: meiyanxiangji登录界面, 利用账密登录确认手机号是否是注册用户


myxj0.png

一, 查找参数位置

WX20210616-171256@2x.png

看到只有sig参数需要破解, jadx打开apk, 搜索参数,

WechatIMG646.png

myxj3.png

使用zentracer(https://blog.csdn.net/qq_38851536/article/details/103755407?utm_medium=distribute.pc_relevant.none-task-blog-title-6&spm=1001.2101.3001.4242)
结果:
myxj4.png

二, 确定参数加密位置, 就看是怎么加密的

myxj5.png

com.xxx.secret.SigEntity这个类, 很明显是so native方法(nativeGeneratorSigOld), 把手机里的apk导入电脑(https://blog.csdn.net/jss4j/article/details/88891334),改成.zip, 解压, 进入lib/arm64-v8a,找到librelease_sig.so, 拖进IDA,

m6.png

m8.png
m9.png

三, Frida hook so(方法一)

jsCode_so_1="""
Interceptor.attach(Module.findExportByName("librelease_sig.so" , "_Z13MD5_CalculatePKcjPc"), {
    onEnter: function(args) {
            send("open11111(" + Memory.readCString(args[0])+","+args[1]+")");
    },
    onLeave:function(retval){
    
    }
});
"""
m10.png

运行, 结果, 可以看到手机号和密码在里面, 剩下的都是写死的:

[*] open11111(oauth/access_token.json010898676081531385131625285601843.3.03.3.0.1534de2e7cf5b4d236.0.1868676860238407299.9.20Nexus 6PNexus 6PQQ64WIFIandroiddbc1fbc3e4cc39057304kkkk1234567phonezh-HansqA#QH=M+Ns&q+Z&J1623831095656Tw5AY783H@EU3#XC,0xe6)

# 加密结果:
 917b383ad72c978d14fdbe9a14898579
#这里最后的坑, 他把结果每2位颠倒了一下
19b783a37dc279d841dfeba941985897

三, Frida hook so(方法二,通过偏移)


jsCode_so="""
Java.perform(function () {     
    var base_addr = Module.findBaseAddress("librelease_sig.so");
    var offset = 0x8874;

    console.log("base_addr: " + base_addr);
    var func_addr=null;

    if(base_addr!=null) {
        func_addr = base_addr.add(offset);
        if (Process.arch == 'arm')
           var aaaa111 = func_addr.add(1);  //如果是32位地址+1
        else
        var aaaa111 = func_addr;
    }

    Interceptor.attach(func_addr, {
        onEnter: function(args){
            send("open(" + Memory.readCString(args[0])+","+args[1]+")");
        },
});
});
"""

里面的offset就是ida里的值

作者:朝朝朝朝朝落

原文链接:https://www.jianshu.com/p/9731185d33aa

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐