企业微信PC版hook源码api接口

fangcloud 1151 2022-08-08

本文转载自网络公开信息

企业微信PC版hook源码api接口

通过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];

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表亿方云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱daifeng@360.cn 处理。
上一篇:用VBA代码来进行图片更换而无需插入这些图片(vba更改图片属性)
下一篇:wps的滚动条不见了(wps显示滚动条)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~