lovered
驱动牛犊
驱动牛犊
  • 注册日期2003-11-28
  • 最后登录2003-12-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1757回复:2

技术求助

楼主#
更多 发布于:2003-11-28 11:05
我开发了一个用来拦截SOCKET包的程序,通过挂钩将一个线程
插入了远程进程,然后修改其输入节表,挂接了sw2_32.dll模块的SEND,RECV,SENDTO,RECVFROM和kernel32.dll的GetProcAddress
函数,然后用我的函数中转了这些函数,实现截取中间通讯数据
的目的。
    我为测试该程序,自己做了一个简单的s/c程序,拦截程序
做的很好,从中拦截到了SOCKET包,但是当我用它拦截IE,OICQ
却什么都没拦截到,而且我发现IE它调用SEND函数是通过使用
GetProcAddress取的SEND的地址进行调用的,但当我想用我的
MYSEND函数的地址代替SEND函数的地址返回时,IE就罢工了,
我怀疑时不时IE里面对这个SEND函数的地址进行的效验。不符合
地址段就罢工呢。
    我用的时WIN2000系统,测试用的S/C程序未使用MFC类。
    再这里先说声谢了
reayi
驱动牛犊
驱动牛犊
  • 注册日期2002-11-06
  • 最后登录2010-03-30
  • 粉丝0
  • 关注0
  • 积分83分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-23 01:33
LoadLibrary怎么能不挂呢,但这样的挂接始终不完美,完美的挂接是修改要挂接  API 的入口指令,比如int 0xN,但这要涉及的问题就多了,页面保护属性只读的修改,异常中断的处理,指令的回复等等


每个进程的地址空间都是独立的,两个进程相同的线性地址通过分页机制映射的物理地址大多数情况下完全不一样(内存文件映射可以一样)
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2004-01-05 18:00
无所谓,进入RING0后,修改,注意驱除和恢复WP的保护属性。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
游客

返回顶部