Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Кодировка


Автор: LEE_ROY 30.9.2007, 21:16
Ставлю хук на HttpSendRequestA,  смотрю через Мэссэджбокс что проходит в lpOptional, вижу открытые данные... а когда вместо месаджбокса сохраняю инфу в файл, там вот такое - } ` яяяяM#=\

Автор: dumb 30.9.2007, 22:01
ошибка в 17 строке

Автор: LEE_ROY 30.9.2007, 22:38
ты хоть понял что написал, какой  строке? или ты экстрасенс?

Автор: BaD_SeCt0R 30.9.2007, 22:56
LEE_ROY, вот именно! dumb имеет ввиду, что исходного материала, по которому можно судить об ошибке, очень мало.

Автор: Fazil6 30.9.2007, 23:21
Цитата(LEE_ROY @  30.9.2007,  22:38 Найти цитируемый пост)
ты хоть понял что написал, какой  строке? или ты экстрасенс?

а разве ты не к телепатам обращался? что тебя удивило? 

Автор: LEE_ROY 30.9.2007, 23:31
Я понял свою ошибку smile ,  если ставить вместо записи в файло, мессадж бокс то текст в нормльном виде, а в файле он вообще на бинарник в блокноте похож smile вот сурс либы:
Код

library hook;

uses
  windows,
  advApiHook;

var
TrueHttpSendRequest: function(hRequest: dword; lpszHeaders: PChar;
                      dwHeadersLength: dword; lpOptional: pointer;
                       dwOptionalLength: dword): boolean; stdcall;

procedure Save(name: string);
var
hFile: THandle;
Written: Cardinal;
begin
 hFile := CreateFile('c:\Log.txt', GENERIC_WRITE, 0, nil, OPEN_ALWAYS, 0, 0);
 SetFilePointer(hFile, 0, nil, FILE_END);
 WriteFile(hFile, name, Length(name), Written, nil);
 CloseHandle(hFile);
end;

function NewHttpSendRequest(hRequest: dword; lpszHeaders: PChar;
                    dwHeadersLength: dword; lpOptional: pointer;
                     dwOptionalLength: dword): boolean; stdcall;
begin
Save(lpszHeaders);
Result := TrueHttpSendRequest(hRequest, lpszHeaders, dwHeadersLength,
lpOptional, dwOptionalLength);
end;

begin
HookProc('wininet.dll', 'HttpSendRequestA', @NewHttpSendRequest, @TrueHttpSendRequest);
end.

Автор: LEE_ROY 1.10.2007, 01:06
хз, есть предположение что это gzip, жду совета

Автор: Alexeis 1.10.2007, 10:15
  все ясно проблема тут 
Код

 WriteFile(hFile, name, Length(name), Written, nil);


Нужно так

Код

 WriteFile(hFile, @name[1], Length(name), Written, nil);

Автор: LEE_ROY 1.10.2007, 10:54
сенкс, то что надо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)