首页
社区
课程
招聘
[原创]看雪CTF2017 第6题
发表于: 2017-6-12 21:21 4012

[原创]看雪CTF2017 第6题

2017-6-12 21:21
4012

直接jeb打开apk查看流程

发现验证走的是jni,用ida加载apk中的so,发现so没有加壳,但是有代码混淆,jni函数不是动态注册,可以直接找到check函数地址,

习惯性的看了下字符串列表,发现有一些16进制的字符串

根据交叉引用到调用处,发现正是这些16进制串的解密函数,分析之后编写python解密脚本如下

运行结果:

看来都是些反调试串,rc4(int)可能是用的算法


回到check, 静态跟流程看,发现一开始有个6的判断,大于6进入到一个死循环,猜测为验证的次数

继续跟流程,发现混淆的模式很固定,跳转时使用固定模式的乱跳,进入函数后对指令进行垃圾代码填充,了解了混淆模式后可以写ida脚本来去混淆,我是直接带着混淆看了

程序会把两个字符串给局部变量,分别是Jyu3CJlVDSGQ 和 Pjpeyjk6mmH=

其他是一些计算逻辑,静态看着太费力,上动态调试,直接附加,并没有遇到反调试,再次跟流程 (以下so基址均为0xB3998000)

发现这两个字符串最终被穿插拼接成一个 JPyjup3eCyJjlkV6DmSmGHQ=,使用base64解密没有明文。继续跟


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回