Привет.короче озадачился я тут : при обращении к серверу используется DnsQueryA или DnsQueryW, как можно перехватить эти функции,для определенного сайта,и выдать лупбэк(не подмену dns запроса , а именно так)?буду благодарен за помощь кодом(делфи или масм) з.ы. библиотека DNSAPI
Запущена программа которая все время определяет список запущенных процессов, и если определяет что запущен новый - инжектит в него DLL, коорая перехватывает функцию. И не надо использовать всякие там madCodeHook и т.д. - проще написать самому сам процесс инжекта и перехвата. А в идеале написать простенький драйвер, который отслеживает создание процесса(гуглим "PsSetCreateProcessNotifyRoutine") и инжектит(это посложнее) нашу DLL. На счет драйвера я думаю проблем не будет с теневой установкой, обычно у простых юзеров на домашних компах стоит учетка с максимальными правами.
2DooD: про перехват http://www.cppfrance.com/forum/sujet-DNSQUERY-HOOK-DETOURS_1405365.aspx 2Jingo Bo: не обязательно лезть в ядро, да и проблем с корректным внедрением будет куча (облажаетесь с apc), лучше использовать юзермодный аналог: CreateProcessNotify ()
2 http://www.cppfrance.com/forum/sujet-DNSQUERY-HOOK-DETOURS_1405365.aspx это просто ужасная вещь. снимать и ставить постоянно перехват это жестоко. Тем более при много поточности будут осечки постоянные. ПО идее проще заюзать дизассемблер длин инструкций.
что крутого в Detours? юзаю length disasm and splicer engine из tinyWh ver 1.0b by sn0w https://forum.antichat.ru/showthread.php?t=121588 HakaR я просто спросил, может кто знает)
разница какая? В расположении и последовательности букв в именах функций и библиотек? Или же считаете, что для dnsapi.dll специально придумали формат отличный от PЕ и отдельный механизм загрузки и работы с ней с той лишь целью, чтобы школота функции в ней не перехватила?