截获各种IM Messager的聊天记录

本文探讨了如何截获各种即时聊天工具如QQ、POPO、MSN等的聊天内容。主要方法包括分析通信协议(由于加密和协议未公开,不推荐)和利用Hook API及Hook COM组件接口。重点讲述了通过Hook TextOut、ExtTextOut等API函数以及替换系统库(如RICHTX32.OCX、riched32.dll等)来捕获聊天信息,同时也提到了Hook IME接口和利用消息机制(如WM_CHAR、WM_IME_CHAR)作为辅助手段。
摘要由CSDN通过智能技术生成

         对于当前流行的各种即时聊天工具,截获聊天内容大致有两种办法。第一种,分析通信协议。第二种,通过截取控件的消息或者Hook Api或者是Hook Com组件的接口。第一种,方式存在严重 的问题,因为某些聊天工具的协议没有公开,另外聊天内容很多都已经加密。所以本文主要来讨论第二种方式。

         首先,我们来介绍一下一些将要用到的基本知识。对于老版本的聊天工具,他们的文本窗口一般是Edit或者RichEdit控件,当前使用的新版本的聊天工具多数是自定义的窗口类。对于Edit和RichEdit控件我们可以通过给控件发送消息来获取控件中的文本(当然,前提是这些控件的消息没有被屏蔽掉)。这种方式很简单,而且当今流行的新版本的聊天工具都是自定义的控件并且消息多数都被屏蔽掉,所以在这里我们着重讨论使用Hook Api和Hook COM 组件的接口来实现聊天信息的截取。

         对于Hook Api的方式,我们一般可以通过截获TextOutA,TextOutW,ExtTextOutA,ExtTextOutW,DrawTextA,DrawTextW这些Api函数来截获聊天内容,因为不管使用什么控件来做为聊天窗口,它们一定是通过调用这些Api函数来实现文字的输出的。

        对于Hook COM组件接口和Hook WIndows 的系统库来实现聊天内容的截获,一般来说,我们可以替换系统的RichEdit和Edit动态连接库来实现,这些系统库包括:RICHTX32.OCX,riched32.dll,riched20.dll...。

        另外,还有一些辅助的方式,对于输入法我们还可以Hook IME的接口,来截获文本内容。对于控件中的文本内

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值