首页
论坛
专栏
课程
3

简单apk脱壳工具源码

skyun 2018-8-7 17:40 7814

0x00 序1

刚看f8大佬开源了自己的脱壳机(能脱下函数抽取)。敬佩之心油然而生。瞬间也想开源一下我写的垃圾代码 来骗几个赞:之前也写过dalvik版的脱壳机 可惜不能脱函数抽取 不过改一下应该可以吧

0x01 序2

这个软件 涉及到的姿势有动态解析appminifest,xposed 和ndk 。ndk其实就是动态解析dex

0x02 序3

代码这东西好久不看真的会忘。这个代码是8个月前写的。写的时候感觉印象很深。现在不让看代码 描述一下。真是描述不了。代码开源出来 希望 有用

0x03 工具介绍

本工具是一个apk软件,打开后listview显示手机上安装的所有用户apk(图标➕apk名字),然后可以选择需要脱壳apk,然后再运行需要脱壳apk。即可完成脱壳。

 

代码实现:

 

1解析选择apk的apkminifest,获取其包名,ApplicationName,MainActityName。

 

2Xposed hook android.content.ContextWrapper attachBaseContext得到壳的classloder

 

3根据classloder继续hook真正类的oncreate。

 

4继续根据classloader获取内存中的所有cookie。

 

5继续调用jni。根据cookie能转换成DexFile,然后其实就是解析dex文件了。

 

6在内存其实他的指向都是完整的。只不过没有在连续的地方。dump下来的也就不完整。那么我就分部dump。1。classdef之前的,2classdef之后的,3classdef4.classdata,5opcode然后修改指向组合。
项目难点:得完全掌握dex文件格式,才能分模块dump各个段,然后组合成dex

 

解析method的截图

0x04 代码

具体代码在github
https://github.com/skyun1314/hook_and_parse_dex2/tree/master/app



快讯:看雪智能设备漏洞挖掘公开课招生中!

最后于 2018-8-7 17:44 被skyun编辑 ,原因:
本主题帖已收到 1 次赞赏,累计¥2.00
最新回复 (19)
猫子 2018-8-7 17:44
2
只能膜拜你们这些大佬
junkboy 2018-8-7 17:47
3
支持一下
默NJ 2018-8-7 17:59
4
6666666666666 大佬
不知世事 2018-8-7 19:23
5
大佬们动不动就开源脱壳机。。
yikuaiyingbi 2018-8-7 19:34
6
6666666
xianhuimin 2018-8-8 11:38
7
貌似不行,有稍微具体点的用法吗?
聖blue 2018-8-10 23:55
8
tianhaoday 2018-8-14 07:06
9
有成品嘛 劳烦编译一个给小白们用啊 好多APP检测XP框架
dryzh 2018-8-14 08:57
10
xp框架吗?
tDasm 2018-8-14 14:45
11
学习
zhuangbx 2018-8-14 20:21
12
学习
fzyspark 2018-8-16 10:22
13
学习了,双击666
重庆rcbing 2018-8-16 11:29
14
先留影,顶上去.收藏.
kkang 2018-8-16 13:32
15
学习
你瞒我瞒 2018-8-16 16:28
16
这种老大,必须顶一个啊。技术分享最帅
toyuk 2018-8-18 12:17
17
谢谢大佬
兔仙人会发光 2018-8-22 09:23
18
学习
旖旎中子 2018-8-27 11:18
19
脱壳完之后的文件在哪?
vurtneye 2018-8-30 16:46
20
onCreate能修复吗?
返回