Всем привет, ув. форумчане.
Выручайте, вижу люди грамотные и надеюсь, что это так, и вы поможете.
В общем, есть код 32-х битной библиотеки, есть инжектор, написанный на ассемблере ( библиотека, собственно, тоже ). Инжект идет путем создания удаленного потока, отлично, dll`ка грузится в адресное пространство процесса браузера, успешно делает сплайсинг функции и управление передается обработчику.
Собственно, вот обработчик:
Код:
MyHttpSendRequest:
mov eax, dword [FirstBytes]
mov cl, byte [FirstBytes + 4]
mov dword [HttpSendRequestAddr], eax
mov byte [HttpSendRequestAddr + 4], cl
pop ebx
lea eax, [FakelpszHeaders]
mov dword [esp + 8], eax
call [MyHttpSendRequest]
mov ecx, dword [IntercepterFirstBytes]
mov dl, byte [IntercepterFirstBytes + 4]
mov dword [HttpSendRequestAddr], ecx
mov byte [HttpSendRequestAddr + 4], dl
jmp ebx
Все работает, все запросы браузера подменяются на нужные мне. Но есть одна проблема: после примерно 10 посещенных страниц браузер вылетает. В чем может быть проблема?