bir api çağırılmış mı öğrenmek??

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Matrix1536
Üye
Mesajlar: 19
Kayıt: 04 Tem 2007 11:32

bir api çağırılmış mı öğrenmek??

Mesaj gönderen Matrix1536 »

bir güvenlik programı yazıyorum ve bu programa dışarıdan erişilmesini engellemek istiyorum.
Dışarıdan readprocessmemory ve writeprocessmemory api'leriyle erişebilirler sadece.Bunu engellemek için "readprocessmemory fonksiyonu çağırılmışsa şunu şunu yap" koduna ihtiyacım var.
internette araştırma yaptım.

Hook ile yapılabileceği gibi yazılar gördüm.
hook'u araştırdım.Ancak işime yarayacak birşey bulamadım..
bana yardımcı olur musunuz?
kaank
Üye
Mesajlar: 31
Kayıt: 01 Oca 2008 10:58

Mesaj gönderen kaank »

Merhaba şu kodu incelermisin if not readproc.. then break dediği yeri kendine göre çevirirsen çözüm olabileceğini düşünüyorum

Kod: Tümünü seç

function SendMessageRetStr(wnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): String;
var
  dwProcessId: DWORD;
  phandle: THandle;
  P: Pointer;
  C: Cardinal;
  PB: Pointer;
  B: Byte;
begin
  Result := '';
  GetWindowThreadProcessID(wnd,dwProcessId);
  phandle := OpenProcess(PROCESS_VM_READ, False, dwProcessId);
  if phandle = 0 then exit;
  P := Pointer(SendMessage(wnd, uMsg, wParam, lParam));
  PB := nil;
  B := 0;
  repeat
    if not ReadProcessMemory(phandle,P,@PB,1,C) then break;
    B := Byte(PB);
    if B <> 0 then begin
      Result := Result + Chr(B);
    end;
    P := Pointer(DWord(P)+1);
  until (B=0);

  CloseHandle(phandle);
end;

ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

uygulamanızı armadillo ile koruyabilrsiniz gibime geliyor. armadillo uygulmanızı sarmalayıp açılışında nerdeyse bilinen birçok debuggerı hafızadan atacaktır.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Cevapla