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.

kraekkmi!

Diskussion: kraekkmi! im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Hier ein etwas anspruchsvolleres crackme! rules: ~~~~~~ kein patchen, kein veraendern von code oder daten des programms. aufgabe: ~~~~~~~~ ...

Antwort
Alt 19.09.08, 15:33   #1 (permalink)
 
Registriert seit: 11.12.06
speedo Leistung: Facit NTK
Likes: 0
Standard kraekkmi!

Anzeige

Hier ein etwas anspruchsvolleres crackme!

rules:
~~~~~~

kein patchen, kein veraendern von code oder daten des programms.



aufgabe:
~~~~~~~~

finde das richtige passwort!



ich wünsche euch spaß und erfolg in gleichem maße!


PS.: Falls ich damit nicht zuviel verlange, würde ich mich über den lösungsweg sehr freuen =)

Angehängte Dateien
Dateityp: zip kraekkmi.zip (4,8 KB, 63x aufgerufen)
speedo ist offline   Mit Zitat antworten
Alt 19.09.08, 21:55   #2 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Assembler?
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.09.08, 22:57   #3 (permalink)
Member of Honour
 
Benutzerbild von xrayn
 
Registriert seit: 05.03.08
xrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteron
Likes: 246
Standard

Fuer mich schaut das wie ein Hashalgorithmus, muss aber gestehen, dass ich nur einen schnellen Blick drauf geworfen habe und nur ein paar Eingaben gemacht hatte bei denen ich kein linearen Zusammenhang (Asciiwert->Ergbnis) entdecken konnte.

Naja egal, lange Rede kurzer Sinn: Wenns wirklich n Hashalgo ist, dann kann man das nicht anders loesen als mit Bruteforce. Und sowas ist fuer mich dann eher kein Crackme, wenn nu pure Gewalt die Loesung ist.
xrayn ist offline   Mit Zitat antworten
Alt 19.09.08, 23:20   #4 (permalink)
 
Registriert seit: 28.05.08
the_uxreal Leistung: Facit NTK
Likes: 0
Standard

Hallo speedo,

was würde als Ausgabe kommen, wenn man ein richtiges Passwort eingibt? Ich kann dmesg zustimmen, da die Strings im Dump mit komischen Sonderzeichen versehen sind. Wenn es jetzt nun wirklich ein Hash-Algorithmus wäre, gibt es dann auch eine Möglichkeit es auszulesen?

Teil des Assemblercodes   

00401D30 89D0 MOV EAX, EDX
00401D32 83E2 01 AND EDX, 1
00401D35 D1E8 SHR EAX, 1
00401D37 39DA CMP EDX, EBX
00401D39 74 05 JE SHORT 00401D40
00401D3B 35 2083B8ED XOR EAX, EDB88320
00401D40 49 DEC ECX
00401D41 89C2 MOV EDX, EAX
00401D43 ^ 79 EB JNS SHORT 00401D30
00401D45 46 INC ESI
00401D46 81FE B8000000 CMP ESI, 0B8
00401D4C ^ 7C D2 JL SHORT 00401D20
00401D4E 3BC0 CMP EAX, EAX
00401D50 50 PUSH EAX
00401D51 13E3 ADC ESP, EBX
00401D53 74 27 JE SHORT 00401D7C
00401D55 C70424 28404000 MOV [DWORD ESP], 00404028 ; ASCII "Das eingegebene Passwort ist nicht richtig :("
00401D5C E8 6F050000 CALL <JMP.&msvcrt.puts>
00401D61 C70424 56404000 MOV [DWORD ESP], 00404056 ; ASCII "

Bitte Taste druecken..."
00401D68 E8 63050000 CALL <JMP.&msvcrt.puts>
00401D6D E8 DE040000 CALL <JMP.&msvcrt._getch>
00401D72 8D65 F4 LEA ESP, [EBP-C]
00401D75 31C0 XOR EAX, EAX
00401D77 5B POP EBX
00401D78 5E POP ESI
00401D79 5F POP EDI
00401D7A 5D POP EBP
00401D7B C3 RETN
00401D7C 8D9D 28FFFFFF LEA EBX, [EBP-D8]
00401D82 891C24 MOV [ESP], EBX
00401D85 ^ EB D5 JMP SHORT 00401D5C
00401D87 90 NOP
00401D88 90 NOP

