Delphi ile Dinamik Api Çağırma Yöntemi ve Inline Assembler Kullanımı

ap0calypse

webmaster.tc
Üye
Katılım
6 Ağu 2012
Mesajlar
32
Konum
Istanbul
Merhaba,
Delphi icerisinden kütüphanelerdeki apileri kolaylikla dinamik olarak cagirmaniza yarar.

Bir cok malware yazilimi delphi dili ile yazildigi icin bircok antivirus uygulaması uygulamaniz zararli kod icermese bile derlemis oldugunuz exe dosyasini istenmeyen yazilim olarak goruyor.
Bu durumdan kurtulmak icin dinamik api cagirma yontemini kullanabilirsiniz...

PHP:
Function ForceLoadLibrary(sLibrary : String;sApi : String) : Pointer;
VAR
  LibHandle : Cardinal;
Begin
  LibHandle := GetModuleHandleA(PAnsiChar(sLibrary));
  IF LibHandle=0 THEN
  BEGIN
      LibHandle := LoadLibraryA(PAnsiChar(sLibrary));
  END;
  Result := GetProcAddress(LibHandle,PAnsiChar(sApi));
End;
Örnek Kullanım:

PHP:
var
  NewMessageBoxA :Function (hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: UINT): Integer; stdcall;
begin
  @NewMessageBoxA := ForceLoadLibrary('user32.dll','MessageBoxA');
  NewMessageBoxA(0,PAnsiChar('Program Tamama Bastiktan Sonra Kapanacak!'),PAnsiChar('Bilgi'),MB_OK OR MB_ICONINFORMATION);
  ASM
    PUSH 0
    CALL EXITPROCESS
  END;
Saygilar.
 

Üst