VXHOOK分析

查看 42|回复 4
作者:donk1   
VXHOOK分析(v3.9.12.51)2025.6.28
使用工具:
  • x64dbg:下载地址
  • Cheat Engine:下载地址

    一、定位当前聊天窗口地址
    1.1 附加微信进程
    使用Cheat Engine附加微信进程,选中微信后点击“Open”。

    1.2 搜索特定微信ID
    由于“文件传输助手”的微信ID固定为filehelper,因此首先使用UTF-16编码搜索该字符串。

  • 切换微信会话到文件传输助手界面,点击“First Scan”。


  • 若搜索结果较多,将微信会话切换到任意单个好友界面(注意不是群聊),在CE输入wxid_,点击“Next Scan”。


  • 重复此操作直到搜索结果精简到约5个左右。

    1.3 准确定位会话地址
  • 全选剩余地址(快捷键:Alt + A)。
  • 右键逐步通过二分法确认地址,直到确定当前会话发送的消息被文件传输助手接收。


    二、使用x64dbg定位消息发送函数
    2.1 附加微信进程
  • 打开x64dbg 64位版本,选择并附加微信进程。


  • 如果附加后微信界面卡顿,按照提示进行恢复操作。


    2.2 跳转至地址并设置断点
  • 在x64dbg中,使用快捷键Ctrl + G跳转至定位的会话地址。
  • 在该地址上右键设置断点。
  • 回到微信发送消息,程序将会暂停。


    2.3 确定消息发送函数
  • 在断点处分析传入参数,确定微信ID和消息内容所在的函数。


  • 通过函数调用地址计算偏移(偏移 = 函数地址 - 微信基址)。

    2.4 参数分析
    消息发送函数的参数如下:
  • rcx:上下文缓冲区地址
  • rdx:接收者微信号
  • r8:发送的消息内容
  • r9:输出缓冲区地址
  • [rsp+28]:标识符,设置为1即可,无需额外处理

    三、定位微信基址
  • 在x64dbg中,点击"Memory Map"标签,找到WeChatWin.dll的模块信息。
  • 模块的基址即为需要的微信基址。


    使用Cheat Engine,输入微信号进行搜索(注意取消UTF-16选项),并从搜索结果中选择绿色的地址。

    双击选中地址,进入详细视图。


    最终得到的地址即为微信的基址。
    下一篇教程将具体介绍代码的实现方法。

    地址, 基址

  • ____________   

    最后面图片挂了
    zylyvcd   

    支持一下,学习了,谢谢
    叫我阿鹏   

    上4.0版本吧,目前太少分析4版本的
    htpidk   

    支持一下,学习了,谢谢
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部