首页
社区
课程
招聘
[讨论][原创][求助]基于Xposed的不那么通用的脱壳机
发表于: 2015-9-15 00:32 20742

[讨论][原创][求助]基于Xposed的不那么通用的脱壳机

2015-9-15 00:32
20742
基于Xposed的不那么通用的脱壳机

大四狗一枚,自学android一年有余,所以也来试试写个脱壳机啦。
首先声明需要安装Xposed,其次仅测试了腾讯加固宝和阿里聚。因为只逆向过这两个,知道原理,调试起来也比较容易。
测试环境:Android 4.1

需要感谢
http://bbs.pediy.com/showthread.php?t=203776
http://bbs.pediy.com/showthread.php?t=190494&highlight=zjdroid
两位大大
部分代码结构完全来源于两位

原理挺简单,大伙直接看代码就一清二楚了。
https://github.com/CvvT/DumpApk

测试腾讯的时候直接dump的dex代码中含有odex opcode,本来想那就直接dump整个odex文件,但是不知道为何dump出来的odex经过 baksmali.jar处理报了一堆错误,调试多天无果。卒。
还没来得及测试其他加固产品,脱壳原理可能比较有针对性,因而不适合其他产品,但还是发上来希望能有大大和我一起交流讨论

update 9.29
既解决阿里的问题之后终于知道tecent的问题在哪了,原来是手机的原因,我测试用的是miui

update 10.19
分享一下自己做的ppt
https://github.com/CvvT/DumpApk/blob/master/share.pptx
为了图方便,直接盗用了一些图,仅供学习交流,侵删

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (36)
雪    币: 6
活跃值: (90)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢楼主分享
2015-9-15 07:00
0
雪    币: 1039
活跃值: (355)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,这种hook方案。
2015-9-15 08:28
0
雪    币: 37
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢楼主分享
2015-9-15 16:30
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢分享,马上测试.
2015-9-16 10:04
0
雪    币: 76
活跃值: (206)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
感谢楼主分享
2015-9-16 17:56
0
雪    币: 178
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主,我在4.3上测试,发送广播命令没有反应呢?
2015-9-16 22:34
0
雪    币: 8
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我把需要注入的包名硬编码在代码中,你可能需要修改,见Xposed.java
2015-9-17 16:06
0
雪    币: 178
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
确认改掉了,只有发送广播命令没响应,其它的log都有的,如果没有改,其它log也肯定不会出来。我也很奇怪,CommandBroadcastReceiver就像没有注册一样
2015-9-17 16:39
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
坐等楼主出小白直接可以用的,这么复杂表示不会用。
2015-9-17 20:06
0
雪    币: 8
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
可能是在ModuleContext中,tecent和ali需要hook的方法还有点不一样,虽然可以都hook了,但是我懒得改啦。。。initModuleContext方法中你看看
2015-9-18 11:11
0
雪    币: 178
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
确实。。看到代码里注释掉了,我回头试试,谢谢。
2015-9-18 12:32
0
雪    币: 8
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
终于知道为什么不能将odex转成dex了,代码里一个偏移量写错了,囧
PS.最近在整理一些资料,结合自己写的这些工具以及自己所学知识,出一份关于脱壳的的ppt.也会放到github上的
2015-9-27 01:04
0
雪    币: 105
活跃值: (211)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
怎么发现这个秘密的
2015-9-28 18:46
0
雪    币: 8
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
????
2015-9-29 23:17
0
雪    币: 105
活跃值: (211)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
16
就是改偏移这个秘密呀
2015-9-29 23:22
0
雪    币: 8
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这不是什么秘密,是我自己大意了,一个值的计算忘记考虑头部大小而已
2015-9-30 21:32
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
18
dump内存后抠取dex,反编后smali里面好多#disallowed odex opcode,楼主帮忙解答一下,谢谢
2015-10-10 10:53
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
2015-10-10 21:27
0
雪    币: 275
活跃值: (320)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
20
作者你好,我想请教一下,我在编译您的源码时,总是会提示一个问题:
:app:dexArmDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
...while parsing android/support/v7/appcompat/R$anim.class
。。。
Error:Execution failed for task ':app:dexArmDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\environment\JDK8\bin\java.exe'' finished with non-zero exit value 1
   然后就编译失败了,不知道是不是我配置有问题,求教一下。
2015-10-11 15:50
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
2015-10-11 20:25
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
如果用 Android studio 应该不会用问题的,工程能顺利产生二个apk文件和libdump.so文件。你可能用eclipse,代码要重新组织的。
2015-10-11 20:37
0
雪    币: 275
活跃值: (320)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
23
原因找到了,是jdk的问题,gradle中加入
gradle中配置java版本
tasks.withType(JavaCompile) {            //指定编译JDK版本            
sourceCompatibility = JavaVersion.VERSION_1_7            
targetCompatibility = JavaVersion.VERSION_1_7        
}
就可以了
2015-10-12 09:32
0
雪    币: 275
活跃值: (320)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
24
作者再求解一下,像这种使用xposed的要怎么进行调试呢。调试方面一直觉得很麻烦。目前我是在注入代码上使用waitfordebugger进行远程调试的,不知道有没有更加简单的方法呢
2015-10-12 09:35
0
雪    币: 8
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
我之前改了代码你可以更新一下,直接dump odex文件,你需要自己用baksmali转成dex
2015-10-12 22:22
0
游客
登录 | 注册 方可回帖
返回
//