可能的方案:
-
找微信判断标识的代码位置,然后直接patch掉,或者整个dll进去patch。然后大致去翻了一下,貌似代码在wechatwin.dll,然后加了vmp壳,所以就不折腾这个了。
-
直接通过代码kill掉这个Mutex的句柄(类似Pchunter操作),然后就可以开启第二个实例了,貌似明显更有优势啊。
-
额,如果觉得无所谓,每次开之前用pchunter关一次句柄也行,下面就不用看了…
这里选择第二个方案,开始代码。
流程:
1. 枚举句柄,找到_WeChat_App_Instance_Identity_Mutex_Name的mutant
2. duplicate句柄到本进程,然后close
3. 启动微信
下面是主要代码:
`//步骤1和2的代码 //获取到微信所有进程句柄 DWORD Num = GetProcIds(L"WeChat.exe", Pids); ... Status = ZwQuerySystemInformation(SystemHandleInformation, pbuffer, 0x1000, &dwSize); PSYSTEM_HANDLE_INFORMATION1 pHandleInfo = (PSYSTEM_HANDLE_INFORMATION1)pbuffer; for(nIndex = 0; nIndex < pHandleInfo->NumberOfHandles; nIndex++) { //句柄在Pids中,就是微信进程的句柄信息 if(IsTargetPid(pHandleInfo->Handles[nIndex].UniqueProcessId, Pids, Num)) { HANDLE hHandle = DuplicateHandleEx(pHandleInfo->Handles[nIndex].UniqueProce


1473

被折叠的 条评论
为什么被折叠?



