本文为2016年ssctf中Seclreg的writeup。
Seclreg writeup
首先点我下载题目。直接使用jeb反编译,关键代码如下:





getResources().getString(2131034119)是为了得到strings.xml中username字符串的值,结果是secl-007,故编号是secl-007。


IDA反汇编so,入口函数是Java_com_ssctf_seclreg_Seclo0o_getpl,getpl中对输入的密码进行判别。

解题思路:关注的重点放在对输入密码进行的处理和比较上。
getpl没有对传入的密码做任何修改,直接进行比较。定位到最后的比较语句,如下图,发现密码为39位。看ARM指令知pl存放在R0寄存器,inputPass存放在R1寄存器,IDA进行动态调试直接查看pl的值即可。


密码:SSCTF{oty3eaP$g986iwhw32j%OJ)g0o7J.CG:}