Tutorial über das Hacking QSetup Komponist 7
Tutorial über das Hacking QSetup Komponist 7 (von rel4nium)
Werkzeuge: PEiD Upx_mod KWdsm OlyDGB Hiew tpeUm zu beginnen, um zu bestimmen, was unser Opfer verpackt ist, für diesen Lauf PEiD:
UPX 0.89.6 - 1.02 / 1,05-1,24 (Delphi) Stub -> Markus & Laszlo
Jetzt müssen wir Entpacker für die UPX, upiksu selbst nicht zu hart ist, so dass wir Upx_mod verwenden, entpacken wir müssen nur Upx_mod laufen wie folgt:
unp1_24.exe -d QSetup.exe
So entpackte Programm, alle anderen Operationen werden wir führen über die entpackte EXE-shnikom Größe 1,69. Jetzt müssen wir sehen, welche Arten von Schutz sind im Programm verwendet:
So haben wir drei Möglichkeiten, zu schützen, jetzt müssen wir diese Sätze / Wörter finden dizasemblere, laufen KWdsm. Wir bestimmen, dass wir suchen:
1) Illegale Registrierungscode!
2) Nicht registrierte Kopie (DEMO)
3) QSetup Komponist (DEMO)
So, nachdem diese Phrasen gefunden werden, und fand Nachbarn Funktion (ich immer bin für Kurzstreckenübergänge Funktion, das heißt je, jne, jmp;):
Illegal Registrierungscode! - Jne 0051D4FB
Nicht registrierte Kopie - JMP 0051D369
QSetup Komponist - jne 0051DBA8
Noch einmal, ich werde erklären, wir wurden für Referenzpunkte suchen Vorrichtung, das heißt, wenn wir finden, nicht die Fehler in der Funktion, werden wir die Ergebnisse verwenden DASM'a.Tantsuem weiter zu helfen, einen Verbündeten zu starten. Just for fun versuchen, auf die Funktion zu finden:
bpx MessageBoxA
und wir finden nicht nichts, also kein Wunder, dass wir suchten Sätze in DASM) .Fraza Nummer eins:
0051D4DF |. 75 1A JNZ SHORT QSetup.0051D4FB
Diese Funktion ist für uns nicht interessant, weil sie ihren Zweck zurückziehen:
0051D510 |. BA 70D65100 MOV EDX, QSetup.0051D670; ASCII "Sie müssen über Administratorrechte verfügen zu registrieren!"
=> Wir untersuchen den Code oben:
0051D47A |. 84dB TEST BL, BL 0051D47C 74 57 JE SHORT QSetup.0051D4D5 0051D47E |. E8 25B2FBFF CALL-QSetup.004D86A8 0051D483 |. 84C0 TEST AL, AL 0051D485 74 0D JE SHORT QSetup.0051D494 0051D487 |. 8D45 FC LEA EAX, DWORD PTR SS: [EBP-4] 0051D48A |. BA 80D55100 MOV EDX, QSetup.0051D580; ASCII "QSetup PRO Registriert OK!" 0051D48F |. E8 0077EEFF CALL-QSetup.00404B94 0051D494 |> E8 A7B1FBFF CALL-QSetup.004D8640 0051D499 |. 84C0 TEST AL, AL 0051D49B |. 74 0D JE SHORT QSetup.0051D4AA 0051D49D |. 8D45 FC LEA EAX, DWORD PTR SS: [EBP-4] 0051D4A0 |. BA A4D55100 MOV EDX, QSetup.0051D5A4; ASCII "QSetup LITE Registrierte OK!" 0051D4A5 |. E8 EA76EEFF CALL-QSetup.00404B94 0051D4AA |> 68 C8D55100 PUSH QSetup.0051D5C8; ASCII "| & OK | & Stornieren | & Yes | & No | & Abort | & Retry | & Ignorieren |" 0051D4AF |. 6A 00 PUSH 0 0051D4B1 |. 8D45 F8 LEA EAX, DWORD PTR SS: [EBP-8] 0051D4B4 |. 8B4D FC MOV ECX, DWORD PTR SS: [EBP-4] 0051D4B7 |. BA 00D65100 MOV EDX, QSetup.0051D600; ASCII "GlückwunschIch weiß nicht, über Sie, aber ich habe in der Linie interessiert:" 0051D4BC |. E8 4779EEFF CALL-QSetup.00404E08 0051D4C1 |. 8B55 F8 MOV EDX, DWORD PTR SS: [EBP-8] 0051D4C4 |. B9 28D65100 MOV ECX, QSetup.0051D628; ASCII "Attention" 0051D4C9 |. B8 01000000 MOV EAX, 1 0051D4CE |. E8 39B1F7FF CALL-QSetup.0049860C 0051D4D3 |. EB 61 JMP SHORT QSetup.0051D536 0051D4D5 |> 8B45 FC MOV EAX, DWORD PTR SS: [EBP-4] 0051D4D8 |. E8 2BACFBFF CALL-QSetup.004D8108 0051D4DD |. 84C0 TEST AL, AL 0051D4DF 75 1A JNZ SHORT QSetup.0051D4FB 0051D4E1 |. 68 C8D55100 PUSH QSetup.0051D5C8; ASCII "| & OK | & Stornieren | & Yes | & No | & Abort | & Retry | & Ignorieren |" 0051D4E6 |. 6A 00 PUSH 0 0051D4E8 |. B9 3CD65100 MOV ECX, QSetup.0051D63C; ASCII "Error" 0051D4ED |. BA 4CD65100 MOV EDX, QSetup.0051D64C; ASCII "Illegal Registrierungscode!"
0051D47C 74 57 JE SHORT QSetup.0051D4D5 0051D485 74 0D JE SHORT QSetup.0051D494Wir werden verstehen, wo sie sind, wie vidiv, dass in den 1. Platz, und zwar:
0051D4D5 |> 8B45 FC MOV EAX, DWORD PTR SS: [EBP-4]Man kann verstehen, dass dieser Übergang geht zum Ausdruck Illegal Registrierungscode!
Ändern Sie sofort 2 Übergang, als ob wir ein ändern, werden Sie keine Auswirkungen haben:
0051D47C 74 57 JNE SHORT QSetup.0051D4D5 0051D485 74 0D JNE SHORT QSetup.0051D494Also, die Ausgabe-Funktionen zu ändern, erhalten wir:
QSetup PRO Registriert OK!
Aber freuen zu früh wie 2 andere Schutzart nicht gefährdet ist, und auch wenn wir ein Fun-Box sehen, dass das Programm registriert ist, wird es nicht so sein, wie zwei andere Inschriften auf der Stelle.
Zaymёmsya sie in Linie JMP 0051D369, werden wir nicht zögern und sofort unsere Aufmerksamkeit über diese Funktion, um den Code:
0051D2F3 |. 84C0 TEST AL, AL 0051D2F5 |. 74 4F JE SHORT QSetup.0051D346 0051D2F7 |. E8 ACB3FBFF CALL-QSetup.004D86A8 0051D2FC |. 84C0 TEST AL, AL 0051D2FE |. 74 0D JE SHORT QSetup.0051D30D 0051D300 |. 8D45 FC LEA EAX, DWORD PTR SS: [EBP-4] 0051D303 |. BA 94D35100 MOV EDX, QSetup.0051D394; ASCII "registrierte Kopie (PRO)" 0051D308 |. E8 8778EEFF CALL-QSetup.00404B94 0051D30D |> E8 2EB3FBFF CALL-QSetup.004D8640 0051D312 |. 84C0 TEST AL, AL 0051D314 |. 74 0D JE SHORT QSetup.0051D323 0051D316 |. 8D45 FC LEA EAX, DWORD PTR SS: [EBP-4] 0051D319 |. BA B4D35100 MOV EDX, QSetup.0051D3B4; ASCII "Registrierte Copy (LITE)" 0051D31E |. E8 7178EEFF CALL-QSetup.00404B94 0051D323 |> 8B55 FC MOV EDX, DWORD PTR SS: [EBP-4] 0051D326 |. 8B83 DC060000 MOV EAX, DWORD PTR DS: [EBX + 6DC] 0051D32C |. E8 6379F5FF CALL-QSetup.00474C94 0051D331 |. 8B83 DC060000 MOV EAX, DWORD PTR DS: [EBX + 6DC] 0051D337 |. 8B40 68 MOV EAX, DWORD PTR DS: [EAX + 68] 0051D33A |. BA 180000FF MOV EDX, FF000018 0051D33F |. E8 989CF0FF CALL-QSetup.00426FDC 0051D344 |. EB 23 JMP SHORT QSetup.0051D369 0051D346 |> BA D4D35100 MOV EDX, QSetup.0051D3D4; ASCII "noch nicht registriert Copy (DEMO)"Wir sehen einen typischen Schutz, aber es ist einfacher, diese Funktion JE SHORT QSetup.0051D346, wenn eingegeben CH nicht wahr ist, bringen uns ein Fenster: Nicht registrierte Kopie (DEMO) und t.d.Poetomu die Funktion ändern auf:
0051D2F5 75 4F JNZ SHORT QSetup.0051D346 0051D2FE 75 0D JNZ SHORT QSetup.0051D30DEs ist jetzt 2 einfachen Schutzalgorithmus Programm gehackt, allein gelassen. Wir gehen auf die Funktion in DASM gefunden: jne 0051DBA8.Smotrim Code als Ganzes, ist er verantwortlich für die im DEMO-Programmfenster zu bringen:
0051DBCB |. 8D45 FC LEA EAX, DWORD PTR SS: [EBP-4] 0051DBCE |. BA C4DC5100 MOV EDX, QSetup.0051DCC4; ASCII "QSetup Composer" 0051DBD3 |. E8 3072EEFF CALL-QSetup.00404E08 0051DBD8 |. 8B55 FC MOV EDX, DWORD PTR SS: [EBP-4] 0051DBDB |. A1 40E25400 MOV EAX, DWORD PTR DS: [54E240] 0051DBE0 |. 8B00 MOV EAX, DWORD PTR DS: [EAX]Und sie kümmert sich Schleife, bevor sie:
0051DBA8 |> 6A 00 / PUSH 0 0051DBAA |. 6A 00 | PUSH 0 0051DBAC |. 49 | Dezember ECX 0051DBAD |. ^ 75 F9 \ JNZ SHORT QSetup.0051DBA8Alles geht auf die Tatsache, dass es irgendeine Art von Algorithmus ist zu prüfen, ob wir nicht bemerkt haben. Nun müssen wir das Programm wieder in die Öffnung dasme.Posle wieder auf der Suche nach einem Eis QSetup Composer zu öffnen und sofort ins Auge:
0051DBC3 |. E8 48ABFBFF CALL-QSetup.004D8710
Führen Sie diesen Aufruf, indem Sie einfach die Ruftaste an der Werkzeugleiste drücken.
Ausübte hier:
004D8710 / $ 53 PUSH EBX 004D8711 |. 8BD8 MOV EBX, EAX 004D8713 |. 8BC3 MOV EAX, EBX 004D8715 |. BA 54874D00 MOV EDX, QSetup.004D8754; ASCII "DEMO" 004D871A |. E8 31C4F2FF CALL-QSetup.00404B50 004D871F |. E8 84FFFFFF CALL-QSetup.004D86A8 004D8724 |. 84C0 TEST AL, AL 004D8726 |. 74 0C JE SHORT QSetup.004D8734 004D8728 |. 8BC3 MOV EAX, EBX 004D872A |. BA 64874D00 MOV EDX, QSetup.004D8764; ASCII "PRO" 004D872F |. E8 1CC4F2FF CALL-QSetup.00404B50 004D8734 |> E8 07FFFFFF CALL-QSetup.004D8640 004D8739 |. 84C0 TEST AL, AL 004D873B |. 74 0C JE SHORT QSetup.004D8749 004D873D |. 8BC3 MOV EAX, EBX 004D873F |. BA 70874D00 MOV EDX, QSetup.004D8770; ASCII "LITE" 004D8744 |. E8 07C4F2FF CALL-QSetup.00404B50 004D8749 |> 5B POP EBX 004D874A \. C3 RETNAuch hier bleibt die bekannte Schutzentwurf, und jetzt nur JE 004D8734 JNE 004D8734 und das Programm im oberen Fenster zu ändern, schreibt PRO) .Vot und alle einfachen Schutz. Jetzt haben wir nur das Programm zu flicken bleibt, können Sie Hiew 'a.Patchit unter den folgenden Adressen zu funktionieren müssen:
0051D47C, 0051D485, 0051D2F5, 0051D2FE, 004D8726 je müssen alle jne zu ändern und das Programm wird sich registrierte immer in Betracht ziehen.
Nach dem Programm Patchen eines Patches machen können TPE (etwa das sagte ich in früheren Artikeln, so werde ich nicht wiederholen)
Das Programm unterbrochen wird, wurde der Patch erstellt ...
Kommentare
im Auge kommentierte halten , dass der Inhalt und der Ton Ihrer Nachrichten , die Gefühle von echten Menschen verletzen können, Respekt und Toleranz gegenüber seinen Gesprächspartnern, auch wenn Sie Ihr Verhalten in Bezug auf die Meinungsfreiheit und die Anonymität des Internets, ändert ihre Meinung nicht teilen, nicht nur virtuell, sondern realen Welt. Alle Kommentare werden aus dem Index, Spam - Kontrolle versteckt.