常用的android脱壳工具,Android万能脱壳机
我本人一般不习惯也不喜欢发帖子,但是看着身边人经常说自己在哪里哪里发过什么原创帖子,感觉没发过几个原创帖子都不好意思在社会上混了。
很多人觉得Android加固很牛逼,试着用各种方法去研究,然后弄个脱壳机,牛不牛逼咱不知道,写个脱壳机还是可以的。
Android加固分为Dex加固和so加固,我这里只给出脱dex的方法,本人声明仅用于学习交流目的,你们不要用它搞破坏,本人对此概不负责!!!
下面提供两种方法:
方法一:
核心思路:反射 + mCookie(其实脱壳的点太多了,这是其中一个)
步骤:
1、找到加固apk的任一class,一般选择主Application或Activity
2、通过该类找到对应的Classloader
3、通过该Classloader找到BaseDexClassLoader
4、通过BaseDexClassLoader找到其字段DexPathList
5、通过DexPathList找到其变量Element数组dexElements
6、迭代该数组,该数组内部包含DexFile结构
7、通过DexFile获取其变量mCookie和mFileName(这个名字没什么鸟用)
至此我们已经获取了mCookie
对该mCookie的解释(有些现在记不太清楚了):
#1、4.4以下好像,mCookie对应的是一个int值,该值是指向native层内存中的dexfile的指针
#2、5.0是一个long值,该值指向native层std::vector* 指针,注意这里有多个dex,你需要找到你要的
#3、我还测试了8.0手机,该值也是一个long型的值,指向底层vector,但是vector下标0是oat文件,从1开始是dex文件
// 至于你手机是那个版本,如果没有落入我上面描述的,你需要自己看看代码
8、根据mCookie对应的值做转换,最终你能找到dexfile内存指针
9、把该指针转换为dexfile结构,通过findClassDef来匹配你所寻找的dex是你要的dex
10、dump写文件
代码说明(代码包括java层和native层,但java层只需定义一个native函数即可):
1、代码核心部分为dump_dex.h 和 dump_dex.cpp,里面涉及你需要自行实现的部分(我测试用的5.0.2 moto手机,
如果你的手机版本或者手机型号不同,你可能需要修改我表明的地方)
2、代码相对简单,你可以自行阅读
坑:
此方法思路相对简单,但是操作相对繁琐
1、你需要重打包apk
2、如果遇到签名校验,你同时需要在重打包中加入hook签名代码
方法二:
核心思路(方法数不胜数,这是其中一个毕竟简单的):
hook系统libart.so的ClassLinker->DefineClass函数
hook工具:
frida
这里提供了两种测试方式:
1、基于命令行的(dexcl.js)
2、基于python程序的(dumpdex.js + main.py)
注意:
你可能需要修改的地方(代码已经对可能需要修改的地方进行了标明)
1、我测试手机是moto 5.02版本,不同版本不同手机该导出函数的原型可能不同,你需要修改
2、有函数原型不同的原因,传入参数可能需要修改,相应的Interceptor.attach的args相关需要进行修改
3、你的class descriptor需要修改为你要找的dex的里面任一类(如Lcom/example/hello/MainApplication;)
4、python中的相应的class descriptor,js文件路径,保存dump的dex路径
测试机型 moto 5.02,frida版本12.6.8
脱壳方法千千万,特别是方法二的思路千千万,随便找个点秒脱,记住他们在变也不会脱离系统机制,否则谁也玩不起来。
关于适配,代码里都有标明,相信只要你会编程和汇编都可以轻松搞定。
受大家影响,没个github都不好意思混了,欢迎学习交流。
最后于 2019-7-30 17:12
被angelToms编辑
,原因: 修改链接
常用的android脱壳工具,Android万能脱壳机相关推荐
- Android开发工具Android Studio、Android SDK和Genymotion完全配置
所谓"工欲善其事,必先利其器".Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Androi ...
- android 测试工具,Android开源项目第四篇:开发及测试工具篇
本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...
- android集成测试工具,android – 集成测试和Cucumber测试
要使用Gradle命令行工具启用Android Test Orchestrator,请完成以下步骤: android { defaultConfig { ... testInstrumentation ...
- android 清理工具,Android 版 Avira Optimizer 是 Android 手機清理工具
隨著時間推移,應用程式.相片.視訊和音樂會塞滿您的手機或平板電腦,拖慢系統性能.適用於 Android 的 Avira Optimizer 是最佳的 Android 清理工具,其中包括: Smart ...
- android 实用工具,android实用工具高效
一 .Android Debug Database Android Debug Database是一个非常酷的开源工具,完全改变了debug 数据库和shared preferences的方式.现在你 ...
- android 以太网工具,Android使用ethtool工具查询/设置以太网网卡状态
一.编译ethtool工具 Android命令行中不含ethtool工具,所以需要自己编译. 1.下载最新源码:ethtool-4.5.tar.xz 源码地址: 2.解压 把ethtool-4.5.t ...
- android oom工具,Android OOM-Heap,MAT工具检测内存泄露
概述 在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在 ...
- 360加固一键脱壳工具2020_如何脱壳加固过的Apk并利用其API“走近数据库”
0x00 寻找突破口 打开首页,emm 就一个登录页面,没了 随便写点东西提交看看 天生手欠的我一不小心就多输了一个单引号 WDNMD,除了数字和字母其他都不行? 这叫我怎么测? 刚刚要放弃,就在这时 ...
- android meta工具,android ota 升级包制作分析 (5 工具)
工具 1 mkbootfs mkbootfs的源代码在system/core/cpio中. ? ? mkbootfs -f boot_filesystem_config.txt targetfiles ...
- android arp工具,Android内网攻击防御安全测试工具(开源)
想必经历过4M宽带小水管年代的小伙伴,大多都晓得P2P终结者这枚网管神器,它可以通过ARP协议的漏洞来达到限制同一路由器下其他电脑网速的目的. 如今移动互联网时代飞速发展,大家都用上了50M.甚至10 ...
最新文章
- 如何使用SMOD和CMOD进行SD的用户增强
- [SCOI2007]降雨量
- 学习select(函数)
- FreeSql (三)实体特性
- 高度为5的3阶b树含有的关键字个数_第15期:索引设计(索引组织方式 B+ 树)
- Beam概念学习系列之SDKs
- 就地过年的年轻人都去搜索“年夜饭”外卖了
- 集合运算 蓝桥杯 set容器
- vue+高德地图 点击地图获取经纬度和详细地址
- vuecli添加和移除插件_『Clickteam Fusion插件开发基础』
- 坚果云根目录同步冲突解决方法
- 向量运算(点积,叉积)
- 小程序canvas画入圆形图片
- Reading Ingestion —— Paxos Made Simple
- oracle hot patch david,Hotpatch文件介绍
- linux如何做动态壁纸实验报告,Ubuntu制作动态壁纸
- python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息
- RRT_star MATLAB
- 74HC165并转串级联芯片学习记录
- 数据分析师三个等级_【数据分析课|这三个等级的数据分析师报考条件,一定是你需要的】- 环球网校...