PC微信逆向-PC微信HOOK-发送Gif表情(版本3.0.0.47)

今天来讲一下发送Gif表情图片文件,先看效果(左边是原微信,右边是我的微信助手):

PC微信逆向-PC微信HOOK-发送Gif表情(版本3.0.0.47)_第1张图片

下面是OD中发送GIF的汇编代码(基址:78090000):

 

PC微信逆向-PC微信HOOK-发送Gif表情(版本3.0.0.47)_第2张图片

 

HOOK代码(vc++):


//微信通用结构体
struct GeneralStruct
{
	wchar_t* pstr;
	int iLen;
	int iMaxLen;
	int full1 = 0;
	int full2 = 0;
};

/*发送GIF图片
//wchar_t* wxid 要发送人的微信Id
//wchar_t* filepath gif文件路径
*/
void SendGifFile(wchar_t* wxid, wchar_t* filepath)
{
	DWORD dwBase = (DWORD)GetModuleHandle(TEXT("WeChatWin.dll"));
	DWORD para = dwBase + 0x153DCD0;
	DWORD dwCall1 = dwBase + 0x5660B0;
	DWORD dwCall2 = dwBase + 0x5660F0;
	DWORD dwCall3 = dwBase + 0x312370;

	//构造需要的数据
	GeneralStruct wxidStruct = { 0 };//微信帐号数据结构
	wxidStruct.pstr = wxid;//帐号
	wxidStruct.iLen = wcslen(wxid);//长度
	wxidStruct.iMaxLen = wcslen(wxid) * 2;//最大长度

	GeneralStruct filePathStruct = { 0 };//文件数据结构
	filePathStruct.pstr = filepath;//文件名
	filePathStruct.iLen = wcslen(filepath);//文件名长度
	filePathStruct.iMaxLen = wcslen(filepath) * 2;//文件名最大长度

	__asm{
		pushad
		push 0x0
		sub esp, 0x14
		mov ecx, esp
		push - 0x1
		push para; 参数
		call dwCall1;call1

		push 0x2
		sub esp, 0x14
		lea eax, wxidStruct; 微信Id
		mov ecx, esp
		push eax
		call dwCall2; call2

		sub esp, 0x14
		mov ecx, esp
		push - 0x1
		push para; 参数
		call dwCall1; call1

		sub esp, 0x14
		mov ecx, esp
		lea ebx, filePathStruct; GIF文件
		push ebx
		call dwCall2; call2

		mov ecx, eax
		call dwCall3; call3
		popad
	}
}

 至此,代码结束!如果此代码对你有帮助,请点赞或关注我,我会继续写出更多的源码,交流QQ 150311852

你可能感兴趣的:(微信逆向,微信HOOK,PC微信逆向)