Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert.

das zweite

Diskussion: das zweite im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Hi, hier mein zweites Crack-Me... Es basiert auf mein Serial Me No. 1, aber einiges hat sich geändert... Nun, ...

Antwort
Alt 07.07.06, 20:10   #1 (permalink)
 
Registriert seit: 28.05.06
PMTheQuick Leistung: Facit NTK
PMTheQuick eine Nachricht über ICQ schicken
Likes: 0
Standard das zweite

Anzeige

Hi,

hier mein zweites Crack-Me... Es basiert auf mein Serial Me No. 1, aber einiges hat sich geändert... Nun, hoffentlich ist der genug sicher, dann kann ich endlich mal einen guten Schutz in meine Proggis einbauen... Und trotzdem: "Viel Glück!"

REGELN:
x Keine Serials
x Kein KeyGens
x Cracken oder Patchen

TIPP:
x Schutz

Gruss
PMTheQuick ;)

Angehängte Dateien
Dateityp: rar CrackMe2.rar (10,0 KB, 118x aufgerufen)
Dateityp: zip CrackMe2.zip (10,7 KB, 69x aufgerufen)
PMTheQuick ist offline   Mit Zitat antworten
Alt 07.07.06, 20:32   #2 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Erstmal die Serial:
Lesco/-7z3sTa7dfGzs
Hier wieder ein Selfkeygen, der Lösungsweg ist der gleiche bei dem ersten CrackMe, zwar sind die Offsets unterschiedlich, sie lassen sich jedoch auf genau dem gleichen Weg ermitteln, daher denke ich, dass ein weiteres Tutorial hier nicht nötig ist.(@Mods: Falls ihr anderer Meinung seid, schreibe ich noch ein extra Tutorial).
Altes Tutorial: http://www.hackerboard.de/attachment...achmentid=1674

//Keygen war nicht ganz richtig, für Keygen, siehe nächster Post.
Lesco ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 07.07.06, 20:34   #3 (permalink)
Themenstarter
 
Registriert seit: 28.05.06
PMTheQuick Leistung: Facit NTK
PMTheQuick eine Nachricht über ICQ schicken
Likes: 0
Standard

Leider falsch, Lesco! Bei dir kommt sicher auch ILLEGAL REQUESTION am Anfang, oder???
( Also beim Self-KeyGen...)

Gruss
PMTheQuick
PMTheQuick ist offline   Mit Zitat antworten
Alt 07.07.06, 20:35   #4 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Nur wenn man das Archiv nicht auspackt, sondern die enthaltene Datei per Doppelklick ausführt. Entpacke die Datei mal und versuche es nochmal.
Aber trotzdem: Hier mal ohne "Illegal Request(ion)" und eine sehr knappe Beschreibung der Überprüfung:
Angehängte Dateien
Dateityp: rar kg_.rar (10,0 KB, 44x aufgerufen)
Dateityp: txt crc.txt (2,0 KB, 88x aufgerufen)
Lesco ist offline   Mit Zitat antworten
Alt 07.07.06, 20:38   #5 (permalink)
Themenstarter
 
Registriert seit: 28.05.06
PMTheQuick Leistung: Facit NTK
PMTheQuick eine Nachricht über ICQ schicken
Likes: 0
Standard

Nein... Geht nicht... Der CRC32-Check gibt immer falsch aus...

Gruss
PMTheQuick

So... der zweite ging... Nochmals... Bravo Lesco ... Aber... wie kann ich meine CrackMe's sicherer machen??? Denn ich dachte, das wäre jetzt fast unknackbar...
PMTheQuick ist offline   Mit Zitat antworten
Alt 07.07.06, 20:51   #6 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Also, du solltest es vermeiden, dass die richtige Serial offen im Programm zu sehen ist. Du müsstest also eine Art Prüfung entwerfen, die nicht die richtige Serial generiert, sondern die eingegebene auf best. Merkmale überprüft oder eine Art Prüfsumme erstellt, die mit einem, von dem Namen abhängigen Wert, übereinstimmt. Allerdings, muss diese mehr oder weniger umkehrbar oder "bruteforce-bar" sein, da du sonst selber keine gültige Serial generieren könntest.
Oftmals eignen sich für diese Dinge auch mathematische Probleme, wie nait auf dem BuHa-Board mit einem sehr interessanten Crackme[1] gezeigt hat. Die Sachen kann man dann noch ausbauen, wie z.B. eine virtuelle Machine zur Überprüfung zur verwenden o. ä.. In einem meiner Crackmes[2], wird bspw. die Serial-Routine "dynamisch" und vom Namen abhängig generiert, sie sieht also für jeden Namen anders aus.
Am Besten schaust du dir einfach mal einige CrackMes hier auf dem Board oder auf www.crackmes.de und die zugehörigen Lösungen an, wenn du weitere Ideen suchst.
Eine andere Möglichkeit wäre die Überprüfung zu verstecken, wie etwa durch API Hooks oder Junkcode(Ein Beispiel dafür wäre [3]) o.ä.. Generell ist das halt schwer zu sagen, da der Reiz an CrackMes gerade der ist, dass jedes Crackme anders ist/sein sollte und neue Ideen verwendet.

