wxhelper
wxhelper copied to clipboard
hookmsg后,过一段时间就接收到不到消息了
如题:
- 使用的微信版本3.9.2.23
- 启动微信后,使用命令
Injector.exe -n WeChat.exe -i wxhelper.dll
成功注入 - 设置hook
{
"port": "11646",
"ip":"127.0.0.1",
"url":"http://127.0.0.1:11646/wxhelper/msg",
"timeout":"5000",
"enableHttp": true
}
我的11646端口服务,一直在;消息刚开始能接到,每次都是hookmsg后一段时间就无法再接受到消息了;
同 微信版本:3.9.5.81 wxhelper版本:3.9.5.81
tcp和http都如此,看hooklog日志同步似乎是在工作的:
2024-04-18 23:54:05 [info] [65132] - <hooks.cc>|<152>|<wxhelper::hooks::HandleSyncMsg>,add msg work:true
2024-04-18 23:54:05 [info] [65132] - <hooks.cc>|<152>|<wxhelper::hooks::HandleSyncMsg>,add msg work:true
同 微信版本:3.9.5.81 wxhelper版本:3.9.5.81
tcp和http都如此,看hooklog日志同步似乎是在工作的:
2024-04-18 23:54:05 [info] [65132] - <hooks.cc>|<152>|<wxhelper::hooks::HandleSyncMsg>,add msg work:true 2024-04-18 23:54:05 [info] [65132] - <hooks.cc>|<152>|<wxhelper::hooks::HandleSyncMsg>,add msg work:true
我改成3.9.8.25好像稳一点了,这几天没跑了
3.9.5.81 持续使用2个月无异常
3.9.2.23 老版本是有这个bug,3.9.5.81的版本应该修复了,记不清了
推荐tcp的连接,http的有点bug,新版本修复了。
推荐tcp的连接,http的有点bug,新版本修复了。
问题依旧存在,http_client.cc中HttpClient::OnHttpEvent中data相当于创建了个新对象。done赋值无效。会导致mgr对象无法释放。当资源耗尽时请求就无法继续了。 最简单的示例:
struct Data {
bool done;
std::string post_data;
};
void dataHandler(void* fn_data) {
Data data = *(Data*)fn_data;
data.done = true;
//Data* pData = (Data*)fn_data;
//pData->done = true;
}
int main()
{
Data data;
data.done = false;
std::cout << "first data done " << data.done << std::endl;
dataHandler(&data);
std::cout << "second data done " << data.done<< std::endl;
return 0;
}