SSCTF2016 | WP re1-e7e4ad1a.apk
参考文章:https://blog.csdn.net/wmh_100200/article/details/72847878
前言
难度不大,刷题
内容
首先使用androidkiller打开,jeb查看源码
a
类中主要进行了des
加密。
可以看到关键的位置,其中&&前面是进行了编号的判断,&&后面进行了密码的判断,其中Seclreg.d(this.a)
是我们输入的密码。getpl
是native层的函数,所以接下来分析so库。
以32位ida打开。
可以看到主要是getpl
函数,进去之后可以看到很长一段代码,里面是具体的加密算法以及判断的流程,结合java层的代码,可以猜测这里进行了des加密,但是我们不需要考虑它是如何进行加密的。因为我们从后往前看,可以看到如下代码段
v16就是我们输入的密码,程序中未进行任何的加密,它仅仅是将v17进行了des加密,同时可以看出flag的长度位39位,现在整个apk基本上分析完了,使用ida动态调试so,在关键位置下断
绕过长度的检测,在内存中可以看到v17的值,该值即为flag
tips:由于apk进行了混淆,增加了阅读代码的难度,可以手动的改写变量名,使用n键
总结
真的不难o