企业微信PC版hook源码api接口
1121
2022-08-01
通过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(DWORDqrcode)
{
//获取图片长度
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];
发表评论
暂时没有评论,来抢沙发吧~