type
status
date
slug
summary
tags
category
icon
password
这是攻防世界 (xctf.org.cn)mobile里面的一道叫做APK逆向的题目

这是app的界面,我们直接把apk拖进jadx进行静态分析。
分析

由此,可以看出,它将userName “Tenshine”和编辑框中输入的sn都丢给了checkSN这个函数处理,如果返回为假就未成功,看来关键在checkSN中。

可以看到,当userName长度不为0,sn不为空、sn长度为22时,对“Tenshine”进行MD5加密取偶数位,并返回。
Flag
算法还原取flag
输出

HOOk获取flag
从jadx反编译的代码中,可以看出,它是直接将flag与输入的sn的MD5值进行对比返回的,而flag又是使用StringBuilder进行存储的,所以对StringBuilder进行hook即可获取flag。
在frida中执行这段代码,app里随便输入22个字符让它触发。

- Author:展叶
- URL:https://rxblog.redcar.top/article/ea9dfe32-5056-4455-9d51-6dca7c0a4a97
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!