无域剑客 2023-10-04 20:15 采纳率: 100%
浏览 16
已结题

使用x64dbg给微信TextOutW函数下断点,为什么不命中?

使用x64dbg的32位版本给32位微信的TextOutW函数下断点,函数确实存在,断点也下好了,为什么一直不命中?求各位道友帮忙解惑,非常感谢

img

补充:
1.首先我能保证地址没有问题,因为我使用HawkOD、x32dbg和CheatEngine查找TextOutW函数得到的都是相同的地址;
2.与断点类型应该也没有关系,我在多种调试器中都试了硬件断点和软件断点,均无法命中;
3.至于反调试技术,我觉得可能性比较小,因为我本来目的是利用TextOutW这个API给微信注入一些代码以便快速获取信息,注入后,TextOutW函数原指令处的指令确实变成了跳转到我写的函数的指令,在x32dbg中双击这个指令,也确实能跳转到了我写的函数里面,但是不管是否处于调试状态,我写的函数里面的代码都没有执行,因此我判断可能不是调试导致TextOutW函数的断点无法命中,我感觉TextOutW这个函数可能没有被执行,但是我从别的地方了解的又是微信显示文本用的是TextOutW,到底怎么回事啊,郁闷死了

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-04 22:42
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    有几种可能的原因导致断点没有命中:

    1. 使用了错误的地址:请确保已正确找到微信的TextOutW函数的地址。可以使用IDA Pro或其他反汇编工具来确认函数地址。

    2. 使用了错误的断点类型:请确保使用了适当的断点类型。在x64dbg中,可以使用硬件断点(Access Breakpoint或Write Breakpoint)或软件断点来调试函数。

    3. 微信使用了反调试技术:微信可能使用了一些反调试技术来阻止断点的命中。这些技术可能包括检测调试器的存在、更改函数地址或使用代码混淆等。查看微信的调试保护机制并尝试绕过它们。

    4. 异步线程或延迟加载:微信可能在其他线程中执行TextOutW函数,或者使用了延迟加载机制。在这种情况下,您可能需要等待适当的时机下断点,或者检查其他相关的函数调用。

    请注意,在对微信进行调试时要遵守法律法规,并尊重其他人的隐私。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月17日
  • 已采纳回答 8月9日
  • 修改了问题 10月5日
  • 创建了问题 10月4日

悬赏问题

  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题