天天看点

企业微信HOOK逆向(PC端)

通过HOOK PC端的企业微信提取出各个功能的接口让外界调用。

目前已经完成以下功能:

获取登录二维码/登录信息/登出信息;

获取自己信息/好友信息/内部联系人/外部联系人/标签列表/群列表;

搜索添加微信好友/设置联系人备注、手机号、描述、标签;

创建群聊/群拉人、踢人/发群公告/改群名/加群好友/进群、退群通知;

收发各种类型的消息;

生成个人/群二维码;

具体功能可以查看链接:

企业微信接口文档

部分代码示例:

void VXWorkElf_xxxx8::GetLoginQrcode()
{
#ifdef VMP_VERIFY
	VMProtectBeginMutation("");
#endif

	DWORD dwLoadParamCall = m_moduleBaseAddr + 0xxxxxxD0;
	DWORD dwGetLoginQrcodeCall = m_moduleBaseAddr + 0xxxxx20;

	static VXGetLoginQrcodeParam param{ 0 };
	param.objectClassPtr = m_moduleBaseAddr + 0xxxxxDC;
	param.refCount = 0xx;
	param.refCountExt = 0xx;
	__asm {
		pushad
			lea edi, param
			mov ecx, edi
			add ecx, 0x10
			call dwLoadParamCall
		popad
	}
	param.func = m_moduleBaseAddr + 0xxxxBC;
	param.forwardThis = (DWORD)&param;
	param.fowardFunc = (DWORD)&param.func;

	DWORD start = DPUInt(m_moduleBaseAddr, 0xxxxx64, 0xxx4, 0x0);
	*(param.pSubParam) = start;

	this->LoadNetCallBackParam(param.callbackParam);

	CHAR buff[0x100] = { 0 };
	__asm {
		pushad
			lea eax, buff
			push eax
			lea ecx, param
			add ecx, 0x10
			call dwGetLoginQrcodeCall
		popad
	}

#ifdef VMP_VERIFY
	VMProtectEnd();
#endif
}
           

需要的可以联系本人:

char qq[] = "601728235";

char verifyText[] = "wxwork";

继续阅读