适用 最新版微信2.7.1.88
新建一个项目
将上面的代码替换成下面的
#include "pch.h"
using namespace std;
void InitWindow();
void GetMyinfo();
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)InitWindow, hModule, 0, NULL);
CloseHandle(hThread);
break;
}
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
void InitWindow() {
GetMyinfo();
}
wstring UTF8ToUnicode(const char* str)
{
int textlen = 0;
wchar_t* result;
textlen = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
result = (wchar_t*)malloc((textlen + 1) * sizeof(wchar_t));
memset(result, 0, (textlen + 1) * sizeof(wchar_t));
MultiByteToWideChar(CP_UTF8, 0, str, -1, (LPWSTR)result, textlen);
wstring tempstr(result);
free(result);
result = NULL;
return tempstr;
}
void GetMyinfo() {
DWORD dwWeChatWinAddr = (DWORD)GetModuleHandle(L"WeChatWin.dll");
wchar_t TotalInfo[0x1000];
char* Headimgurl = (char*)(*(DWORD*)(dwWeChatWinAddr + 0x13975A4));
char* Phone = (char*)(dwWeChatWinAddr + 0x1397310);
char* Provinces = (char*)(dwWeChatWinAddr + 0x13973C8);
char* Device = (char*)(dwWeChatWinAddr + 0x1397718);
char* wxid ;
/*if (IsBadReadPtr((char*)(*(DWORD*)(dwWeChatWinAddr + 0x1397264)),sizeof(char*))) {
wxid = (char*)(*(DWORD*)(dwWeChatWinAddr + 0x1397264));
} else{
wxid = (char*)(dwWeChatWinAddr + 0x1397264);
}*/
char City[] = "null";
swprintf_s(TotalInfo, L"头像: %s 手机号: %s ", UTF8ToUnicode(Headimgurl).c_str(), UTF8ToUnicode(Phone).c_str());
MessageBox(NULL, TotalInfo, TEXT("当用户信息"), MB_OK | MB_ICONWARNING);
}```
```cpp
注入微信后的效果