C++ HOOK PC微信实现无限制多开,理论支持所有版本,本文使用微信 3.0.0.47
先看看效果
一个程序,如果想做单例,无非就是遍历进程,mutex
微信这里使用的就是mutex 互斥
微信启动的时候 会调用
CreateMutexW 来创建一个互斥句柄
具体的代码如下
CreateMutexW(0, FALSE, L"_WeChat_App_Instance_Identity_Mutex_Name"); ;
想要做破解这个也挺简单的
我这里做的是打开微信的时候,注入我自己的DLL,通过修改(_WeChat_App_Instance_Identity_Mutex_Name)来做到多开
具体操作也不难
OD打开微信
Ctrl + G 输入 CreateMutexW
然后点击OK按钮
OD会跳到
我们在这里按F2 下一个断点 然后点击运行程序
程序会执行到这里之后 断下来 我们看堆栈窗口
左键点击它一下 然后按回车键 跳到调用这个的call
到这里,我们就可以看到
_WeChat_App_Instance_Identity_Mutex_Name
是由
7A84A285 68 A8A0557B push WeChatWi.7B55A0A8 ; _WeChat_App_Instance_Identity_Mutex_Name
压入到栈堆的
我们记录下这里 然后回到模块 插件WeChatWin.dll 这个模块的基址
我们算下偏移
算法:
地址 - 模块基址 = 偏移量
0x7A84A285 - 0x79EE0000 = 0x96A285
到了这里 我们就拿到了我们要注入修改的地址的偏移值
然后,我们打开VS 新建一个DLL
然后键入代码
使用也简单
新建一个exe 调用CreateProcess
CreateProcess("微信目录", NULL, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi)
创建一个挂机的微信进程
然后通过注入吧 把这个DLL 注入到微信
然后恢复挂起进程,就大功告成了,支持无限多开
打开就是这么写
如果有不懂的,也可以加我QQ: 3195774121
最后 附上代码
#include "pch.h"
#include <Ntsecapi.h>typedef const UNICODE_STRING* PCUNICODE_STRING;typedef struct _LDR_DLL_LOADED_NOTIFICATION_DATA {ULONG Flags;PCUNICODE_STRING FullDllName;PCUNICODE_STRING BaseDllName;PVOID DllBase;ULONG SizeOfImage;
} LDR_DLL_LOADED_NOTIFICATION_DATA, * PLDR_DLL_LOADED_NOTIFICATION_DATA;typedef struct _LDR_DLL_UNLOADED_NOTIFICATION_DATA {ULONG Flags;PCUNICODE_STRING FullDllName;PCUNICODE_STRING BaseDllName;PVOID DllBase;ULONG SizeOfImage;
} LDR_DLL_UNLOADED_NOTIFICATION_DATA, * PLDR_DLL_UNLOADED_NOTIFICATION_DATA;typedef union _LDR_DLL_NOTIFICATION_DATA {LDR_DLL_LOADED_NOTIFICATION_DATA Loaded;LDR_DLL_UNLOADED_NOTIFICATION_DATA Unloaded;
} LDR_DLL_NOTIFICATION_DATA, * PLDR_DLL_NOTIFICATION_DATA;typedef const PLDR_DLL_NOTIFICATION_DATA PCLDR_DLL_NOTIFICATION_DATA;typedef VOID(NTAPI* PLDR_DLL_NOTIFICATION_FUNCTION)(ULONG NotificationReason, PCLDR_DLL_NOTIFICATION_DATA NotificationData, PVOID Context);
typedef NTSTATUS(NTAPI* PfnLdrRegisterDllNotification)(ULONG Flags, PLDR_DLL_NOTIFICATION_FUNCTION NotificationFunction, void* Context, void** Cookie);
typedef NTSTATUS(NTAPI* PfnLdrUnregisterDllNotification)(void* Cookie);#define LDR_DLL_NOTIFICATION_REASON_LOADED 1
#define LDR_DLL_NOTIFICATION_REASON_UNLOADED 2void* PvCookie = NULL;VOID NTAPI LdrDllNotification(ULONG NotificationReason, PCLDR_DLL_NOTIFICATION_DATA NotificationData, PVOID Context) {switch (NotificationReason) {case LDR_DLL_NOTIFICATION_REASON_LOADED:if (wcscmp(NotificationData->Loaded.BaseDllName->Buffer, L"WeChatWin.dll") == 0) {DWORD base = (DWORD)NotificationData->Loaded.DllBase;DWORD address = base + 0x96A285;wchar_t name[60];memset(name, 0, 60);wsprintf(name, L"_WeChat_App_Instance_Identity_Mutex_%d", GetCurrentProcessId());BYTE push[5] = { 0 };push[0] = 0x68;*(DWORD*)&push[1] = (DWORD)name;WriteProcessMemory(GetCurrentProcess(), (LPVOID)address, push, 5, 0);}break;}
}BOOL APIENTRY DllMain(HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) {HMODULE module = GetModuleHandleW(L"ntdll.DLL");PfnLdrRegisterDllNotification PLdrRegisterDllNotification;PfnLdrUnregisterDllNotification PLdrUnregisterDllNotification;switch (ul_reason_for_call) {case DLL_PROCESS_ATTACH://装载监听if (module != NULL) {PLdrRegisterDllNotification = (PfnLdrRegisterDllNotification)GetProcAddress(module, "LdrRegisterDllNotification");PLdrRegisterDllNotification(0, LdrDllNotification, NULL, &PvCookie);}break;case DLL_THREAD_ATTACH:break;case DLL_THREAD_DETACH:break;case DLL_PROCESS_DETACH://卸载监听if (module != NULL) {PLdrUnregisterDllNotification = (PfnLdrUnregisterDllNotification)GetProcAddress(module, "LdrUnregisterDllNotification");PLdrUnregisterDllNotification(PvCookie);}break;}return TRUE;
}
C++ HOOK PC微信实现无限制多开,理论支持所有版本,本文使用微信 3.0.0.47相关推荐
- 基于微信小程序云开(统计学生信息并导出excel)2.0版
前言 随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端.然而在2017年"微信之父"张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的 ...
- 基于微信小程序云开(统计学生信息并导出excel)3.0版
前言 随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端.然而在2017年"微信之父"张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的 ...
- 基于微信小程序云开(统计学生信息并导出excel)4.0版(稳定版)
前言 随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端.然而在2017年"微信之父"张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的 ...
- xposed微信长视频转发_实现可以跨版本使用的微信 Xposed 模块
众所周知的,微信每个版本升级后,变量名都会有一些变化,引起过去的 xposed 模块失效,所以针对微信的 xposed 模块都有版本判断,以便告知用户该模块适应哪个版本.而一旦用户不小心把版本升级了, ...
- 微信为什么打不开html,微信打不开怎么回事 微信打不开解决方法
有朋友反映以前微信还用的好好的,后来突然就打不开了,然后卸载,重新下了一个,还是不能用,微信打不开都不知道怎么回事.其实这种情况大多都是版本不匹配,可以在官网下载适合自己机型或者是手机系统的微信,如果 ...
- cydia多开微信_微信陌陌多开(N开)并且分开推送及一键隐藏教程
微信,陌陌这类神器的作用大家都知道了,应该都迫切的需要双开甚至是N开微信和陌陌,今天就教大家N开微信陌陌并且分开推送吧,而且还可以一键隐藏多余的微信和陌陌喔,以免被家里那位检查手机. 首先,需要准备的 ...
- 关于西门子PC Adapter USB对于PPI协议的支持问题的结论(2015-10-19相反的结论):
PPI协议是西门子S7-200端口的标配协议,并且可以组态成自由端口协议.目前市面上有很多PC Adapter USB号称支持S7-200.300.400的编程.但是,在对于S7-200编程时,很多人 ...
- python hook pc微信_一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~...
原文链接一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~mp.weixin.qq.com 导语 众所周知,前段时间微信彻底关闭了网页版微信登录入口.于是一大波基于itchat ...
- 震惊!微信PC端也能多开!
前言:逛帖子的时候遇到一篇有趣的帖子,我们现在的手机基本支持微信多开,但是电脑不能多开.其实原理就是微信启动采用了单例模式的设计结构,但是又没有采用双校验锁的机制,仿佛是故意留下的暗门一样,可以让我们 ...
- 最新版微信 C# 微信HOOK 源代码,微信版本 3.0.0.57
郑重声明 本套代码是基于超级稳定的c++,而非易于崩溃的易语言 C#微信HOOK 支持最新版微信 3.0.0.57!! 江南鹤微信hook二次开发源代码,hook部分是基于c++进行开发,运行稳定,无 ...
最新文章
- linux 卸载yaf,LINUX操作系统怎么搭建YAF框架
- 转让app后AppStore应用名称下面所有者显示问题
- inline-block代替浮动布局float:left列表布局最佳方案
- 神经网络到底是如何做出决策的?
- 每一个有理想的程序员都应该读的一本书-《rework》
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
- 真实集群中Flink命令行各种模式提交wordcount
- Navicat使用教程:使用Navicat Premium 12自动执行数据库复制(四)
- python哈姆雷特词频统计_python—文本词频统计 哈姆雷特 txt 下载
- c 易语言置入代码6,易语言置入代码.doc
- vivado 2018 下载地址
- 977计算机考研,中国海洋大学 977计算机技术与软件工程专业课经验分享
- contextcapture多区块点云_Smart 3D (ContextCapture) 4.4.6版本最新功能
- 集成学习—多算法融合
- 手游App渠道推广统计
- (每日一练c++)有效的数独
- 几个命令查看ELF文件的“秘密”
- 同时使用两片I2C同型号设备时地址怎样设置 (如何更改器件地址)
- Java多线程——生产者消费者问题
- 2020.4.5 xctf(mfw)②