ws2_32.dll和wsock32.dll api捕获的问题

oyunicorn 2003-12-06 04:23:27
http://www.codeproject.com/system/hooksys.asp?target=hook
我利用上述code框架(修改exe的输入节),实现我的网络api捕获功能。(win2k, xp
下)最开始我只是捕获wsock32.dll,一般的应用程序都没什么问题,在测试
outlook express6和bulletftp2.42的时候,发现不能捕获,或者应用程序
通过只是通过ws2_32.lib连接的也不能捕获。
后来我试图添加对ws2_32.dll相关api捕获,发现很多问题。
为了排除我的code问题,我只是捕获,连log都不记录了。好比:
int WINAPI CModuleScope::Myconnect(
SOCKET s,
const struct sockaddr* name,
int namelen
)
{
//sm_pInstance->LogMessage("Myconnect");
return ::connect(s, name, namelen);
}
以foxmail4.2为例,当我只是捕获wsock32.dll的connect,可以很好的工作,无论
foxmail4.2在我的server启动之前启动还是后启动。当我加入对ws2_32.dll捕获或
者只是对ws2_32.dll捕获,如果foxmail先启动,然后启动我的server,没有问题;
如果我的server先启动,然后启动foxmail,总是告诉我网络子系统初始化出错。
很多网络应用程序在我的server启动后启动,都会出现不能初始化网络子系统的问
题。
关于进程创建:
上面对于进程创建是通过PsSetCreateProcessNotifyRoutine在内核空间添加自己
处理信息的方式获得进程创建的事件,然后通过LoadLibrary将我们的hooktool.dll
植入目标进程,在该dll的DLL_PROCESS_ATTACH事件中做api hook的事情。
哪位大侠研究过那个hook机制,请指定一二。
谢谢了!!!
...全文
59 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