Giter Site home page Giter Site logo

wechatrobot's Introduction

注意

PC微信hook源码,仅供学习,请不要用于商业、违法途径,本人不对此源码造成的违法负责!

当前项目适配的微信版本为3.2.1.154

本项目为Demo版本,仅供学习参考。

QQ Group:548601183

点击链接加入群聊【鬼手逆向交流群】:https://qm.qq.com/q/sMlbUmeRdm

微信图片_20240115203443

说明:此群仅限学习和交流,无其他用处

如果觉得本项目对你有帮助 可以打赏一下作者 毕竟开源不易

pay

更新说明

显示二维码闪退程序

解决方案:安装VS2017 勾选使用C++的桌面开发。问题即可解决

1565193001736

2019-7-26

  1. 添加艾特群成员功能——好友列表->右键->查看群成员->右键->艾特群成员
  2. 添加删除群成员功能——好友列表->右键->查看群成员->右键->删除群成员
  3. 针对编译不过的问题 剥离解密数据库功能 请使用VS2017进行编译
  4. 如果编译不过 请将平台工具集和SDK版本修改为机器上的最新版本
  5. 需要解密数据库功能请使用带解密数据库功能的成品

2019-7-29

  1. 修复bug
  2. 新增微信重要call的特征码 有参数注释和可用于OD搜索的十六进制特征码

2019-8-3

  1. 优化自动聊天功能

2019-9-5

  1. 新增功能:打开本程序自动启动微信 无需先启动微信再打开本程序
  2. 聊天记录本地备份
  3. 将成品编译方式修改为静态编译 无需安装VS环境

2019-9-18

  1. 新增打开浏览器功能
  2. 新增微信收款语音到账提示
  3. 新增对邀请和移除群聊消息的解析(群成员邀请统计功能雏形)
  4. 新增保存联系人到文本*(菜单->设置->保存联系人)
  5. 修复图片解密失败bug

实现功能

WeChatHelper

项目介绍

编译环境为VS2017 只支持微信2.6.8.52版本。附上2.6.8.52微信版本的安装包

链接:https://pan.baidu.com/s/1kZTBDPHNSSbyC1tVP-Lj8g 提取码:d9oj

1563679851680

1563679859287

项目分为两个端,WeChatRobot和WeChatHelper。WeChatRobot作为客户端负责和服务端进行通信,将服务端传回的数据显示到界面。WeChatHelper作为服务端,注入到微信进程,进行取数据和HOOK的相关操作,并且将取回的数据发回给客户端。

客户端和服务端之间采用WM_COPYDATA的方式进行进程通讯,互相传输数据

效果演示

下面演示部分效果

初始化

将WeChatRobot.exe和WeChatHelper.dll放在同一个目录下,先打开微信,再打开exe

1563680573456

截取二维码

1563680585192

点击显示二维码 微信会自动跳转并截取二维码显示到客户端,再次点击可以刷新二维码

检测微信登陆状态&显示所有联系人

显示联系人

这里由于WM_COPYDATA通信状态下是阻塞的原因 所以联系人多的话可能会有些卡顿

发送文本 图片 和文件消息

![发送文本 图片 文件消息](assets/发送文本 图片 文件消息.gif)

添加&删除好友

添加和删除好友

接收并显示所有类型消息

1563686929418

无限多开

1563687391099

解密数据库

解密数据库

自动聊天

自动聊天

自动收款

自动收款

自动提取微信表情

微信的表情加密存放在下面的目录

C:\Users\GuiShou\Documents\WeChat Files\crt873217126\FileStorage\CustomEmotion

1563686532775

这个功能会将所有的未加密的表情存放到Temp目录下的WeChatExpressions文件夹里

还有很多效果,就不一一录制演示Gif了

技术细节

PCXX逆向:使用HOOK拦截二维码:https://blog.csdn.net/qq_38474570/article/details/92798577

PCXX逆向:发送与接收消息的分析与代码实现:https://blog.csdn.net/qq_38474570/article/details/93339861

PC微信逆向:两种姿势教你解密数据库文件:https://blog.csdn.net/qq_38474570/article/details/96606530

声明

