ttttupup / wxhelper

Hook WeChat / 微信逆向
MIT License
1.98k stars 562 forks source link

hookmsg后,过一段时间就接收到不到消息了 #392

Open chimojiacai opened 3 months ago

chimojiacai commented 3 months ago

如题:

  1. 使用的微信版本3.9.2.23
  2. 启动微信后,使用命令Injector.exe -n WeChat.exe -i wxhelper.dll 成功注入
  3. 设置hook
    {
    "port": "11646",
    "ip":"127.0.0.1",
    "url":"http://127.0.0.1:11646/wxhelper/msg",
    "timeout":"5000",
    "enableHttp": true
    }

    我的11646端口服务,一直在;消息刚开始能接到,每次都是hookmsg后一段时间就无法再接受到消息了;

caffrey-ccc commented 3 months ago

同 微信版本: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
chimojiacai commented 3 months ago

同 微信版本: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好像稳一点了,这几天没跑了

HyperClockUp commented 3 months ago

3.9.5.81 持续使用2个月无异常

ttttupup commented 3 months ago

3.9.2.23 老版本是有这个bug,3.9.5.81的版本应该修复了,记不清了

ttttupup commented 3 months ago

推荐tcp的连接,http的有点bug,新版本修复了。

caomfan commented 1 week ago

推荐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;
}