#1 31. Mai 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 Ich würde gerne mal sehen wie groß in RR das interesse an Reverse Engineering oder besser Reverse Code Engineering ist. Weil ich finde in RR fehlen einfach Threads zu so einem Thema. Es ist zwar recht kompliziert, macht aber trotzdem viel Spaß, wenn man erstmal den "dreh" raus hat. Vorallem ist es sehr schade das es nur 3 deutsche reversing boards gibt (1 davon ist schon ne weile down) und in den anderen 2 boards ist die aktivität bei praktisch null... haben höchstens 10 verschiedene user pro tag... Ich hab mal zur einführung 3 crackmes gemacht: No File | xup.in No File | xup.in No File | xup.in Aufgaben: #01: Nachrichten boxen entfernen (Schwierigkeit: 1/100) #02: Nachrichten boxen entfernen (Schwierigkeit: 2/100) #03: Jedes Passwort soll richtig sein (Schwierigkeit: 1/100) Lösungen bzw. patch details bitte im spoiler tag posten Spoiler so [.SPOILER][./SPOILER] (ohne punkt) Aber bitte nicht zu schnell posten, erst nach ein paar stunden... Es gab schon einmal so einen Ansatz, aber würde dann leider nicht weitergeführt und die crackme's waren auch nicht gerade so toll, vorallem waren einige dann gleich viel schwerer... Ich bin sicher es gibt hier viele Leute die sich zwar dafür interessieren, aber noch keine Ahnung davon haben. Die werden dann vielleicht sogar auch schwierigkeiten mit diesen 3 crackme's haben, aber Reversing kann man lernen Ich bitte jeden der sich für Reverse Engineering interessiert sich hier zu bedanken (Bedanken Button!), damit man mal sehen kann ob es sich lohnt mehr in diese richtung zu posten Lösungen: Spoiler #01: Ich habe für das erste crackme mal eine kleine Anleitung gemacht wie ihr es leicht lösen könnt ohne vorwissen, es geht natürlich auch schneller, aber ich denke so lernt man es am besten? No File | xup.in #02 No File | xup.in Neues crackme, es ist eine verbesserte version von crackme03: No File | xup.in #04: Jedes Passwort soll richtig sein (Schwierigkeit: 2/100) crackme05: No File | xup.in #05: Das Programm soll immer registriert sein (Schwierigkeit: 2/100) + Multi-Zitat Zitieren
#2 31. Mai 2008 AW: [RCE] Crack mich Ich habe zwar nur eine grobe Ahnung, was Reverse Code Engineering ist, aber ich werde mich da mal reinarbeiten =). + Multi-Zitat Zitieren
#3 31. Mai 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [RCE] Crack mich wer gar keine ahnung hat für den hab ich hier was. Ein Einführungstutorial von lena... wenn ihr diesen tutorial angeschaut + verstanden habt dann solltet ihr die crackme's schaffen Download: 2010-07-22_212929.jpg | xup.in + Multi-Zitat Zitieren
#4 31. Mai 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [RCE] Crack mich Hey ; genau das schau ich mir grade an =) ^^ (Google ^^) Mfg Alex² + Multi-Zitat Zitieren
#5 31. Mai 2008 AW: [RCE] Crack mich Hi, um dir einfach mal meine Ansicht zu sagen: RCE ist eine brotlose Kunst. Man hat nichts davon (oder?), ganz im gegenteil zum normalen Programmieren. Ich für meinen Teil sehe keinen Sinn darin dies zu lernen. Klar sehr interessant! Ich hab großes Interesse daran es zu können. Aber das ganze Zeug komplett zu lernen...Naja weiß nicht, dazu fehlt mir einfach die Zeit! So kommerz das Klingt: Leider kein Interesse + Multi-Zitat Zitieren
#6 31. Mai 2008 AW: [RCE] Crack mich hab auch mal aufs tut zurückgeriffen habe aber schon durch ausprobieren bei teil 1 die 2te errorbox weggekriegt :-D + Multi-Zitat Zitieren
#7 31. Mai 2008 AW: [RCE] Crack mich programmieren ist genauso brotlos Mit programmieren kannst du auch nur geld verdienen wenn du richtig gut bist... ausserdem gehört reversing auch zu programmieren, gute programmierer können es jedenfalls... Aber es macht viel mehr spaß als programmieren und es ist ungefähr genauso sinnlos wie hacken + Multi-Zitat Zitieren
#8 31. Mai 2008 AW: [RCE] Crack mich crackme 1 Spoiler calls @ 0040286D und 0040298D nopen crackme 2 Spoiler calls @ 004034A0 und 004033B0 nopen crackme 3 Spoiler je 00402C1F @ 00402B06 zu jmp 00402B9E + Multi-Zitat Zitieren
#9 31. Mai 2008 AW: [RCE] Crack mich Hab zwar (noch) sehr wenig ahnung vom Rce aber den ersten hab ich ohne tut geschafft. Naja werd mich mal an den anderen versuchen aber Thread ermutigt mich doch, mich mal ein wenig hier einzuarbeiten. Edit: So hab die anderen nun auch geschafft (beim 2ten musste ich mal bei dapumaX spitzen wegen der ersten adresse. Aber als ich dann die suchfunktion von w32dasm gefunden hab, hab ich die 2te dan allein gefunden ;-). 1+2 Lösung wie dapumaX 3te hab ich so: Spoiler @00402C58 aus: C7 45 98 9C 27 40 00 89 75 90 FF D7 8D 55 A0 8D 45 B0 52 8D zu C7 45 98 78 27 40 00 89 75 90 FF D7 8D 45 A0 8D 4D B0 50 8D Ruft allerdings nur die Message box auf, aber er nimmts an ;-) PS: Ja ich bin noch blutiger anfänger + Multi-Zitat Zitieren
#10 31. Mai 2008 AW: [RCE] Crack mich jo gut^^ aber wie fast immer ist das nicht die einzige möglichkeit Wer noch andere lösungen hat kann sie auch posten^^ obwohl es ja fast ne dumme aufforderung ist bei so einem leichten crackme aber was solls, wer was lernen will freut sich darüber sicher + Multi-Zitat Zitieren
#11 31. Mai 2008 AW: [RCE] Crack mich Gar keine so schlechte Idee, falls hier einige Leute interesse hätten das Cracken/Hacken/Patchen von Programmen sich anzueignen wär ich vl noch bereit ein paar crackmes und Lösungen/Tuturials dazu zu machen. Bin auch als Resolver dabei, also was auch immer ich bin dabei ^^ An die Leute die sich mal was mehr zu trauen den empfehle ich mal sich an TuneUp Utilities 2008 ran zu setzen und mal versuchen das Reg-Fenster zu entfernen. Hab es auch gemacht und muss sagen es hat ziemlich viel Spass gemacht und so schwer war es auch nicht, deswegen ..... Mfg Rushh0ur + Multi-Zitat Zitieren
#12 31. Mai 2008 AW: [RCE] Crack mich Find deinen Ansatz sehr gut: Wie wärs mit nem Thread in der UG-Lounge oder sonst wo, in welchem richtige Programme "angeboten" werden können? Das heißt man postet die Trial eines Programmes und gibt die Schwierigkeit an. (Logischerweise muss der Poster das Programm vorher selbst erfolgreich reversed haben) Eine Lösung im Spoiler wär dort sicher auch nicht schlecht. Das hier Threads zu dem Thema fehlen liegt einfach daran das nur die wenigstens gescheite Crackme's oder ähnliches schreiben können und kommerzielle Programme in dem Bereich hier nicht erlaubt sind. + Multi-Zitat Zitieren
#13 31. Mai 2008 AW: [RCE] Crack mich Ich hab schon Interesse das zu lernen - also paar extra Tutorials wärecn echt super - zwei drei anfänger tuts und dann noch ein paar die dann noch genauer sind. Ich kann jedoch noch nicht programmieren, ich denke deswegen wird es mir erst recht schwerfallen, aber ich werds probieren. + Multi-Zitat Zitieren
#14 31. Mai 2008 AW: [RCE] Crack mich jo muss auch zugeben das vb6 nicht gerade die beste programmiersprache ist für crackme's^^ mag es selber auch nicht so vb6 programme zu reversen... Ist es den überhaupt illegal lösungswege zum cracken von programme zu posten? fertige cracks, keygens sind klar illegal, quellcodes von keygens wohl auch, aber ist das wissen wie man etwas macht schon illegal? Wenn es nicht gerade einen schritt für schritt tutorial ist... + Multi-Zitat Zitieren
#15 31. Mai 2008 AW: [RCE] Crack mich ich bin mir nicht so sicher, aber kann ja mit diesen von wegen lernzwecken sein, um sein eigenes programm sicherer zu machen. aber wenn es keine schritt für schritt anleitung ist, müsste es "legal" sein. ich schau mich schon in diversen foren um zur not frag ich halt n bekannten :-D + Multi-Zitat Zitieren
#16 31. Mai 2008 AW: [RCE] Crack mich Solange man z.b. nur die entscheidenden Calls kommentiert ohne Änderungen am Code durchzuführen sollte es meiner Meinung nach (l)egal sein. Das Verwenden von einem Hexeditor an sich ist ja auch nicht strafbar... Hab aber keine 100% Garantie dafür Man müsste halt Regeln festgelegen wie: Änderungen am Code dürfen nicht gepostet werden. Für Keygens ist ausschließlich Pseudocode zu verwenden. Jeder der einigermaßen Reversen kann braucht eigentlich nur die Offsets der entscheidenden Calls, ein paar Kommentare und vllt. die Angabe einer Möglichkeit um Packer etc. zu umgehen. Die Angaben was genau zu Ändern ist, sind ja nicht von Bedeutung. (Für Tutorials sollte einfach nicht-kommerzielle Software verwendet werden) + Multi-Zitat Zitieren
#17 31. Mai 2008 AW: [RCE] Crack mich Etwas zu wissen ist nicht illegal, höchstens gefährlich. Das ist ja allgemein bekannt, ... Also ich denke wir können da ruhig Lösungsvorschläge etcetera posten - zur Not im UG + Multi-Zitat Zitieren
#18 1. Juni 2008 AW: [RCE] Crack mich sorry da muss ich dich enttäuschen, das ist leider nicht ganz die lösung Der text stimmt zwar, aber es ist die falsche nachrichten box (roter kreis mit weissem X) hier mal ein mögliches passwort zum ausprobieren: Spoiler 001aaaa001 + Multi-Zitat Zitieren
#19 2. Juni 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [RCE] Crack mich hab ned gemerkt was ich geändert habe daher hier die gefixten exe dateien: No File | xup.in // auf N0S' wunsch nochmal meine lösung zu crackme3: Spoiler nop von 00402A49 . /0F84 3F020000 JE CRACKME0.00402C8E nop von 00402B06 . /0F84 13010000 JE CRACKME0.00402C1F nop von 00402B57 . /0F84 C0000000 JE CRACKME0.00402C1D nop von 00402B9C . /74 7F JE SHORT CRACKME0.00402C1D Knusperkeks + Multi-Zitat Zitieren
#20 2. Juni 2008 AW: [RCE] Crack mich Das nächste mal darf's ruhig schwerer sein *g* Spoiler Patcher: Spoiler Code: #include <stdio.h> #include <string.h> #pragma warning( disable: 4996 ) // disabling unsecure warnings #define MSG_PATCH "\x90\x90\x90\x90\x90\x90" #define JMP_PATCH "\xE9\x50\x01\x00\x00" const char g_c_acFiles[3][14] = { "CRACKME01.exe", "CRACKME02.exe", "CRACKME03.exe", }; const long g_c_alOffsets[] = { 0x0000286D, // CRACKME01 0x0000298D, // CRACKME01 0x000033B0, // CRACKME02 0x000034A0, // CRACKME02 0x00002A49, // CRACKME03 JE OFFSET }; int main( void ) { FILE *crackme1 = fopen( g_c_acFiles[0], "r+" ); FILE *crackme2 = fopen( g_c_acFiles[1], "r+" ); FILE *crackme3 = fopen( g_c_acFiles[2], "r+" ); if( NULL == crackme1 || NULL == crackme2 || NULL == crackme3 ) { perror("unable to patch"); return -1; } // // Patch first crackme // fseek( crackme1, g_c_alOffsets[0], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme1 ); fseek( crackme1, g_c_alOffsets[1], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme1 ); fclose( crackme1 ); // // Patch second crackme // fseek( crackme2, g_c_alOffsets[2], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme2 ); fseek( crackme2, g_c_alOffsets[3], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme2 ); fclose( crackme2 ); // // Patch third crackme // fseek( crackme3, g_c_alOffsets[4], SEEK_SET ); fwrite( JMP_PATCH, sizeof(JMP_PATCH), 1, crackme3 ); fclose( crackme3 ); return 0; } crackme1 & 2: messagebox call mit nops überschreiben. crackme3: einfach über die auswertung der string vergleichung springen. + Multi-Zitat Zitieren
#21 2. Juni 2008 AW: [RCE] Crack mich crackme 1 Spoiler pachten offset 00028E0 -> c3 und 000027C0 -> c3 + Multi-Zitat Zitieren
#22 2. Juni 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [RCE] Crack mich ich habe mal ne kleine anleitung/tutorial zum lösen des ersten crackme's gemacht... damit sollte es jeder verstehen^^ hab auch noch ein neues crackme gemacht, weil viele sich beschwert haben man kann direkt jumpen beim 3., das geht jetzt nichtmehr so gut^^ No File | xup.in immernoch sehr leicht + Multi-Zitat Zitieren
#23 2. Juni 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [RCE] Crack mich Crackme04: Spoiler 00402B96 /0F84 3A030000 JE CRACKME0.00402ED6 00402C63 /0F8C EE020000 JL CRACKME0.00402F57 00402CFD /0F84 54020000 JE CRACKME0.00402F57 00402D97 /0F85 BA010000 JNZ CRACKME0.00402F57 00402DF0 FF15 4C104000 CALL DWORD PTR DS:[<&MSVBVM60.#632>] ; MSVBVM60.rtcMidCharVar alle nop'en hier die exe: No File | xup.in die neue Crackme04: Spoiler 00402DF0 FF15 4C104000 CALL DWORD PTR DS:[<&MSVBVM60.#632>] ; MSVBVM60.rtcMidCharVar 00402BF4 /0F8C A4020000 JL CRACKME0.00402E9E 00402C8B /0F84 0D020000 JE CRACKME0.00402E9E 00402D29 /0F85 6D010000 JNZ CRACKME0.00402E9C 00402D38 /0F85 5E010000 JNZ CRACKME0.00402E9C alle nop'en hier die exe: No File | xup.in + Multi-Zitat Zitieren
#24 3. Juni 2008 AW: [RCE] Crack mich Spoiler Patcher: Spoiler Code: #include <stdio.h> #include <string.h> #pragma warning( disable: 4996 ) // disabling unsecure warnings #define MSG_PATCH "\x90\x90\x90\x90\x90\x90" #define JMP_PATCH "\xE9\x50\x01\x00\x00" #define JMP_PATCH2 "\xE9\x6E\xFF\xFF\xFF" #define JMP_PATCH3 "\xE9\xED\xFe\xFF\xFF" const char g_c_acFiles[4][14] = { "CRACKME01.exe", "CRACKME02.exe", "CRACKME03.exe", "CRACKME04.exe", }; const long g_c_alOffsets[] = { 0x0000286D, // CRACKME01 0x0000298D, // CRACKME01 0x000033B0, // CRACKME02 0x000034A0, // CRACKME02 0x00002A49, // CRACKME03 0x00002EC8, // CRACKME04 0x00002F49, // CRACKME04 }; int main( void ) { FILE *crackme1 = fopen( g_c_acFiles[0], "r+" ); FILE *crackme2 = fopen( g_c_acFiles[1], "r+" ); FILE *crackme3 = fopen( g_c_acFiles[2], "r+" ); FILE *crackme4 = fopen( g_c_acFiles[3], "r+" ); if( NULL == crackme1 || NULL == crackme2 || NULL == crackme3 || NULL == crackme4 ) { perror("unable to patch"); return -1; } // // Patch first crackme // fseek( crackme1, g_c_alOffsets[0], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme1 ); fseek( crackme1, g_c_alOffsets[1], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme1 ); fclose( crackme1 ); // // Patch second crackme // fseek( crackme2, g_c_alOffsets[2], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme2 ); fseek( crackme2, g_c_alOffsets[3], SEEK_SET ); fwrite( MSG_PATCH, sizeof(MSG_PATCH), 1, crackme2 ); fclose( crackme2 ); // // Patch third crackme // fseek( crackme3, g_c_alOffsets[4], SEEK_SET ); fwrite( JMP_PATCH, sizeof(JMP_PATCH), 1, crackme3 ); fclose( crackme3 ); // // Patch fourth crackme // fseek( crackme4, g_c_alOffsets[5], SEEK_SET ); fwrite( JMP_PATCH2, sizeof(JMP_PATCH2), 1, crackme4 ); fseek( crackme4, g_c_alOffsets[6], SEEK_SET ); fwrite( JMP_PATCH3, sizeof(JMP_PATCH3), 1, crackme4 ); fclose( crackme4 ); return 0; } JMP VON NACH 00002EC8 -> 00002E3B 00002F49 -> 00002E3B + Multi-Zitat Zitieren
#25 3. Juni 2008 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [RCE] Crack mich so ...alle 3 geschafft^^ hab ma die fixxed files geuppt ! Spoiler No File | xup.in EDIT// crackme04 auch geschafft...hier die fixxed exe Spoiler No File | xup.in mfg svent + Multi-Zitat Zitieren