监听某一端口信息 ( 积分: 20 )

  • 主题发起人 主题发起人 anotherdelphi
  • 开始时间 开始时间
A

anotherdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
起初想编个小程序来监听是否有QQ发来的信息,现在大概的思路是通过监听QQ的通信端口来实现,不知道是否可行?!如果可行请大家指点一下,delphi网络方面的编程我比较陌生!
 
问题是有一个线程在监听那个端口了,其他的没法监听了啊。。。
你说的不是监听而是监视吧
只有Hook才能实现
 
可以说说你的见解吗?
 
使用ApiHook,截获winsock.dll的函数,截获所有数据包,判断其端口是否为QQ的通信端口,然后你自己处理。
ApiHook比较麻烦,首先需要自己写个dll注入QQ进程,注入方式有四种(估计QQ早就搞定了),CreateRemoteThread、SetWindowHook来装载你的dll使你的dll与QQ在同意地址空间,然后什么修改函数地址,使你要Hook的Api指向你的函数地址,处理完再跳转回去。还有是最差的方式,自己写个dll替换winsock.dll,实现winsock.dll中所有的导出函数(不现实),还有一种不记得了。。。。
技术麻烦,而且QQ有防护,估计除了那个最差的方式,其他都不行的。
 
lake_cx:惊为天人,我佩服你!qq 13665393。
 
qq的保护没想象中强的,很容就久进去了。
替换winsock的话 windows系统保护(sfc)和杀毒软件都会跟你过不去吧。
 

Similar threads

回复
0
查看
848
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
875
DelphiTeacher的专栏
D
后退
顶部