twitter跳过手机验证_逆向基础题二:验证登录

划重点:关注公众号,后台回复crackme,获得本题apk~题目来源:2016华山杯Android逆向题题目:软件包2.zip,要求进行验证登陆知识点:ZIP伪加密、IDA动态调试so、Android Killer使用解题过程:拿到zip压缩包直接解压失败,根据zip伪加密原理如下,压缩文件数据区和目录区有关全局方式标记位,偶数表示无加密,奇数表示加密,理论如下所示。68a268b815c2427403dfb43747181da1.pngbaa8f63b0f0f018efaeb030b0914a9ec.png对比发现待分析的zip包为zip伪加密。修改504B0102后边的第五第六个字节为偶数。总共有两处,说明zip下很多文件,只有两个文件做了伪加密,修改如下所示。577b8d85ea9c4d63c9ae33e14be3eb62.png91e3a08059095a0152445afdf6bd01a0.png解压后的文件缺个apktool.yml,拷贝一个进去用apktool回编后再签名,但安装apk运行后提示权限不够,将apk拉入AK分析,如下所示,我们直接修改Smali跳过isExit检查。211a7f3dd70a61c759f2144d4aacd94e.png然后我们看验证部分代码,如下所示,由Java层传入用户输入到Native层,由so对密码进行验证并输出结果,所以下面我们需要使用IDA对Android的so进行动态调试。af38a7a8e3ae747e49040ba65ded2f99.png因为libgeneratekey.so存放在armeabi目录下,所以需要使用32位的IDA工具以及对应的android_server进行Androi的so动态调试。跟踪代码如下所示,encodePS获取密码,在执行完encodePS后,其返回值即密码存放在R0内,所以在执行完encodePS后的下一条指令上设置断点。e81551f565a5f906864afe042f480f1b.png开始调试后,程序断在执行完encodePS后的下一条指令上,可以看到寄存器R0值。7ec385c8ae417c66c80e7785690ef83e.png点击寄存器R0指向的箭头,可以看到如下信息,即[stack]:FFD5EF68指向的内容是“lxienietIeAehfyih”09cbb68209f4e89697bc337288d03ade.png在手机上进行密码验证,验证ok。7096454bb21314cdb1faaf9bf342ce6c.png

关注公众号,后台回复crackme,获得本题apk。

欢迎扫码关注,一起学习

5af0f13444c621ead5bd4b41569b9373.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值