首页
社区
课程
招聘
[原创][原创]微信系列研究之-手把手教你脱掉微信的外衣
发表于: 2015-5-2 08:53 36763

[原创][原创]微信系列研究之-手把手教你脱掉微信的外衣

2015-5-2 08:53
36763
前言
微信5.3以后,除了代码加混淆外,还把一些plugin关键的代码加了壳,防止被反编译。

本文主要介绍微信5.3/5.4简单脱壳的办法和大家分享,感谢大家的关注。

本文为微信系列研究的一部份,
从我以前的发表的文章,大家可以看到我们在逐步一点点地由外入内,由浅入深,进入微信的研究(方便新手进阶)。得到代码后,攻击和突破微信的防范就有目标了。

如果大家反映强烈(回帖超过30),后续还有
如何突破微信的文件加密,如何修改微信的源码,如何突破微信的客户端合法性认证等。

原理

1.APK早期的加壳把代码隐藏在APK中JAR包或其他资源中,在启动时再将该部分代码加载到内存中。
  我们需要找到这个文件即可。

攻略

1. ps 查看进程编号

          PID
app_61    25495 123   314352 39636 ffffffff 400185e0 S com.tencent.mm

2. cat /proc/25495/maps,看一下进程的内存映射情况。

我们会发现微信除了加载com.tencent.mm-1.apk@classes.dex还加载了com.tencent.mm.plugin.mutidex.dex
和com.tencent.mm.plugin.mutidex.jar(为com.tencent.mm.plugin.mutidex.dex的压缩包)

/data/dalvik-cache/data@app@com.tencent.mm-1.apk@classes.dex
/data/data/com.tencent.mm/app_cache/com.tencent.mm.plugin.mutidex.dex
/data/data/com.tencent.mm/app_dex/com.tencent.mm.plugin.mutidex.jar

3.将com.tencent.mm.plugin.mutidex.dex该文件拷贝出来,该文件实际上为odex

adb pull /data/data/com.tencent.mm/app_cache/com.tencent.mm.plugin.mutidex.dex   com.tencent.mm.plugin.mutidex.odex

4.利用baksmali将该odex转化为smali,再转化为dex

  4.1 把手机中的/system/framework下所有文件拷到电脑中baksmali工具的/system/framework

  4.2 在利用baksmali将该odex转化为smali
  java -jar baksmali.jar -d ./system/framework -x com.tencent.mm.plugin.mutidex.odex
  4.3 利用smali将 out目录下的文件打包成dex

5.利用dex2jar将该dex转化为jar
dex2jar.bat com.tencent.mm.plugin.mutidex.dex

6.利用jd-gui把jar批量转化为JAVA代码

总结:
1.APK早期的加密把代码隐藏在APK中JAR包或其他资源中,在启动时再将该部分代码加载到内存中。
2.万变不离其宗,APK的JAVA代码最后都得到虚拟机内存中去解释执行。利用简单的命令就可以简单脱壳及研究代码流程和变量。
3.在内存里的DEX为ODEX格式。
4.思路很重要,看我的文章建议看思路,工具使用都是其次。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 5
支持
分享
最新回复 (44)
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哈哈,支持脱衣!!!
2015-5-2 09:49
0
雪    币: 1556
活跃值: (853)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
3
not bad!
2015-5-2 09:51
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持,我也想搞微信
2015-5-2 10:29
0
雪    币: 37
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
绝对支持~搞死,搞残,搞怀孕!~微信大肚子~!
2015-5-2 10:33
0
雪    币: 1305
活跃值: (213)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
6
支持啊,为30 +1
2015-5-2 11:21
0
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
up xuexi
2015-5-2 11:35
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
8
微信都被搞啦。。支持
2015-5-2 19:40
0
雪    币: 6
活跃值: (1104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
越来越彪悍了
2015-5-2 20:05
0
雪    币: 22
活跃值: (242)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
10
微信都要被搞啦
2015-5-2 21:10
0
雪    币: 76
活跃值: (206)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
11
LZ  加油...
2015-5-2 22:43
0
雪    币: 19
活跃值: (594)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
搞定微信 就发达了。
2015-5-2 22:48
0
雪    币: 4443
活跃值: (2066)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
如果能做更详细就好了  环境什么滴 用什么调试滴
2015-5-2 23:11
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
刚刚开始学习安卓安全,谢谢分享
2015-5-3 01:23
0
雪    币: 111
活跃值: (1508)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
收藏,以备日后学习`
2015-5-3 12:32
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习了,收藏
2015-5-3 16:09
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
lz真牛,俺就坐下来学习下
2015-5-3 16:23
0
雪    币: 31
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
思路很不错,就是不知道帖子会不会被封掉
2015-5-3 17:04
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
讲的很清除。很好,收藏先,谢谢楼主
2015-5-3 17:33
0
雪    币: 199
活跃值: (306)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
mark mark lz 继续脱衣
2015-5-3 19:21
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
get!get!
2015-5-4 10:19
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
大侠,按你的功夫流程,练了一遍,很高雅的内功啊。
2015-5-4 11:04
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
up up up
2015-5-4 13:51
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
支持 支持
2015-5-4 16:13
0
雪    币: 1305
活跃值: (252)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
25
有你们的支持是我的动力
2015-5-4 20:26
0
游客
登录 | 注册 方可回帖
返回
//