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
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Shareware Versionen vor Cracker schützen

  Alt 17. Mai 2005, 18:46
Ich habe diese Postings vom XP Usermanager Thread abgespalten, da sie mit ihm eigentlich nichts zu tun haben. Ich habe im ertsen Posting wieder die Demo Version angehangen, um die es hier geht.

Ich habe die Demo Version versucht etwas sicherer zu machen. Ich hoffe, es ist nun nicht mehr ganz so leicht sie zu cracken. Ihr könnt ja mal probieren. Download wieder im ersten Posting.
Angehängte Dateien
Dateityp: exe xpusermanager_demo_sfx_181.exe (210,4 KB, 25x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
brechi

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

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:24
IsDebuggerPresent ))
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:26
Jupp. Macht es denn das schwieriger oder nicht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
brechi

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

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:31
nein ;>

hatte vorher net versucht aber da du danach aufgerufen hast, hab ich für beide patches etwa 40 sekunden gebraucht (das entpacken von UPX mal abgesehen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:33
Und warum ist es nicht einfacher?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
brechi

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

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:36
du meinst schwieriger?

weil das ein API call mehr ist, wo nen bp drauf gemacht wird
ich könnte da mal nen video zu machen, aber hab ledier gestern formatiert hab das prog net mehr.


könnte dir aber eins zeigen wo ich das mal mit mIRC gemacht habe, das hat 5 mins gedauert (1 mal vorher getestet, ca. 15 mins)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:39
Und wie kommt man an die Sprungadresse ohne Debugger?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
brechi

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

Re: Neue Version des XP Usermanger ist fertig!

  Alt 17. Mai 2005, 20:42
um jetzt mal die wenigen tastenkombinationen aufzuzählen

doppelklick auf ollydbg.exe
f3
auswahl der exe
alt+e
klick auf kernel32.dll
strg+n
eingabe "isdebuggerpre"
f2
f9
3* f7
cursor nach oben
leertaste
xor eax, eax
rechtsklick druf
copy to executable
selection
fenster schließen
ja klicken
speichern klicken

und es ist gepatched, wie das mit dem fenster geht muss ich ja net sagen ^^, nur der isdebuggerpresent patch bringt ja nix
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Neue Version des XP Usermanger ist fertig!

  Alt 23. Mai 2005, 00:28
Bitte noch mal probieren die Demo zu cracken. Es gibt eine neue Version. Download im Anhang vom ersten Posting.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Neue Version des XP Usermanger ist fertig!

  Alt 23. Mai 2005, 02:13
Ist schon deutlich schwerer. Dumper helfen nichts, weil die zu doof sind und nichtvorhandenes eben auch schwerlich wiederherstellen können. Mein Ansatz zum "Crack" wäre entsprechend ein Loader. Offenbar immernoch mit UPX 1.24 gepackt, aber dann irgendwie durch einen Scrambler oder Crypter gelaufen. Wie üblich kann man die Debuggerdetection ausschalten, indem man an 0x7FFDF002 das Byte von 1 auf 0 patcht (== PEB.BeingDebugged), bevor man das Programm weiterlaufen läßt. Da IsDebuggerPresent() bekanntlich nichts anderes tut als jede normale NT-Debuggererkennung (IsDebuggerPresent ist eben nur wie ein Leuchtturm für den Cracker, mehr nicht *g*):
Code:
.text:77E5AC39 _IsDebuggerPresent@0 proc near
.text:77E5AC39                 mov    eax, large fs:18h
.text:77E5AC3F                mov    eax, [eax+TEB.Peb]
.text:77E5AC42                 movzx  eax, [eax+PEB.BeingDebugged]
.text:77E5AC46                 retn
.text:77E5AC46 _IsDebuggerPresent@0 endp
Damit ist dann schonmal die halbe Miete eingefahren. Denn jeder nicht allzu dumme Mensch weiß, daß NTDLL und Kernel32 nicht relozierbar sind und sich deshalb (Billseidank ) immer an der gleichen Stelle im Speicher befinden, nämlich an 0x77880000 respektive 0x77E40000 (und User32 an 0x77D00000; die Adressen unterscheiden sich je nach OS-Version). Der PEB sitzt ebenfalls immer einheitlich an 0x7FFDF000 (bisher bei jedem NT). So ist es nun ein leichtes, nachdem wir den Debuggermist ausgeschalten haben, einen Breakpoint auf eine der definitiv aufgerufenen Funktionen (z.B. erstmal LoadLibrary, dann MessageBoxA/W) zu setzen um das wunderbar entpackte Programm zu begutachten. Der Rest (d.h. das Patchen) wäre dann Aufgabe des Loaders als Hauptbestandteil eines Cracks. Alternativ kann man natürlich das Programm dumpen und dann die Strukturen wiederherstellen. Aber wozu - das wäre ungleich schwerer.

Fazit: Wie gesagt, es ist deutlich schwerer im Vergleich zu den vorigen Malen. Es ist aber mit ein wenig Mehraufwand möglich, den ich aktuell aus Zeitmangel aber nicht investieren möchte.

Ich vergaß zu erwähnen: Natürlich kann man an 0x0053B034 die beiden DWORDs nach dem Start beobachten, denn der PE-Loader ist ja so nett uns schonmal die Adressen der beiden importierten Funktionen einzufüllen:
Code:
.idata:0053B034 ; Segment type: Externs
.idata:0053B034 ; _idata
.idata:0053B034 ; FARPROC __stdcall GetProcAddress(HMODULE hModule,LPCSTR lpProcName)
.idata:0053B034 GetProcAddress dd offset kernel32_GetProcAddress
.idata:0053B038 ; HMODULE __stdcall LoadLibraryA(LPCSTR lpLibFileName)
.idata:0053B038 LoadLibraryA dd offset kernel32_LoadLibraryA
Danach muß nur noch zu diesen Adressen gegangen werden und ein Brakpoint gesetzt werden. Ich habe es mit dem Patchen von 0x7FFDF002 (s.o.) geschafft, daß das Programm normal im Debugger läuft. Dank IDA kann man einen Teil dieser Aufgaben mit einem kleinen IDC-Script automatisieren, wobei auch nach einem Neustart des Programms die Analyse deutlich beschleunigt wird *g*
Interessant ist dieser Packer oder Crypter oder Packer mit Scrambler oder Crypter allemal, weil dort noch Stacktricks verwendet werden, von denen ich nicht sicher wäre, ob die bei XP SP2 noch laufen. Scheinen sie ja aber - kann das mal jemand testen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 00:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz