个人微信PC版hook发朋友圈源码api接口
作者:互联网
通过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];
标签:__,lea,char,PC,源码,朋友圈,NULL,asm,hFile 来源: https://www.cnblogs.com/hwmytr/p/16295537.html