dummersoul 发表于 2022-5-6 15:07

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








taizaotel 发表于 2022-5-7 13:12

6666666666666666

slbcmgn 发表于 2022-5-8 08:36

哈哈,这个好啊

taxuewuhen 发表于 2022-5-8 18:40

谢谢分享
页: [1]
查看完整版本: XCTF-app2 writeup