黑客精神 解题报告
打开apk, 依次点下去,随便输入一个字符串,点保存,直接退出了
JEB 打开
对m
进行判断,未注册或者已经注册,如果没注册则进行注册
保存sn, 直接退出
看MyApp
IDA打开:
找到对应函数
initSN,saveSn,work
initSN
打开reg.data,和EoPAoY62@ElRD比较,如果没有就新建
saveSN
对reg.data的处理
work
捋一下
- 拿到m,判断值,如果为0 注册,进入2,如果为1,调用work,输出,在work里,m = 1 ,表示输入即为flag
- 注册的时候调用saveSN,将输入的文件经过一系列处理之后还是存在
/sdcard/reg.dat
- saveSN在
myApp
这个Application中,创建的时候调用initSN,如果文件不存在,新建,并和EoPAoY62@ElRD
比较,如果相等,setValue - 在work里面可以就看到结果正确
所以解题步骤,输入EoPAoY62@ElRD
,点击注册,
在sdcard/reg.data
里面拿到结果,加上xman{}
,即是最终结果
补充
分析saveSN
过程拿到结果
1 | env = "EoPAoY62@ElRD" |