本项目仅供技术研究,请勿用于任何商业用途,请勿用于非法用途,如有任何人凭此做何非法事情,均于作者无关,特此声明。

wechatrobot's People

Contributors

tonychen56 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wechatrobot's Issues

如何获取群用户昵称

看了大部分博客,写的很不错。真动起手来还是各种问题。我发现获取群成员的时候,并没有得到群成员的昵称。博主能否研究一下,并分享下过程 ?

vs2019编译WeChatHelper后大小只有50k

WeChatHelper项目打开提示升级到vs2019,编译后生成文件只有50kb,注入后微信卡死,cpu使用超过80%.系统崩溃。成品软件的WeChatHelper有178.5k。

期望增加API接口通信

我在想,能否通过客户端获取到数据后,发送给python或者php之类的程序进行解析使用?这样就更加扩大了项目的拓展性。

关于解密数据库

是否可以完全备份手机上的聊天记录,包括图片语音等信息。
我想做一个项目将自己的聊天自己存到云端,手机快装不下了。
目前只找到从IOS备份文件提取聊天记录的方法,不知道你这个是否可以。
望解惑,谢谢~

VS2019 无法编译

错误如下:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4235 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 WeChatHelper \wechathelper\wechathelper\friendlist.cpp 445

同时接收多条消息时会有消息丢失

聊天消息和公众号推送一起收到时会出现聊天消息没抓到,只显示了一条公众号消息的情况。
如果不发聊天消息,只开着软件接收公众号消息,会出现如果短时间内来了多个公众号的消息,会只能抓到一条。
麻烦作者看一下,谢谢。

Some question about previous project——DB-tf

Excuse me, I have forked your previous project DB-tf .
It seems you have pretrained model on CTW1500 with Resnet50, and U also release it on Baidu netdisk.
Howerver , it has been time out . May I borrow it for futher study?
Thanks much!

可以利用特征码来自适应新版

看了下工程,工作量挺大的,作者肯定付出了很多精力和时间,感谢分享。
一个小建议:目前版本只兼容指定版本,很容易随着新版本的发布而逐渐失效。可以制定一套特征码搜索机制,根据指令来自动搜索到需要patch的地方,理论上可以无限兼容新版,即使有一次不兼容,可以适当调整下特征码即可。

资源泄露

CInjectTools.cpp 这个文件里好多 RegCloseKey 和 CloseHandle 逻辑都有问题,该关闭的时候没有关闭。

已登录的问题

请问为什么在WeChatHelper中检测到已经登录了,传入WM_AlreadyLogin给WeChatRobot就直接让程序退出了呢?不能在已经登录状态下运行有啥原因啊

不能接收图片

图片消息只让去手机端查看,不能解析出图片数据或者图片地址么

可以利用特征码来自适应新版

看了下工程,工作量挺大的,作者肯定付出了很多精力和时间,感谢分享。
一个小建议:目前版本只兼容指定版本,很容易随着新版本的发布而逐渐失效。可以制定一套特征码搜索机制,根据指令来自动搜索到需要patch的地方,理论上可以无限兼容新版,即使有一次不兼容,可以适当调整下特征码即可。

关于消息超过200字符崩溃原因

我想请教下为什么在字符限制200以内不会崩溃,这个有什么解决办法吗,能不能在发送消息之前对消息进行切片处理发送,之前主要在web编程,windows编程不太熟悉,还望请教下-.-

推送信息丢失。

同一时间(比如都是12点39分)推送过来的公众号信息,软件只能接收到1个公众号的推送信息,其他的无法接收到

项目不能编译

1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(165): error C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(166): error C2065: “call”: 未声明的标识符
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(166): error C2146: 语法错误: 缺少“;”(在标识符“dwCallAddr1”的前面)
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(167): error C2065: “mov”: 未声明的标识符
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(167): error C2146: 语法错误: 缺少“;”(在标识符“ecx”的前面)
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(167): error C2065: “ecx”: 未声明的标识符
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(167): error C2065: “eax”: 未声明的标识符
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(168): error C2065: “call”: 未声明的标识符
1>d:\vswork\wechatrobot\源码\wechathelper\wechathelper\login.cpp(168): error C2146: 语法错误: 缺少“;”(在标识符“dwCallAddr2”的前面)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.