安卓Crakeme01逆向分析 FridaHook实战

Crakeme01.apk包含了反调试、RC4解密等内容,这次主要从题目角度入手,找出密码。IDA静态分析+Frida动态调试。

Java层大致浏览一下,可以看到很明确主要都在so层

打开IDA 加载so,首先查看导出函数

 

找不到对应的方法,查看JNI_Onload可以看到明显的动态注册

 AD方法点进去可以看到很明显的防调试检测

这里ptrace 和检测23946端口,防止IDA动态调试

由于这里我们使用FridaHook密码,可以无视这里的反调试。继续往下分析找到可疑的代码。

 可以看到ST方法里面调用了java层的方法,这里做了最后的错误提示。按住X键查看引用。

 

一步一步往上找

 

 在网上找的过程中总能看到一个关键函数wolf_de()

 

通过引用列表可以依次查看

最终发现 下图非常可疑 怀疑是解密获取密码 我们只要Hook一下就可疑了

 

Frida脚本

var soAddr = Module.findBaseAddress("libwolf.so");
send(soAddr);
var real = soAddr.add(0x12050);
Interceptor.attach(real, {
    onEnter: function(args){
        console.log(hexdump(args[0], {
            offset: 0,
            length: 64,
            header: true,
            ansi: false
        }));
    },
    onLeave: function(retval){
        console.log(hexdump(retval, {
            offset: 0,
            length: 64,
            header: true,
            ansi: false
        }));
    }
});

 输出

           0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
f3fc5129  36 33 36 44 35 35 42 32 41 41 38 36 30 39 43 42  636D55B2AA8609CB
f3fc5139  00 05 08 41 08 06 03 01 4e 61 44 80 00 00 00 00  ...A....NaD.....
f3fc5149  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
f3fc5159  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
           0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
ee96ceb0  68 65 6c 6c 6f 35 2e 31 00 00 00 00 00 00 00 00  hello5.1........
ee96cec0  00 00 00 00 00 00 09 00 00 0a 00 00 00 00 00 00  ................
ee96ced0  3c 37 73 f4 3c 37 73 f4 00 d3 91 ee 00 00 00 00  <7s.<7s.........
ee96cee0  04 00 48 00 1b 00 00 00 0c 32 c5 e7 00 00 00 00  ..H......2......

这里用hello5.1去测试成功 说明程序就是解密了636D55B2AA8609CB这串得到密码然后与我们输入的对比。经过后续分析,加解密算法为RC4,既然密码已经知道了就懒得再去深究了。

当然也可以用IDA动态调试,关键的就是要把AD的反调试NPO掉。

总结:Frida在逆向中非常强大,灵活运用IDA动静态分析和Frida的快速Hook可以快速对关键点进行逆向分析

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

December丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值