[1]https://www.buha.info/board/showthread.php?t=51711
[2]https://www.buha.info/board/showthread.php?t=52019
[3]http://www.crackmes.de/users/warrantyvoider/message_for_you/
Lesco ist offline   Mit Zitat antworten
Alt 09.07.06, 09:35   #7 (permalink)
 
Registriert seit: 27.09.05
ReDoX Leistung: Z3
Likes: 4
Standard

Da ich gestern leider nicht da war, kommtmeine Loesung erst heute.

Lesco hat schon die kleinen Unterschiede beschrieben.

Ich habe wieder einen Sniffer gecodet ,diesmal aber ohne dll.

Geändert von ReDoX (06.11.10 um 17:09 Uhr)
ReDoX ist offline   Mit Zitat antworten
Alt 09.07.06, 11:32   #8 (permalink)
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich geh den Weg des geringsten Wiederstandes



Anhang entfernt, sorry, aber du solltes Dein System überprüfen. IDA sagt:
Code:
 call    $+5
.flat:00408205                 push    ebp
.flat:00408206                 mov     ebx, [esp+8]
.flat:0040820A                 mov     ebp, [esp+8+var_4]
   sub     [esp+8+var_4], 7205h
.flat:00408216                 and     ebx, 0FFFFF000h
.flat:0040821C                 sub     ebp, offset byte_401005
der "berühmte" Deltacall gleich am Anfang - sieht mir wirklich nciht nach einem falsepositiv aus.
Xalon ist offline   Mit Zitat antworten
Alt 09.07.06, 11:34   #9 (permalink)
Themenstarter
 
Registriert seit: 28.05.06
PMTheQuick Leistung: Facit NTK
PMTheQuick eine Nachricht über ICQ schicken
Likes: 0
Standard

VIRUS!!! W32/Virut.A

Gruss
PMTheQuick
PMTheQuick ist offline   Mit Zitat antworten
Alt 09.07.06, 11:50   #10 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Obwohl ich Virenscannern ja eigentlich nicht traue, glaube ich nicht, dass es ein false positive ist.
Zitat:
virusscan.jotti.org:
AntiVir
Found nothing
ArcaVir
Found W32.Virtob.A
Avast
Found nothing
AVG Antivirus
Found Win32/Virut.A
BitDefender
Found Win32.Virtob.C
ClamAV
Found nothing
Dr.Web
Found Win32.Virut
F-Prot Antivirus
Found nothing
Fortinet
Found W32/Virut.A
Kaspersky Anti-Virus
Found Virus.Win32.Virut.a
NOD32
Found Win32/Virut.5127
Norman Virus Control
Found nothing
UNA
Found nothing
VirusBuster
Found Win32.Virut.A
VBA32
Found Virus.Win32.Virut.A
Außerdem ist deine Datei rund 6000 Byte größer.
Lesco ist offline   Mit Zitat antworten
Alt 09.07.06, 15:47   #11 (permalink)
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard

Ohoh,was da im Netz steht is ja nicht grade schön :/
Naja muss ich halt formatieren gehen und die .exen nicht mit nehmen...
Also bis dann

EDIT:
Fertig
Nochmal sorry das ich ein verseuchtes File reingestellt hab
Xalon ist offline   Mit Zitat antworten
Alt 11.07.06, 23:23   #12 (permalink)
 
Registriert seit: 27.09.05
ReDoX Leistung: Z3
Likes: 4
Standard

