Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Асинхронный режим в WinInet |

03.01.2009, 20:01
|
|
Новичок
Регистрация: 21.12.2007
Сообщений: 10
Провел на форуме: 46260
Репутация:
12
|
|
Асинхронный режим в WinInet
Ну собственно хотелось бы наглядно понять что это такое асинхронный режим и с чем его едять. Ну и проблема вот такого рода у меня необходимо считать данные при перехвате функции InternetReadFileEx делаю так.
Код:
type
far_jmp = packed record
PuhsOp: byte;
PushArg: pointer;
RetOp: byte;
end;
OldCode = packed record
One: dword;
two: word;
end;
var
JmpZwq9: far_jmp;
OldZwq9: OldCode;
PtrZwq9: pointer;
function TrueInternetReadFileEx(hFile: HINTERNET; lpBuffersOut: Pointer;
dwFlags: DWORD; dwContext: DWORD): BOOL; stdcall;
var
Written:Dword;
begin
WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq9,@OldZwq9, SizeOf(OldCode), Written);
Result:= InternetReadFileEx(hFile,lpBuffersOut,dwFlags,dwContext);
WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq9,@JmpZwq9, SizeOf(far_jmp), Written);
end;
function NewInternetReadFileEx(hFile: HINTERNET; lpBuffersOut: Pointer;
dwFlags: DWORD; dwContext: DWORD): BOOL; stdcall;
var
Rec:PInternetBuffers;
F:File of Byte;
begin;
Result:=TrueInternetReadFileEx(hFile,lpBuffersOut,dwFlags,dwContext);
Rec:=lpBuffersOut;
AssignFile(F,'c:\1.data');
Rewrite(F);
BlockWrite(F,Rec^.lpvBuffer,Rec^.dwBufferLength);
CLoseFile(F);
end;
Procedure HookInternetReadFileEx;
var
Written:DWord;
Lib:Cardinal;
begin
Lib:=GetModuleHandle('wininet.dll');
if Lib=0 then
Lib:=LoadLibrary('wininet.dll');
PtrZwq9 := GetProcAddress(Lib,'InternetReadFileExA');
ReadProcessMemory(INVALID_HANDLE_VALUE, PtrZwq9, @OldZwq9, SizeOf(OldCode), Written);
JmpZwq9.PuhsOp := $68;
JmpZwq9.PushArg := @NewInternetReadFileEx;
JmpZwq9.RetOp := $C3;
WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq9, @JmpZwq9, SizeOf(far_jmp), Written);
end;
Получаю вместо html данных какой то бред ((( Вообщем трабл тут function NewInternetReadFileEx
может я не правельно понемаю структуру InternetBuffers или обращаюсь к указателю на html код незнаю... Помогите чем могите :-)
Основная задача изменять HTML данные в этой функции она вызываеться при обнавлении страницы.
p.S. С Новым Годом...
Последний раз редактировалось JuliaSmit; 03.01.2009 в 20:03..
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Перехват Gsm пакетов
|
SNIFF |
Сотовый фрикинг |
16 |
27.12.2009 22:25 |
|
проблемка с wininet
|
_nic |
С/С++, C#, Delphi, .NET, Asm |
4 |
26.12.2008 18:21 |
|
Не могу перевести сокет в режим promiscuous
|
xismyname |
С/С++, C#, Delphi, .NET, Asm |
19 |
25.12.2008 04:33 |
|
Секреты Gsm
|
КероСиН |
Сотовый фрикинг |
17 |
30.08.2007 21:01 |
|
режим "promisc mode"
|
()leg |
Защита ОС: вирусы, антивирусы, файрволы. |
5 |
13.02.2007 11:03 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|