| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
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, ...
![]() |
| | #1 (permalink) |
| 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 ;) | |
| | |
| | #2 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | 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. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Leider falsch, Lesco! Bei dir kommt sicher auch ILLEGAL REQUESTION am Anfang, oder??? ( Also beim Self-KeyGen...) Gruss PMTheQuick |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | 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: |
| | |
| | #5 (permalink) |
| Themenstarter | Nein... Geht nicht... Der CRC32-Check gibt immer falsch aus... Gruss PMTheQuick So... der zweite ging... Nochmals... Bravo Lesco |
| | |
| | #6 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | 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/ |
| | |
| | #7 (permalink) |
| Registriert seit: 27.09.05 ![]() Likes: 4 | 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) |
| | |
| | #8 (permalink) |
| 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 | |
| | |
| | #10 (permalink) | |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Obwohl ich Virenscannern ja eigentlich nicht traue, glaube ich nicht, dass es ein false positive ist. Zitat:
| |
| | |
| | #11 (permalink) |
| 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 | |
| | |
| | #12 (permalink) | |
| Registriert seit: 27.09.05 ![]() Likes: 4 | Zitat:
| |
| | |
| | #13 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
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 (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. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |