首页
社区
课程
招聘
入门级 So静态分析 CTF 之 easy-so write up
发表于: 2020-8-24 16:39 8002

入门级 So静态分析 CTF 之 easy-so write up

2020-8-24 16:39
8002

拿到 flag 值

APK 用 jadx 反编译后如图:

图片描述

查看判断函数 cyberpeace.CheckString 代码位置

图片描述

该题重点不在 Java 层, 只是调用了 so 计算下结果,然后再So中进行比对,成功核对 flag 则返回 1, 所以我们只需要研究 so 层即可

图片描述
这里用的是静态注册 Java_com_testjava_jack_pingan2_cyberpeace_CheckString

图片描述
从末尾往上找发现, 最终进行了 字符串比较, 下面是IDA反编译出来的伪代码(amr64)

因为最终是用 v7 来做字符串比较,所以我们分析 v7 是怎么来的即可,从下往上看

这块是一个位符 两两交换的操作 比如 123456 交换后就是 214365, 我们把 f72c5a36569418a20907b55be5bf95ad 两两交换回去得到 7fc2a5636549812a90705bb55efb59da

再往上看

这是一个腰斩交换, 相当于 123456 换成了 456123
我们把上一步得到的 7fc2a5636549812a90705bb55efb59da 还回去得到结果flag
90705bb55efb59da7fc2a5636549812a


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

上传的附件:
收藏
免费 5
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//