Zitat:
der "berühmte" Deltacall gleich am Anfang - sieht mir wirklich nciht nach einem falsepositiv aus.
Mal eine kleine Frage : was ist der berühmte Deltacall?
ReDoX ist offline   Mit Zitat antworten
Alt 12.07.06, 01:34   #13 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Zitat:
Mal eine kleine Frage : was ist der berühmte Deltacall?
Nunja, wenn man ein Codestück in eine andere Executable injiziert (und zwar ohne DLLs ), hat man das Problem, dass man jedesmal andere Adressen hat und erstmal gar nicht weiß, wo man sich genau in der Executable befindet. Das wäre auch nicht schlimm - viele Operationen (JMP,CALL) Funktionieren mit relativen Adressierungen - aber es gibt auch Operationen (i.R sollten es Datenzugriffe sein) die eine "feste" Adresse haben wollen. Möchte man also in seinem Code auch Variablen nutzen, behilft man sich mit einem Trick:
wie "jeder" weiß wird bei einem Call die Rücksprungsadresse auf den Stack abgelgt.
Jetzt könnte man ja sowas machen - sie ablegen lassen und auslesen:

call delta
delta:
pop ebx

damit hat man nachher in ebx seine aktuelle Adresse

call delta ist nix anderes als call $+5 Dollazeichen bedeutet in den meisen Assemblern aktuelle Postition - ein call ist 5 Bytes lang und "Roh" sieht das so aus:

E8 00 00 00 00 (Springe 0 Bytes weiter)

hier ein Beispiel:
Code:
inj_start:
pushad
    jmp @f
    stolen_bytes db(5) dup(0)  <- Buffer
    @@:
    call delta
	delta:	
	pop ebp
	mov esi,ebp
	sub esi, (delta-stolen_bytes)  <- eine menschenfreundliche adressierungsweise
	mov edi,[esp+32]              ;an esp+32 liegt die Rücksprungsadresse (wegen pushad)
	sub edi,5                          ;wenn man diese um 5 verringert, bekommt man die eigene
	mov ecx,5                    Aufrufadresse
	rep movs byte ptr [esi],byte ptr [edi]       ;und die wird mit originaldaten überschrieben
	mov eax, [esp+32]          ; hier wird die Rücksprungsadresse manipuliert
	sub eax,5                        ; so dass man nachher wieder an der Stelle landet, wo
	mov [esp+32],eax	     ; vorher der Hook-Call stand

      MOV EAX,DWORD PTR SS:[ESP+60h]     ;das ist der eigentliche Patch
      SUB EAX,3298h
      mov byte ptr [eax],0c3h
	  
	  
popad    
    
    retn
allerdings wird es hier noch nicht wirklich genutzt - bei größeren Codes steigt aber die nutzung auch drastisch an, weil einem recht schnell die Register ausgehen
(Der Code ist an sich ein einmaliger "Patch-Hook" der nach dem aufruf eine bestimmte Adresse patcht und dann den Hook entfernt (stellt originalcode wieder her) und den originalcode ausführt.

das ganze kann man auch variiert betreiben:
call delta
delta: mov eax,[esp]

dürfte genauso klappen und wird auch öfters angewendet, zusammen viel mit Junkcode (einem Müllcode, der nichts bewirkt, außer den Call zu verschleiern) - weil AV-Scanner solche Bytefolgen wohl sehr interessant finden würden.


Um jetzt zurück auf die Frage zu kommen: Delta heißt es wohl weil "Delta" für Differenz steht - und "berühmt" weil dieser Trick in den meisten Tutorials und Webseiten als Delta-Call genannt wird .
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 12.07.06, 10:18   #14 (permalink)
 
Registriert seit: 27.09.05
ReDoX Leistung: Z3
Likes: 4
Standard

Vielen vielen danke fuer die ausfuehrliche Erklaerung
ReDoX ist offline   Mit Zitat antworten
Alt 12.07.06, 22:40   #15 (permalink)
 
Registriert seit: 12.07.06
Straubi Leistung: Facit NTK
Likes: 0
Standard

Einfach

Das CrackMe gepatcht mit Anleitung im Anhang!

Zu ILLEGAL REQUESTION, kann das sein, wenn man das CrackMe in einem anderen Ordner ausführt als das erste Mal???
Angehängte Dateien
Dateityp: zip CrackMe2_patched.zip (11,5 KB, 65x aufgerufen)
Straubi ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » das zweite
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
zweite Festplatte juster Hardware Probleme 5 20.01.05 20:48
zweite Festplatte blanc Hardware Probleme 8 09.11.04 22:39
GV und Router - die zweite ragnar.666 Hardware Probleme 1 15.10.03 12:06


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61