先看看效果

一个程序,如果想做单例,无非就是遍历进程,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相关推荐

  1. 基于微信小程序云开(统计学生信息并导出excel)2.0版

    前言 随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端.然而在2017年"微信之父"张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的 ...

  2. 基于微信小程序云开(统计学生信息并导出excel)3.0版

    前言 随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端.然而在2017年"微信之父"张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的 ...

  3. 基于微信小程序云开(统计学生信息并导出excel)4.0版(稳定版)

    前言 随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端.然而在2017年"微信之父"张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的 ...

  4. xposed微信长视频转发_实现可以跨版本使用的微信 Xposed 模块

    众所周知的,微信每个版本升级后,变量名都会有一些变化,引起过去的 xposed 模块失效,所以针对微信的 xposed 模块都有版本判断,以便告知用户该模块适应哪个版本.而一旦用户不小心把版本升级了, ...

  5. 微信为什么打不开html,微信打不开怎么回事 微信打不开解决方法

    有朋友反映以前微信还用的好好的,后来突然就打不开了,然后卸载,重新下了一个,还是不能用,微信打不开都不知道怎么回事.其实这种情况大多都是版本不匹配,可以在官网下载适合自己机型或者是手机系统的微信,如果 ...

  6. cydia多开微信_微信陌陌多开(N开)并且分开推送及一键隐藏教程

    微信,陌陌这类神器的作用大家都知道了,应该都迫切的需要双开甚至是N开微信和陌陌,今天就教大家N开微信陌陌并且分开推送吧,而且还可以一键隐藏多余的微信和陌陌喔,以免被家里那位检查手机. 首先,需要准备的 ...

  7. 关于西门子PC Adapter USB对于PPI协议的支持问题的结论(2015-10-19相反的结论):

    PPI协议是西门子S7-200端口的标配协议,并且可以组态成自由端口协议.目前市面上有很多PC Adapter USB号称支持S7-200.300.400的编程.但是,在对于S7-200编程时,很多人 ...

  8. python hook pc微信_一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~...

    原文链接一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~​mp.weixin.qq.com 导语 众所周知,前段时间微信彻底关闭了网页版微信登录入口.于是一大波基于itchat ...

  9. 震惊!微信PC端也能多开!

    前言:逛帖子的时候遇到一篇有趣的帖子,我们现在的手机基本支持微信多开,但是电脑不能多开.其实原理就是微信启动采用了单例模式的设计结构,但是又没有采用双校验锁的机制,仿佛是故意留下的暗门一样,可以让我们 ...

  10. 最新版微信 C# 微信HOOK 源代码,微信版本 3.0.0.57

    郑重声明 本套代码是基于超级稳定的c++,而非易于崩溃的易语言 C#微信HOOK 支持最新版微信 3.0.0.57!! 江南鹤微信hook二次开发源代码,hook部分是基于c++进行开发,运行稳定,无 ...

最新文章

  1. linux 卸载yaf,LINUX操作系统怎么搭建YAF框架
  2. 转让app后AppStore应用名称下面所有者显示问题
  3. inline-block代替浮动布局float:left列表布局最佳方案
  4. 神经网络到底是如何做出决策的?
  5. 每一个有理想的程序员都应该读的一本书-《rework》
  6. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
  7. 真实集群中Flink命令行各种模式提交wordcount
  8. Navicat使用教程:使用Navicat Premium 12自动执行数据库复制(四)
  9. python哈姆雷特词频统计_python—文本词频统计 哈姆雷特 txt 下载
  10. c 易语言置入代码6,易语言置入代码.doc
  11. vivado 2018 下载地址
  12. 977计算机考研,中国海洋大学 977计算机技术与软件工程专业课经验分享
  13. contextcapture多区块点云_Smart 3D (ContextCapture) 4.4.6版本最新功能
  14. 集成学习—多算法融合
  15. 手游App渠道推广统计
  16. (每日一练c++)有效的数独
  17. 几个命令查看ELF文件的“秘密”
  18. 同时使用两片I2C同型号设备时地址怎样设置 (如何更改器件地址)
  19. Java多线程——生产者消费者问题
  20. 2020.4.5 xctf(mfw)②

热门文章

  1. python解压7z文件_如何读取用7z压缩的文本文件?
  2. CUBA - 一个卓越的 Java 快速开发框架
  3. 红蜘蛛 v6.2.1160解除键鼠屏蔽以及实现窗口化
  4. 将视频的以flv格式转换mp4格式
  5. 如何用C语言编程序化交易,程序化交易的开发步骤
  6. “双一流”高校,整体搬迁!
  7. onblur()无限触发问题
  8. firefox插件下载失败
  9. Linux运维工程师必备工具合集
  10. [集训队作业2018]uoj 449 喂鸽子 - min-max容斥 - dp - NTT