На пике славы: перехват api
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
На пике славы: перехват api - 2008-03-05 21:04:01.783333
|
|
|
dcoder
Сообщений: 121
Оценки: 0
Присоединился: 2006-10-24 21:25:54.240000
|
Кто помнит такую статью? Задача у меня стоит просто: в трафике одну строку заменить на другую. Использую библиотеку advApiHook. Перехватываю вот что:
HookProc('ws2_32.dll', 'recvfrom', @Nrecvfrom, @OldRecvfrom);
HookProc('ws2_32.dll', 'sendto', @Nsendto, @OldSendto);
HookProc('ws2_32.dll', 'recv', @Nrecv, @OldRecv);
HookProc('ws2_32.dll', 'send', @Nsend, @OldSend);
HookProc('ws2_32.dll', 'WSARecv', @NWSARecv, @OldWSARecv);
HookProc('ws2_32.dll', 'WSASend', @NWSASend, @OldWSASend);
HookProc('ws2_32.dll', 'WSASendto', @NWSASendto, @OldWSASendto);
Ну и соответственно в обработчиках полученные данные от оригинальных функций исправляю как мне надо. С IE все происходит отлично. Но ни фаерфокс, ни опера на такую уловку не реагируют. На сколько я знаю, обращаться к сети по-другому нельзя, только через эти функции… или нет? Где умные браузеры меня обходят? :)
|
|
|
RE: На пике славы: перехват api - 2008-03-06 02:31:22.026666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Юзай мелкософтовский detours.
|
|
|
RE: На пике славы: перехват api - 2008-03-06 08:53:52.316666
|
|
|
dcoder
Сообщений: 121
Оценки: 0
Присоединился: 2006-10-24 21:25:54.240000
|
Аха, хорошая штука, спасибо что тыкнул носом. Доку нарыл, буду разбираться. Только вот дело-то кажется не в технике перехвата, т.к. в IE все ловится. Вот дизасм показал, что фаер вызывает recv/send из своей dll'ки nspr.dll. Может в этом дело?
|
|
|
RE: На пике славы: перехват api - 2008-03-06 11:57:55.703333
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: dcoder Ну и соответственно в обработчиках полученные данные от оригинальных функций исправляю как мне надо. С IE все происходит отлично. Но ни фаерфокс, ни опера на такую уловку не реагируют. На сколько я знаю, обращаться к сети по-другому нельзя, только через эти функции… или нет? Где умные браузеры меня обходят? :) Работать с сетью можно и с помошью ReadFile/WriteFile если привести дескриптор сокета к типу HANDLE с помошью приведения типов.
|
|
|
RE: На пике славы: перехват api - 2008-03-06 12:36:45.340000
|
|
|
blаcksun
Сообщений: 1670
Оценки: 0
Присоединился: 2007-11-19 20:03:45.703333
|
Бери дебагер и смотри как все устроено, йа ][з, может опера снимает хуки ..
|
|
|
RE: На пике славы: перехват api - 2008-03-06 12:54:04.126666
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: blаcksun Бери дебагер и смотри как все устроено, йа ][з, может опера снимает хуки .. FF не снимает - точно.
|
|
|
RE: На пике славы: перехват api - 2008-03-06 18:34:12.323333
|
|
|
dcoder
Сообщений: 121
Оценки: 0
Присоединился: 2006-10-24 21:25:54.240000
|
quote:
Работать с сетью можно и с помошью ReadFile/WriteFile если привести дескриптор сокета к типу HANDLE с помошью приведения типов Еще не проверял, но по логике оно должно вызвать recv/send из ws2_32.dll
|
|
|
RE: На пике славы: перехват api - 2008-03-06 19:12:46.790000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Должно… если не юзает сокеты 1.1
|
|
|
RE: На пике славы: перехват api - 2008-03-06 21:30:27.136666
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
deleted - (не имею возможности проверить мысль)
|
|
|
RE: На пике славы: перехват api - 2008-03-07 17:37:29.976666
|
|
|
dcoder
Сообщений: 121
Оценки: 0
Присоединился: 2006-10-24 21:25:54.240000
|
quote:
не имею возможности проверить мысль Извини, успел подсмотреть твою мысль. Я тоже не проверял, но вполне вероятная. Просто тогда бы recv/send отлавливались, если бы они даже использовали те функции, что ты упомянул.
|
|
|
RE: На пике славы: перехват api - 2008-03-21 23:59:42.143333
|
|
|
archiemp
Сообщений: 1
Оценки: 0
Присоединился: 2008-03-21 20:57:29.410000
|
Сейчас решаю ту же проблему, но без использования сторонних библиотек вроде Detours и AdvApiHook. Думаю так… Если Опера "не ведется" на хуки в ws2_32 и юзает send/recv из других библиотек, то почему не попробовать поставить хук на GetProcAddress и отдавать адреса своих обходных ф-ций? Реализовал это через аттач библиотеки путем AppInit_DLLs и модификацией IAT процесса для ф-ции GetProcAddress, но всё равно облом :) … т.е. Опера получает адреса нужных ей ф-ций другим путем, вероятно напрямую из таблицы экспорта нужных библиотек ( если есть мысли как возможно еще - буду рад услышать ). Если именно так, то наверное надо ставить хук на LoadLibrary и после загрузки нужной DLL менять ее таблицу экспорта. (З.Ы. ICQ: 633-802, если что - пишем, не стесняемсо…)
|
|
|
RE: На пике славы: перехват api - 2008-03-23 03:50:58.020000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Метод, описанный в detours "разжёван" на сайте RSDN.ru - советую поискать там.
|
|
|
RE: На пике славы: перехват api - 2008-04-17 02:17:46.320000
|
|
|
41pa
Сообщений: 59
Оценки: 0
Присоединился: 2008-01-14 21:01:45.740000
|
ребята да все прекрасно работает как на ИЕ, так и Опере,Мозилле ошибка точно в коде…Нужно сначала знать как функции релизяться а потом уж браться за перехват…Курите доки МСДН - и все станет ясно =)
|
|
|
|
|