-
-
入门级 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
还回去得到结果flag90705bb55efb59da7fc2a5636549812a
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏记录
参与人
雪币
留言
时间
你瞒我瞒
为你点赞~
2023-9-27 14:55
vay
为你点赞~
2023-2-5 10:59
一笑人间万事
为你点赞~
2022-7-30 12:17
Ack麦子
为你点赞~
2020-8-27 11:30
简单的人生
为你点赞~
2020-8-24 23:13
赞赏
谁下载
看原图
赞赏
雪币:
留言: