Сейчас на форуме: rmn (+1 невидимый пользователь)

 eXeL@B —› WorldWide —› Help exporting AnalyzeFile() from PESniffer.dll
Посл.ответ Сообщение

Ранг: 24.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2008 03:01
· Личное сообщение · #1

Hello,
I need little help exporting function AnalyzeFile(*,*) :*;StdCall; from PESniffer.dll (http://rapidshare.com/files/112423975/PESniffer.rar), seem it have 2 parameters (or one more) and maybe second is the file ( AnalyzeFile(*otherparameter*:*,FileName:pchar):pchar; ) but not sure, I get always blank result :/
Any help much appreciated

bye




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 августа 2008 08:46
· Личное сообщение · #2

.data:10001162 ; Exported entry 1. AnalyzeFile
.data:10001162
.data:10001162 ; --------------- S U B R O U T I N E ---------------------------------------
.data:10001162
.data:10001162 ; Attributes: bp-based frame
.data:10001162
.data:10001162 ; int __stdcall AnalyzeFile(LPCSTR lpFileName,int,int,LPSTR lpString1)



Ранг: 172.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 28 августа 2008 12:09 · Поправил: ProTeuS
· Личное сообщение · #3

Code:
  1. pSniffer = 'PESniffer.dll';
  2. AFile = 'AnalyzeFile';
  3. TotalSignatures = 'GetTotalSignatures';
  4. var
  5.   AnalyzeFile, GetTotalSignatures: pointer;
  6.   filename, temp: string;
  7.   lib, snif, res, sig_count: DWORD;
  8. begin
  9.   snif := LoadLibrary(pSniffer);
  10.   AnalyzeFile := GetProcAddress(snif, AFile);
  11.   GetTotalSignatures := GetProcAddress(snif, TotalSignatures);
  12.   SetLength(temp, 1000);
  13.         asm
  14.         push 0
  15.         call GetTotalSignatures
  16.         mov sig_count, eax
  17.         push temp
  18.         push 0
  19.         push 0
  20.         push filename
  21.         call AnalyzeFile
  22.         MOV EAX, DWORD PTR SS:[ESP-4]
  23.         mov res, eax
  24.         end;
  25.   temp := IntToStr(sig_count);
  26.   Memo1.Lines.Add('Signatures count: ' + temp);
  27.   temp := PChar(POINTER(res));
  28.   Memo1.Lines.Add('File Signature: '+ temp);


-----
HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE




Ранг: 24.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2008 19:07
· Личное сообщение · #4

Thanks Archer and nice code ProTeuS
Problem solved.




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 28 августа 2008 21:24
· Личное сообщение · #5

Code:
  1. var
  2. IsDataBaseLoaded: function: boolean;
  3. GetTotalSignatures: function: integer;
  4. begin
  5.    IsDataBaseLoaded:=GetProcAddress(fLibHandle,'IsDataBaseLoaded');
  6.   if @IsDataBaseLoaded<>nil then
  7.   begin
  8.    IsDataBaseLoaded;
  9.    dllloaded:=true;
  10.   end;
  11.    GetTotalSignatures:=GetProcAddress(fLibHandle,'GetTotalSignatures');
  12.   if @GetTotalSignatures<>nil then
  13.   begin
  14.    signatures:=GetTotalSignatures;
  15.   end;

=P

-----
may all your PUSHes be POPed!



 eXeL@B —› WorldWide —› Help exporting AnalyzeFile() from PESniffer.dll
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати