吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3737|回复: 3
收起左侧

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

[复制链接]
LiamLe 发表于 2022-5-6 11:25
本帖最后由 LiamLe 于 2022-5-9 11:24 编辑

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







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

image.png



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



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

image.png


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





继续跟踪查看算法。


image.png



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

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

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

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

image.png


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


image.png



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

image.png


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

image.png


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



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

image.png

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


image.png


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

image.png

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

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





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

image.png


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


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

image.png

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


image.png

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

image.png


成功获得flag

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

image.png

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

image.png

分别输入命令:查找包名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

image.png

成功获得flag

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

基础Android.zip

2.09 MB, 下载次数: 22, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
playkongfu + 1 我很赞同!
笙若 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表