LiamLe 发表于 2022-5-6 11:25

攻防世界--mobile高手进阶区“基础Android”逆向过程,三种方法,附文件

本帖最后由 LiamLe 于 2022-5-9 11:24 编辑

在吾爱破解偷学了很久,也想在这分享一些东西{:301_999:}{:301_993:}

https://static.52pojie.cn/static/image/hrline/5.gif

https://static.52pojie.cn/static/image/hrline/5.gif



1. 首先安装到模拟器中,打开是这样的界面





2. 测试一下app,获取信息随意输入点击按钮,提示 “Failed”



3.jeb反编译apk,搜索关键词定位代码。




按下tab反编译file:///C:/Users/11718/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png定位到密码校验的地方,





继续跟踪查看算法。






4. 编写解密脚本,用十二个0x30组成的数组,倒推密码。

code= *12
i = 0
ans = ''
while i<12:
    code = 0xFF - i - 100 - code
    ans += chr(code)
    i+=1
print(ans)

运行脚本得到密码为:kjihgfedcba`

5.在app中输入密码,跳转到第二个Activity




需要我们输入图片显示码,我们回到jeb,根据代码执行的逻辑继续分析。






file:///C:/Users/11718/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png
跟踪查看




file:///C:/Users/11718/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png
查看AndroidManifest




6.在app中输入android.is.very.fun成功获得flag



7.原理分析,apk中有一个广播接收器



当接收到"android.is.very.fun"的广播就会激活NextContent。 这个NextContent中就会显示出最后的flag的图片了。





8.第二种方法,使用drozer直接向broadcast receiver发送目标广播首先在手机上打开运行drozer-Agent



在电脑上drozer安装目录下打开命令行输入:
adb forward tcp:31415 tcp:31415
drozer console connect
然后可以输入run app.package.list命令查看是否正常工作连接成功

根据关键词查找包名
run app.package.list -f com.example





查看攻击面
run app.package.attacksurface com.example.test.ctf02




这里我们需要对broadcast receiver进行操作


首先查看导出的broadcast receiver组件的信息
run app.broadcast.info -a com.example.test.ctf02



接下来根据AndroidManifest中的信息,发送特定广播




run app.broadcast.send --component com.example.test.ctf02 com.example.test.ctf02.GetAndChange --extra string s android.is.very.fun




成功获得flag。

9.第三种方法,把最后显示flag的NextContent活动设置为可导出,然后用drozer直接调起NextContent活动。首先把apk拖入AndroidKiller,修改AndroidManifest,在如图位置增加android:exported="true"



保存,编译,重打包,卸载原来的apk,安装修改后的apk,再连接上drozer-Agent



分别输入命令:查找包名run app.package.list -f com.example
查看攻击面run app.package.attacksurface com.example.test.ctf02
查看导出的activity组件run app.activity.info -a com.example.test.ctf02
发现com.example.test.ctf02.NextContent可导出


接下来只需要输入命令
run app.activity.start --component com.example.test.ctf02 com.example.test.ctf02.NextContent



成功获得flag

附网盘资源链接:https://pan.baidu.com/s/10aUNKrzqbK2HC-dfSe4fhg?pwd=u0e2 提取码:u0e2

taxuewuhen 发表于 2022-5-8 19:06

内存管理太复杂

LiamLe 发表于 2022-5-9 11:29

朋友们不好意思
排版问题有点大,已经修改审核中
如有急需资源的朋友,可以下载网盘资源,里面有pdf版分析过程,看的比较清楚一些
https://pan.baidu.com/s/10aUNKrzqbK2HC-dfSe4fhg?pwd=u0e2 提取码:u0e2

wu767877218 发表于 2022-5-15 10:53

膜拜膜拜 膜拜
页: [1]
查看完整版本: 攻防世界--mobile高手进阶区“基础Android”逆向过程,三种方法,附文件