Ставим векторный обработчик исключений. Делаем невалидным указатель BASE_SYSINFO.PageSize(секция данных kernel32!) на который ссылается kernel32!IsBadReadPtr(). Обрабатываем исключение. Ссылку на BASE_SYSINFO находим из первой инструкции kernel32!TermsrvAppInstallMode().
Clerk что-то ты круто как-то загнул))) Не понял я. Когда-то на компе была малвара, там был перехват InternetSetStatusCallback, Вот только как он был реализован не помню. У меня не получается перехватить эту функцию, нету ее вызова., обьясните мне почему? Ослик же полюбому запускает колбек функцию, как он это делает????
вот что я придумал. Делаю перехват InternetConnect и ставлю коллбек на свою функцию Код (Text): function NInternetConnect(hInet: HINTERNET;lpszServerName..... ... begin iscCallback:=InternetSetStatusCallback(hInet,@MyInternetCallBack); Result:=TInternetConnect(hInet,lpszServerName,nServerPort,lpszUsername,lpszPassword,dwService,dwFlags,dwContext); ..... В итоге я получаю события в функции MyInternetCallBack , но ослик перестает грузить страницы.
Selah Ты спросил как её перехватить, калбак она или не калбак - мне почём знать откуда она юзается, если ты про это.
Посмотрел IE под олей. Юзается эта функция из urlmon.dll, XPSP2, RVA = (0x7726A7C5 - 0x77250000). Такой кодес: Код (Text): 7726A7BA push urlmon.77268E60 7726A7BF push dword ptr [772C13A8] 7726A7C5 call dword ptr [772C0030] ; WININET.InternetSetStatusCallbackA