Frida-Dexdump 脱壳工具下载使用以及相关技术介绍
文章目录
前言
一、查壳、反编译、APK工具推荐
二、查壳
1.方式1
2.方式二
三、脱壳
1.启动frida服务
2.方式一
3.方式二
四、反编译
总结
前言
本案例使用的App是:引力播.apk,涉及到查壳、脱壳、反编译;
提示:以下是本篇文章正文内容,下面案例可供参考
一、查壳、反编译、APK工具推荐
ApkScan-PKID 查壳工具下载使用:https://blog.csdn.net/EXIxiaozhou/article/details/127196615
JDAX-GUI 反编译工具下载使用:https://blog.csdn.net/EXIxiaozhou/article/details/127207762
二、查壳
1.方式1
将apk拖入查壳工具后提示为:《360》加固则为有壳,需要脱壳之后才能进行反编译,没壳可以直接反编译;
2.方式二
修改apk的后缀为zip,进行解压,查看解压后的文件下的lib目录,博主推荐第一种方式;
不同的公司,有不同的加壳方式,常见的如下
公司名称 | 对应的壳包名 |
---|---|
爱加密 | 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
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.方式二
1、安装frida-dexdump:pip install frida-dexdump -i
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 的使用,关于具体的案例请查看我的其他博文;