360脱壳实战

Author Avatar
子虚乌有 5月 11, 2021

写在前面

  1. 本文章原发表在酷安网,如有侵权请联系本人删除

  2. 本教程仅作学习交流用途,请勿用于非法用途,否则造成的后果与本文原作者以及本人无关

准备工作

  1. 环境准备

    • Android 7.1 及以下

    • Root 和 Xposed 框架

    • MT 管理器 2(需要会员)

      这里采用的是安装了Xposed 的 Mumu 模拟器

  2. 下载 反射大师过 360 签名验证的文件,在Xposed中找到反射大师并激活,重启设备

  3. 本次脱壳的对象

    ××教学助手

开始脱壳

  1. 打开反射大师,点击我们要脱壳的app,点击 选择这个软件

  2. 接下来选择 打开

  3. 进入考试页面,点击中间的图标,选择 当前 Activity -> 写出 dex -> 勾选 修复 Magic -> 确定

  4. 至此我们已经完成了脱壳工作,可以在文件管理根目录下找到脱出来的dex文件

    此时我们可以关闭反射大师和目标app

    注意,这个dex不一定是完整的dex,可能原安装包的某些类并没有脱出来,如果知道没有脱壳的类名,可以在脱壳界面选择 查找 -> 输入完整类名

    提示正在打开对象时,说明找到了对应的类,此时点击 写出dex,即可在刚写出的dex中找到该类

破解签名校验

  1. 备份原安装包文件

  2. 打开被加固的安装包文件,以查看方式打开,仅保留下面图片中的3个文件,其余的文件全部删除

    一定要把自动签名取消勾选再删除文件

  3. 将修改过的安装包重命名为libqingyan.so

  4. 还原备份的安装包

  5. libqingyan.so添加到原安装包下的/lib/armeabi-v7a/目录下,勾选自动签名

  6. 返回安装包根目录,以dex编辑器++打开加固的classes.dex文件

  7. 打开com/stub/StubApp

  8. 点击搜索,搜索attachBaseContext

  9. 在第二个attachBaseContext方法下添加

    invoke-static {p0}, Lcom/qingyan/KillVerify/Stub360;->start(/android/content/Context;)V

  10. 返回并保存,最后取消自动签名,更新文件

  11. 将过360校验文件中的classes2.dex和修改好的dex文件解压出来放在一起,选中两个dex并合并

  12. 合并完成之后,将classes.dexclasses2.dex删除,合并之后的的文件重命名为classes.dex

  13. 将合并后的classes.dex覆盖掉原安装包内的classes.dex勾选自动签名,确定

  14. 找到脱壳之后的dex,重命名为classes2.dex勾选自动签名,复制到安装包根目录

  15. 最后的效果,安装包内有两个dex文件

  16. 到此我们已经绕过了签名校验,这时我们点击修改后的apk可以看到加固状态已经是伪加固了

  17. 卸载原app,安装我们修改后的apk并打开,可以看到app正常打开,说明脱壳修复成功

有多个dex需要脱壳的情况

如果脱壳出来有多个dex,那么只需要把dex命名为classes3.dex,classes4.dex……一起放入根目录就可以

作者:子虚乌有
版权声明:本网站所有文章除特别声明外,均采用CC BY-NC-ND 4.0许可协议,转载请注明出处
注意:本网站所有文章内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

本文链接:http://peanutmelonseedbigalmond.pages.dev/2021/05/11/360%E8%84%B1%E5%A3%B3%E5%AE%9E%E6%88%98/