// 00401D06 ??dý???


the_uxreal
the_uxreal ist offline   Mit Zitat antworten
Alt 22.09.08, 22:08   #5 (permalink)
Themenstarter
 
Registriert seit: 11.12.06
speedo Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von csde_rats
Assembler?
Ich verstehe nicht ganz. Wenn du aber wissen willst, was für eine Programmiersprache ich verwendet habe: C (mingw-gcc)



dmesg: ein hash ist das nicht. Es ist ein Kryptografischer Algorithmus. Dieser ist allerdings schon so alt, dass ich davon ausging, dass gegen ihn schon ein effektives Mittel entwickelt wurde. Vielleicht war das ein irrtum (im Bereich der Kryptografie bin ich ein wenig neu). Wenn es zu kompliziert oder gar unmöglich ist, möchte die die Aufgabe auf folgende möglichkeit erweitern: Untersuche den Algorithmus und nenne seinen Namen hier im Thread!

the_uxreal: Die Ausgabe ist ein ASCII-String. wenn das die Bemühungen erleichtert, den Code zu knacken: Bittesehr:


Ergebnis   
Das eingegebene Passwort war richtig! Wenn du diese Nachricht lesen kannst, würde ich mich freuen, wenn du mir erklärst, auf welche weise du an das Passwort gekommen bist. Danke!!!



Speed0
speedo ist offline   Mit Zitat antworten
Alt 23.09.08, 23:20   #6 (permalink)
 
Registriert seit: 28.05.08
the_uxreal Leistung: Facit NTK
Likes: 0
Standard

Hallo speedo,

ich bin in folgenden Schritten vorgegangen(s. Spoiler):
Lösung   
  • Zuerst habe ich dein CrackMe mit Ollydbg geöffnet(File -> Open)
  • Anschließend habe ich im Kontextmenü im Assemblercode auf Search for -> All referenced text and strings geklickt und mir einige Breakpoints notiert:
    Code:
    004019F5   MOV     [DWORD ESP], 0040401C             ASCII "------"
    00401D55   MOV     [DWORD ESP], 00404028             ASCII "Das eingegebene Passwort ist nicht richtig :("
  • Nun habe ich dein CrackMe nochmals geöffnet und wieder mit Ollydbg geladen(nicht geöffnet)
  • Nun habe ich mittels Strg + G zu dem notierten Adressen gesprungen und einen Breakpoint mit F2 gesetzt
  • Jetzt das CrackMe gestartet, ein Passwort eingeben und mit F9 zum zweiten Breakpoint gesprungen
  • Siehe da:
    Code:
    00401D4E      3D 8F5013E3   CMP     EAX, E313508F
    00401D53      EB 27         JE     SHORT 00401D7C
    //00401D53      EB 27         JMP     SHORT 00401D7C
  • Zuletzt kann man sich das richtige Passwort anschauen, indem man bei dem CMP-Abfrage auf Follow in Dump -> Selection klickt.
    Code:
    00401D06 ??dý???
    Man könnte auch einfach bei der JE-Abfrage dies durch eine JMP-Abfrage erstezen.
Code:
Bitte Passwort eingeben:
                _Daniel_
------

?█│☼Xm1×l-♥◄█9????c►0B6?Yý?╗╚P┘?♂╝♦~úC???C_H? ♠→k├┌ ╣?¤J%o??Z?9


Bitte Taste druecken...
Da Sonerzeichen im Form nicht angezeigt werden können habe ich einen Screenshot als Anhang hinzugefügt und ein gepatche EXE.


P.S.: Mein erstes CrackMe, was ich geschafft habe! Und ja, ich heiße Daniel.
Angehängte Grafiken
Dateityp: png Screenshot.png (662,8 KB, 183x aufgerufen)
Angehängte Dateien
Dateityp: rar __kraekkmi.rar (4,6 KB, 3x aufgerufen)
the_uxreal ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » kraekkmi!
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



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