反射大师&Xposed----安卓脱壳
1484321987948696 发表于 中国 移动安全 2208浏览 · 2024-08-04 13:45

一.前言
Android APK加壳已经非常普遍了,Android逆向的难度提高了,因为首先要脱壳。脱壳虽然有些复杂,但还是有现成的工具,一步一步做下来,终究还是可以成功的。这里就来演示一个脱壳过程吧。
如果程序本身对反射大师没有检测,那么用反射大师基本都可以脱,针对一些简单的没有魔改的壳。
二.环境和工具
1.工具:夜神模拟器7.0.3.5(安卓7.1.2);反射大师;Xposed;jadx。(反射大师,Xposed,这两个工具对安卓版本是由要求的,夜神模拟器有Xposed的安装教程,反射大师在最后会有附件)。
2.模拟器需要为root模式。
3.安装好Xposed之后,再把反射大师也安装上,然后激活Xposed(夜神模拟器的教学中不光有安装教程,还有激活教程),激活之后是这个样子

然后点击左上角的 三条线,找到模块,可以看到反射大师,打上勾,就激活了,但是得记得重启一下模拟器,不然有可能用反射大师的会显示没激活。
三.具体过程
1.例题:[XYCTF2024]Trustme(最后会附上题目)
2.下载好附件,我们安装到模拟器上运行一下,可以看到要求我们输入用户名和密码

接下来我们就可以使用jadx进行静态分析,我们先查看程序的入口,

然后在查看jadx识别出来的入口

发现对不上,有一个字母没对上,看到这里就可以怀疑这个程序加壳了,同时,我们进一步分析类,分析包,可以看到,


这些都是第一代安卓壳的特征,这下就彻底坐实加壳了,然后就开始脱壳。
在模拟器上打开反射大师,点击我们需要脱壳的app,然后点击选择这个软件

然后点击,打开

可以看到软件页面中心有个红色六芒星

点击六芒星,可以看到

再点击当前ACTIVITY

长按写出DEX,

点击确定,

然后点击复制,方便后续pull

这里pull出来的文件就是在我们cmd的路径,文件名就叫dump

里面的class.dex就是dump下来的文件,用jadx就可以继续分析了。

这就是真正正确的app入口,函数整体逻辑就是对数据库的加密,可以用spl注入的万能钥匙,直接秒了,或者就是正在逆向分析,可以找到数据文件,进行异或,

就是异或0xFF,这里这个数据库不能用jadx打开,会卡死,可以改文件后缀名,然后找到文件,用010editor打开,进行异或,就可以找到flag。
这里演示的改后缀名然后找到文件,用010editor打开

接着根据反编译的代码进行异或


就可以找到flag

附件:
1 条评论
某人
表情
可输入 255
目录