# 企业webhook **Repository Path**: xiaohui-box/enterprise-webhook ## Basic Information - **Project Name**: 企业webhook - **Description**: 企业微信PC版hook源码api接口 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-02-22 - **Last Updated**: 2022-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 通过hookPC企微内存调用函数,实现各种方便的功能,支持各种开发语言调用,现已实现的功能: 发各种消息, 接收各种消息,外部群内部群管理,手机号加好友,名片加好友,标签管理,开放平台openid和用户id互相转换打通官方人员管理 等等功能,无限更新中… 部分c++代码示例: 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[0x1030]; 欢迎技术交流,QQ:2645542961