app漏洞题 安装包8.apk,要求获得flag

描述

题目来源:Tencent某Android CTF题 题目:安装包8.apk,要求获得flag 知识点:Frida/objection、IDA、AES加密  解题过程:安装APK,点击登录,进入如下Activity界面。

  利用JADX查看APK,核心代码如下所示,将输入作为参数传给SecondActivity。

安装包

  查看SecondActivity的onCreate方法,如下所示,将intent传的两个参数合并成string,调用doRawData方法,期望返回值等于"VEIzd/V2UPYNdn/bxH3Xig=="。

安装包

  继续跟踪,发现doRawData为Native函数,如下所示,另外还有其他几个Native函数。

安装包

  我们利用IDA打开so分析,如下是doRawData核心代码,主要是将"thisisatestkey=="作为秘钥,对入参字符串进行AES加密。

安装包

  我们可以利用python编写解密代码,也可以Android Studio中调用so解密函数。如下我们利用python解密,代码如下所示。最终解密结果为“aimagetencent”,将其输入APK界面仍然没有得到Flag。

安装包

  我们利用objection查看下该APK有哪些类,如下所示,我们发现FileDataActivity并没有分析到,

  于是我们直接用objection跳转到FileDataActivity界面如下。

  最后我们再看下FileDataActivity,可以看到将"9YuQ2dk8CSaCe7DTAmaqAA==" 解码后在界面显示,所以FileDataActivity界面的显示就是Flag。

安装包

责任编辑:xj

原文标题:逆向基础题八:获取Flag

文章出处:【微信公众号:Linux逆向】欢迎添加关注!文章转载请注明出处。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分