首页
社区
课程
招聘
[旧帖] 为什么有的程序无法HOOK到socket函数呢? 0.00雪花
发表于: 2011-3-5 00:27 4861

[旧帖] 为什么有的程序无法HOOK到socket函数呢? 0.00雪花

2011-3-5 00:27
4861
我用下面的程序进行hook
                RandomHDID();

                g_hInstance = hModule;

                //创建事务
                g_hSendEvent = CreateEvent( NULL, FALSE, TRUE, NULL );

                //重写API开头的8字节
                HMODULE hCreateFile  = LoadLibrary( L"WSOCK32.DLL" );
                if (NULL == hCreateFile)
                {
                        MessageBoxA(NULL,"无法加载WSOCK32.DLL",NULL,MB_OK);
                        return FALSE;
                }
                g_oldsend = ( DWORD )GetProcAddress( hCreateFile, "socket" );
                if(NULL == g_oldsend)
                {
                        MessageBoxA(NULL,"无法定位CreateFileA函数入口地址",NULL,MB_OK);
                        return FALSE;
                }
                //保存原始字节
                if (0 == ReadProcessMemory( INVALID_HANDLE_VALUE, ( void * )g_oldsend,
                        ( void * )g_dwOldBytes[0], sizeof( DWORD )*2, NULL ))
                {
                        MessageBoxA(NULL,"无法读取地址",NULL,MB_OK);
                        return FALSE;
                }
                //将00400000改写为我们函数的地址
                *( DWORD* )( g_btNewBytes + 1 ) = ( DWORD )mysocket;
                WriteProcessMemory( INVALID_HANDLE_VALUE, ( void * )g_oldsend,
                        ( void * )g_btNewBytes, sizeof( DWORD )*2, NULL );  
                //MessageBoxA(NULL,"成功加载DLL","正确",MB_OK|MB_ICONINFORMATION);
                MessageBoxA(NULL,"成功加载",NULL,MB_OK);

有的程序就能进入我的mysocket函数,而像QQ(还有一些别的程序)就无法进入到我的mysocket函数当中。WSOCK32.DLL和WS2_32.DLL两个文件我都试过,都不行。
难道可以有不通过soket进行通信的方法么?
(其实我是想截获某个程序的send函数发送的内容,结果hook不到send。情急之下试着hook了socet函数,居然也失败了~!)

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 3800
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
用OD调试一下,不就什么都知道了,不是乱Hook函数就能拦截的,主要是看程序调用哪个函数
2011-3-5 00:44
0
雪    币: 1141
活跃值: (759)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
针对单一程式的话
试下 hijack ws_32.dll吧
2011-3-5 15:14
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
用OD调试,在可疑的api函数调用下断点,看哪个会被调用,再hook相应的函数。
有可能是其他的相同功能的函数被调用。
2011-3-7 09:52
0
游客
登录 | 注册 方可回帖
返回
//