App2 下载后还是拖到模拟器安装:
反编译一下,几个重点关注的文件:
翻看了一圈儿,大概是这样纸的:
1.接收输入参数,传到SecondActivity:
2.SecondActivity中有一个判断,对接受到的输入参数进行某种操作(doRawData)后等于VEIzd/V2UPYNdn/bxH3Xig==
3.doRawData在Encryto这个类中:
但是反编译代码里面找不到doRawData这个函数的具体实现,网上搜了下,说需要把so文件拖到IDA里面去看。
好吧,IDA咱还是勉强用过的,在IDA中找到doRawData函数的代码(IDA的基本使用可参考:https://www.cnblogs.com/sallyzhang/p/13328333.html)
然后,就没有然后了。。。看不懂这段代码在干啥子。
没想到才到初级选手的round2就跪了,所以今年的CTF报名没我是有原因的~
看了一下网上的提示,是AES加密,解密结果:
然鹅,输入flag并木有成功,我。。。。又网搜了一把,说是要解密FileDataActivity里面的密文:9YuQ2dk8CSaCe7DTAmaqAA==
再次解密,成功。又翻了一下反编译的代码,并木有发现哪里有调用FileDataActivity的逻辑>_<。。所以SecondActivity中的密文是用来混淆视听的?还是为了教育新手要多翻翻源码~真的是用心良苦呢~
本文与本人博客园的博客是同步的,博客园地址:https://www.cnblogs.com/sallyzhang/p/14738768.html