AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Feststellen, ob das eigene Programm debugged wird
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen, ob das eigene Programm debugged wird

Ein Thema von musicman56 · begonnen am 7. Jan 2013 · letzter Beitrag vom 7. Jan 2013
 
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Feststellen, ob das eigene Programm debugged wird

  Alt 7. Jan 2013, 17:25
Es ist ne schlechte Idee, es selber umzusetzen. Falls das Projekt es Wert ist, auf professionelle Lösunge zugreifen!

Der Cracker (bitte sag nicht Hacker) kann diese IsDebuggerPresent() Funktion locker umgehen, indem er die calls zuerst ausfindig macht und sich zurechtpatcht.
Das Ausfindig machen in diesem Fall ist sehr einfach, denn all die importierten Funktionen aus Dlls werden in der Exe -genauer in der Importtabelle- vermerkt.
Man würde sofort erkennen, dass ein Programm vlt. versucht, sich zu schützen, wenn man in der Importtabelle diese Funktion findet.

Ein Tick besser ist es, diese Routine selber zu implementieren.
MSDN rät dazu, die Funktion IsDebuggerPresent() & Co zu verwenden, sodass es später zu keinen Kompatibilitätsproblemen kommt, falls die mal
an der PEB - Struktur (Process Environment Block: enthält Daten zum Prozess) etwas ändern.

So sähe die Implementierung aus:
Delphi-Quellcode:
function isBeingDebugged: Boolean;
asm
  mov eax, [FS:$30]
  movzx eax, [eax+2]
end;
Oder du verschleierst den Import - einfach dynamisch laden, wobei dann bei GetProcAddress einen String übergeben musst, der hardcodiert in der Exe ist. Dieser sollte verschlüsselt sein, sonst kann man das wieder ausfindig machen.

Wie du siehst, ist es nicht so einfach. Es gibt sehr viele Wege, die ans Ziel (Knacken) führen.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz