AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Shareware Versionen vor Cracker schützen
Thema durchsuchen
Ansicht
Themen-Optionen

Shareware Versionen vor Cracker schützen

Ein Thema von Luckie · begonnen am 17. Mai 2005 · letzter Beitrag vom 15. Apr 2009
 
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#17

Re: Neue Version des XP Usermanger ist fertig!

  Alt 24. Mai 2005, 22:49
kein problem
alte version:

auf virtual protect nen breakpoint setzen, d.h. es wird angehalten wenn das prog versuch den speicher freizumachen im bereich 0x00400000 wo normal die exe liegt, jetzt wird die exe entschlüsselt und dann an den speicher geschrieben
deshalb macht man einen hardware access breakpoint auf die adresse (0x00400000) dann bekommt man die assembler instrucion
die dort den speicher hinschreibt
das ist ein REP MOVS der 2 "parameter" hat EDI und ESI
in EDI steht die stelle wos hingeschrieben wird (0x00400000) in ESI wovon es geschrieb wird und da ist die exe ganz enschlüsselt drin die kann man dann einfach dumpen und starten


neuste version:

debugger detection:

Code:
0040BE46  |. 50             PUSH EAX
0040BE47  |. 64:8B05 300000>MOV EAX,DWORD PTR FS:[30]
0040BE4E    8B40 02        MOV EAX,DWORD PTR DS:[EAX+2]
0040BE51     8805 48D74000  MOV BYTE PTR DS:[40D748],AL
einfach MOV EAX, ...[eax+2] noppen

kernel32.IsDebuggerPresent:

Code:
7C812E03 > 64:A1 18000000   MOV EAX,DWORD PTR FS:[18]
7C812E09   8B40 30          MOV EAX,DWORD PTR DS:[EAX+30]
7C812E0C  0FB640 02        MOVZX EAX,BYTE PTR DS:[EAX+2]
7C812E10   C3               RETN
____

alternativ kommt man an die adresse wenn man
zu 7ffdf000 geht (wenn nicht vorhanden zu 7ffde000)
dann die adresse bei 7ffdf030 bzw 7ffde030 schaut
und dann an diese adresse geht
z.b. 7ffdc000 <- das 3. byte, also 7ffdc003 ist bei nem debugger dann ne 1 oder wenn nix aktiv ist ne 0
only NT


exception(3 an der zahl):

Code:
0040BE9E /$ 31C0           XOR EAX,EAX                             // setzen
0040BEA0  |. 64:FF30        PUSH DWORD PTR FS:[EAX]                 // exception handler pushen
0040BEA3  |. 64:8920        MOV DWORD PTR FS:[EAX],ESP
0040BEA6  |. 8160 18 550100>AND DWORD PTR DS:[EAX+18],155            // exception hier
0040BEAD |. 64:8F05 000000>POP DWORD PTR FS:[0]
einfach das AND noppen
  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 13:56 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