手机微信源码,分析微信协议通信方式

【研究环境】

研究对象:手机微信(V4.5版本)

运行环境:Android V2.3.4(安卓)

操作系统:WIN7

网络环境:WIFI

抓包工具:Microsoft Network Monitor 3、Wireshark(tcpdump

反编译工具:apktool、jd-gui

源码编辑器:Eclipse

文本搜索器:Search and Replace

分析目标:分析微信通信协议,数据包加密方法。

源码下载:http://l13.yunpan.cn/lk/Q2iBrtWFnREC5

 

【研究微信 - 感想】

1. 微信是这二年来成长最快的手机聊天工具,微信的未来会超越QQ,所以在做微信插件的小虾们是个发展方向。

2. 微信采用HTTP协议通信,body包全采用加密转递,通信加密等核心代码在libs/armeabi库实现。

3. 微信核心代码是用C写的,扩展名为“.so”,比如通信加密就在libMMProtocalJni.so文件中实现了。

4. 微信的应用层是用JAVA写的,可以用apktool反编译转成java源码,再找到调用.so文件的源代码,来实现libs/armeabi库文件中的功能。

5. 如果没有jni载入无法解析libs/armeabi库中的.so文件,可以在webos中采用dlopen/dlsym标准库函数来解析。

6. 如果能解密libs/armeabi库中的.so动态库文件,就可以在Windows平台上实现微信聊天的收发功能。

 

 

 

 

 

posted on 2013-02-25 14:27  我是小罗  阅读(11173)  评论(2编辑  收藏  举报

导航