攻防世界——app漏洞第二题
攻防世界——app漏洞第二题
拿到android题,就先在模拟器中运行一下,看看具体是怎样实现的
在模拟器中看到的是上面这样的运行效果,估计就是和我们输入的两个部分有关吧。于是直接反汇编,看看反汇编的代码。
上jeb
发现是有两个活动存在,在注册表中也
明确写过。那么我们就看看这两个活动
是怎样运行的。
mainActivity的主要内容,发现是有两个输入,然后又一个是传输到第二个活动的行为。
secondActivity的主要内容 接收到主活动传过来的数据,然后进行了组合,将两个数据合并成为一个数据,但是其中有一个Encryto不太明确,其实这是native层的方法调用。
因为主要的方法都放在native层,那我们就分析native层的so文件,将apk改成rar解压,找到lib文件,随便选择一种作用ida分析。
先找到方法doRowData,反汇编出伪代码,然后就开始分析
经过仔细分析,大概就是AES加密,第一个就是加密的秘钥,至于加密后比较的字符串可以在jeb中看到
那我们就直接在网上解密AES,解出来就成功了。
但是我有一点疑问,AES加密我还整得有点不明白,看来有你要去看看AES加密的原理了,不然以后遇到,没有这么明显的方法就又做不出来了。