首页
社区
课程
招聘
[原创]PC微信发送消息研究(二)
发表于: 2018-5-9 14:28 6869

[原创]PC微信发送消息研究(二)

2018-5-9 14:28
6869
之前那种办法发送消息还是不太稳定很容易崩溃闪退
发个稳定的方式吧:

void sendMessage(const WCHAR * pwxid,const WCHAR * pmessage)
{
const WCHAR * writestring = (WCHAR *)pmessage;
int * p = (int*)((int)pWinImplBase+0xDEC);
VString * ptemp1 =  new VString;
memcpy(ptemp1,p,sizeof(VString));
wstring temp((WCHAR *)pwxid);
VString * pstring  = new VString;
pstring->pstting = (WCHAR*)temp.c_str();
pstring->size = temp.size();
pstring->lsize = temp.size();
memcpy(p,pstring,sizeof(VString));
void * psendwxid = nullptr;

__asm{
pushfd
pushad
mov  eax, pWinImplBase
mov ecx,dword ptr ds:[eax+0x9BC]
add ecx,0x9B0
lea eax,dword ptr ds:[ecx+0x14]
mov psendwxid,eax
popad
popfd
}

VString * ptemp2 =  new VString;
memcpy(ptemp2,psendwxid,sizeof(VString));
memcpy(psendwxid,pstring,sizeof(VString));
__asm{
pushfd
pushad
mov eax ,writestring
push eax
mov ecx,g_input_richedit
mov eax,[g_input_richedit]
mov eax,[eax]
call [eax+0x2C]
popad
popfd
}

__asm{
pushfd
pushad
mov ecx,pWinImplBase
call g_sendText
popad
popfd
}
//恢复数据
memcpy(p,ptemp1,sizeof(VString));
memcpy(psendwxid,ptemp2,sizeof(VString));

if (ptemp2)
{
delete ptemp2;
}
if (ptemp1)
{
delete ptemp1;
}
if (pstring)
{
delete pstring;
}
}
这种挂机比较稳定,不会出现奇奇怪怪的崩溃闪退,进一步可以优化掉 g_input_richedit 


[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 15
活跃值: (210)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢!又见更新。
2018-5-10 12:26
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
nice!!!!!!!!
2018-5-10 13:39
0
雪    币: 22
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
very  good!
2018-5-10 14:18
0
雪    币: 232
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
怎么能和你对话!哈哈
2022-8-12 17:15
0
游客
登录 | 注册 方可回帖
返回
//