ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Асинхронный режим в WinInet
  #1  
Старый 03.01.2009, 20:01
Аватар для JuliaSmit
JuliaSmit
Новичок
Регистрация: 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)
 


Быстрый переход




ANTICHAT.XYZ