個人微信PC版hook發朋友圈原始碼api介面
阿新 • • 發佈:2022-05-21
通過hookPC個微記憶體呼叫函式,實現各種方便的功能,支援各種開發語言呼叫,現已實現的功能:
發各種文字,圖片,小程式,視訊,XML等訊息,
接收各種訊息,加好友,群管理,收藏資訊操作,獲取朋友圈列表,點贊,評論,發朋友圈 等等功能介面,無限更新中
部分c++程式碼示例:
Void SendFriendMsg(std::wstring wxid, std::wstring text) { DWORD call1 = m_WeChatWinHandle + WxSendFriendMsgCallOff; stWxMesText asmId(wxid); stWxMesText asmText(text); char buf1[0x500] = { 0 }; char buf2[0x900] = { 0 }; __asm { lea eax, buf1; push 1; push eax; lea edi, asmText; push edi; lea edx, asmId; lea ecx, buf2; call call1; add esp, 0xC; } } void __declspec(naked) ShowImg() { //備份暫存器 __asm pushmdad; __asm pushwdfd; //取出ecx的內容 __asm mov pEcx, ecx; SaveImg(pEcx); //恢復暫存器 __asm pushwdfd; __asm pushmdad; //跳轉到返回地址 __asm jmp dwRetAddr; } void SaveImg(DWORD qrcode) { //獲取圖片長度 DWORD dwPicLen = qrcode + 0x4; size_t cpyLen = (size_t)*((LPVOID*)dwPicLen); //拷貝圖片的資料 char PicData[0xFFF] = { 0 }; memcpy(PicData, *((LPVOID*)qrcode), cpyLen); char szTempPath[MAX_PATH] = { 0 }; char szPicturePath[MAX_PATH] = { 0 }; GetTempPathA(MAX_PATH, szTempPath); sprintf_s(szPicturePath, "%s%s", szTempPath, "qrcode.png"); //將檔案寫到Temp目錄下 HANDLE hFile = CreateFileA(szPicturePath, GENERIC_ALL, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == NULL) { MessageBoxA(NULL, "建立圖片檔案失敗", "錯誤", 0); return; } DWORD dwRead = 0; if (WriteFile(hFile, PicData, cpyLen, &dwRead, NULL) == 0) { MessageBoxA(NULL, "寫入圖片檔案失敗", "錯誤", 0); return; } CloseHandle(hFile); //完成之後解除安裝HOOK UnHookQrCode(QrCodeOffset); }
歡迎技術交流:
HWND Qq[]=“2645542961”; wchar_t tempbuff[0x1024];