XCTF-app2 writeup
app2解题思路首先用jadx-gui打开样本文件,通过AndroidManifest.xml查看入口类, 不出所料,还是MainActivity
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506143925.png
打开入口类,看到代码逻辑是获取到Text后,进行非空检测,然后将两个输入存放到了ili和lil中,然后是进行了跳转至SecondActivity类
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506144307.png
打开SecondActivity类进行查看
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506144652.png
这里是先获取了刚才存放的ili和lil,然后进入了if逻辑判断,判断语句是调用了Encryto类的doRawData方法,那么查看这个类
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506145021.png
竟然是加载了JNIEncrypt这个so文件,那么继续跟进,用IDA打开lib下的so
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506145208.png
从导出函数看到了doRawData函数
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506145310.png
点进去,Tab进行反编译
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506145447.png
原来是使用的AES加密模式,而key就是“thisisatestkey==”
但是用刚刚找到的“VEIzd/V2UPYNdn/bxH3Xig==”进行解密是错误的,只能再找找源码
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506145740.png
decode解密,不出意外的话,就是它了
然后使用 在线AES解密
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506145923.png
flag就是Cas3_0f_A_CAK3
ps:其实这道题还有一个特别走巧的解题思路,因为FileDataActivity这个类是相当于隐藏起来的,直接am startcom.tencent.testvuln/com.tencent.testvuln.FileDataActivity 就进入了这个活动界面
https://raw.githubusercontent.com/dummersoul/Picture/main/img/20220506150517.png
6666666666666666 哈哈,这个好啊 谢谢分享
页:
[1]