Hi,
thanks for your quick reply. My definitions look good:
Code: Select all
BOOL (__stdcall *InternetQueryDataAvailableNext)(
_In_ HINTERNET hFile,
_Out_ LPDWORD lpdwNumberOfBytesAvailable,
_In_ DWORD dwFlags,
_In_ DWORD_PTR dwContext
);
BOOL InternetQueryDataAvailableCallback(
_In_ HINTERNET hFile,
_Out_ LPDWORD lpdwNumberOfBytesAvailable,
_In_ DWORD dwFlags,
_In_ DWORD_PTR dwContext
)
{
return InternetQueryDataAvailableNext(hFile, lpdwNumberOfBytesAvailable, dwFlags, dwContext);
}
Replacing the "InternetQueryDataAvailableNext" with the TerminateProcess call, prevents the access violation and kills the content tab. The problem seems to occur in call of "InternetQueryDataAvailableNext".
Placing TerminateProcess directly after the HookAPI call, kills the Internet Explorer on startup.
Here would be a stack trace from the error, maybe that helps you:
> ntdll.dll!_RtlpWaitOnCriticalSection@8() Unbekannt
ntdll.dll!_RtlEnterCriticalSection@4() Unbekannt
urlmon.dll!CINet::ReportResultAndStop(long,unsigned __int64,unsigned __int64,unsigned short *) Unbekannt
urlmon.dll!CINet::INetRead(void) Unbekannt
urlmon.dll!CINet::INetQueryInfo(void) Unbekannt
urlmon.dll!CINet::OnINetInternal(unsigned long) Unbekannt
urlmon.dll!CINetProtImpl::Continue(struct _tagPROTOCOLDATA *) Unbekannt
urlmon.dll!CINet::Continue(struct _tagPROTOCOLDATA *) Unbekannt
urlmon.dll!COInetProt::Continue(struct _tagPROTOCOLDATA *) Unbekannt
urlmon.dll!CTransaction::OnINetInternalCallback(class CTransPacket *) Unbekannt
urlmon.dll!CTransaction::OnINetCallback(int) Unbekannt
urlmon.dll!TransactionWndProc(struct HWND__ *,unsigned int,unsigned int,long) Unbekannt
user32.dll!_InternalCallWinProc@20() Unbekannt
user32.dll!_UserCallWinProcCheckWow@32() Unbekannt
user32.dll!_DispatchMessageWorker@8() Unbekannt
user32.dll!_DispatchMessageW@4() Unbekannt
ieframe.dll!CTabWindow::_TabWindowThreadProc(void *) Unbekannt
ieframe.dll!LCIETab_ThreadProc(void *) Unbekannt
iertutil.dll!CIsoScope::RegisterThread(unsigned long,enum _IsoThreadDispatchType,unsigned long,unsigned long,unsigned long *) Unbekannt
ieframe.dll!Detour_DefWindowProcA(struct HWND__ *,unsigned int,unsigned int,long) Unbekannt
kernel32.dll!@BaseThreadInitThunk@12() Unbekannt
ntdll.dll!___RtlUserThreadStart@8() Unbekannt
ntdll.dll!__RtlUserThreadStart@8() Unbekannt