不同的公司,有不同的加壳方式,常见的如下
公司名称 | 对应的壳包名 |
---|---|
爱加密 | libexec.so,libexecmain.so,ijiami.dat |
梆梆 | libsecexe.so,libsecmain.so , libDexHelper.so libSecShell.so |
360 | libprotectClass.so,libjiagu.so,libjiagu_art.so,libjiagu_x86.so |
百度 | libbaiduprotect.so |
腾讯 | libshellx-2.10.6.0.so,libBugly.so,libtup.so, libexec.so,libshell.so,stub_tengxun |
网易易盾 | libnesec.so |
三、脱壳
1.启动frida服务
1、打开需要脱壳的app,启动frida服务
JS逆向 Frida - 夜神模拟器安装配置 基本使用:https://blog.csdn.net/EXIxiaozhou/article/details/128035059
来到windows本地的模拟器安装目录下:xxx/Nox/bin,在搜索框输入cmd进入该目录的命令窗口
1.进入shell:adb shell
2.获取权限:su
3.进入目录:cd /data/local/tmp
4.设置frida-server可执行权限:chmod 755 frida-server-12.8.0-android-x86
5.启动服务:./frida-server-12.8.0-android-x86
2、查看模拟器正在运行的程序:frida-ps -Ua,注意标红框的包名(等会脱壳需要输入)
2.方式一
下载frida-dexdump开源项目进行脱壳
FRIDA-DEXDump下载Github:https://github.com/hluwa/frida-dexdump
FRIDA-DEXDump 下载百度网盘:https://pan.baidu.com/s/1XONAyViTbOm99R05BF6DHQ?pwd=coyd
1、解压即可使用,打开xxx\frida-dexdump-2.0.1\frida_dexdump目录,在搜索框输入cmd,进入命令窗口
2、输入frida-dexdump -U -f com.iCitySuzhou.suzhou001,开始脱壳;
包名指:(frida-ps -Ua)的红色箭头处右侧的App应用程序包名
关于脱壳命令:
- 指定App的应用名称:frida-dexdump -U -n 保利票务
- 指定App的应用进程ID:frida-dexdump -U -p 3302
- 指定App的应用包名:frida-dexdump -U -f com.iCitySuzhou.suzhou001
3、会在xxx\frida-dexdump-2.0.1\frida_dexdump的同级目录根据app包名生产一个文件夹(包含脱壳生成的dex文件)
3.方式二
镜像地址
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 华中理工大学:http://pypi.hustunique.com/
- 山东理工大学:http://pypi.sdutlinux.org/
- 豆瓣:http://pypi.douban.com/simple/
1、安装frida-dexdump:pip install frida-dexdump -i https://pypi.tuna.tsinghua.edu.cn/simple
2、cmd打开一个命令窗口,进入python环境的安装目录xxx\Python37\Scripts,定位到 frida-dexdump 命令的目录
3、复制红色箭头处右侧的App应用程序包名,为后续的frida脱壳命令做准备
4、在xxx\Python37\Scripts目录,输入:frida-dexdump -U -f com.iCitySuzhou.suzhou001,开始脱壳
关于脱壳命令:
- 指定App的应用名称:frida-dexdump -U -n 保利票务
- 指定App的应用进程ID:frida-dexdump -U -p 3302
- 指定App的应用包名:frida-dexdump -U -f com.iCitySuzhou.suzhou001
5、会在xxx\Python37\Scriptsp的同级目录根据app包名生产一个文件夹(包含脱壳生成的dex文件)
四、反编译
将dex按照大小排序,同时将多个dex 的脚本拉入jadx窗口(可以删除最小的几个dex文件,如果分析的时候觉得内容不全,只删除最小的dex文件)
反编译完成
这里记录一个关于dex文件打开错误的问题,jadx.plugins.input.dex.DexException: Bad checksum
解决方案
在文件->首选项中找到[dex-input]verify dex file checksum before load,选择否即可,即关闭校验
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Frida-Dexdump 的使用,关于具体的案例请查看我的其他博文;
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**