题目来源:看雪CTF题库马到成功
题目:安装包9.apk,要求获得flag
知识点:Andorid代码基本分析能力、Base64解码
拿到APK安装后,屏幕下方一直在刷打印,一段时间后没打印了,所以只能拿JADX打开APK去分析,如下入口代码其光亮处创建定时器,其创建一个a类的第四个参数为调用本地a方法的返回值,直接AS计算得到“eTB1XzRyM181dXAzcl9mNDU3Cg==”,再注意下第二个参数iArr数组第一个成员值为300,第五个参数为一数组其第一个成员值为0。
跟踪a类代码,如下在run中创建了b类,注意当a[0]为0则退出,a[0]的初始值是传下来的300。
再看下b类代码如下,光亮处就是我们的在APK界面看到的打印,它是循环显示单个字符+当前count个数,然后count--,index++。在b类最后调用了c类,这是一个延迟调用函数。
查看c类代码,基本没啥有用代码。
再解压apk发现也没有so。看着“eTB1XzRyM181dXAzcl9mNDU3Cg==”最后两个等号,想到了base64,在线做下base64解码,也能解出答案“y0u_4r3_5up3r_f457”,提交下,居然对了,一脸茫然。
责任编辑:xj
原文标题:逆向基础题九:获取Flag
文章出处:【微信公众号:Linux逆向】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !