| Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a. |
Diskussion: Progress.ini entschlüsseln (Duke Nukem Forever) im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Guten Tag ich habe hier das Spiel Duke Nukem Forever vor mir, und möchte etwas rum probieren, modden, etc. ...
![]() |
| | #1 (permalink) |
| Registriert seit: 12.03.11 ![]() Likes: 1 | Anzeige Guten Tag ![]() ich habe hier das Spiel Duke Nukem Forever vor mir, und möchte etwas rum probieren, modden, etc. Im Hauptordner des Spieles gibt es die Datei "Progress.ini". Wenn ich versuche diese mit dem Texteditor zu öffnen, erhalte ich nur solche Zeichen: Progress.ini - Pastebin.com (dies ist die vollständige Datei) Ich nehme an das es sich um eine XOR-Verschlüsselung handelt (Ich kenne mich leider mit Verschlüsselungen noch nicht so aus, deshalb greife ich einfach mal ins leere und stelle diese Behauptung auf )Ich habe versucht etwas über Ollydbg raus zu bekommen und in der .exe von Duke Nukem Forever nach den String "Progress.ini" gesucht und bin dort hin gejumpt. Das ganze sieht dann in etwa so aus: Sieht sehr nach der Laderoutine meiner Datei aus? Dann bin ich noch dem Call gefolgt um evtl. etwas von der Verschlüsselung zu erfahren. Über den Call lande ich in dieser Routine: Code: 10909200 /$ 55 PUSH EBP 10909201 |. 8BEC MOV EBP,ESP 10909203 |. 6A FF PUSH -1 10909205 |. 68 34109110 PUSH DukeFore.10911034 ; SE handler installation 1090920A |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] 10909210 |. 50 PUSH EAX 10909211 |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP 10909218 |. 81EC 80000000 SUB ESP,80 1090921E |. 53 PUSH EBX 1090921F |. 56 PUSH ESI 10909220 |. 57 PUSH EDI 10909221 |. 898D 74FFFFFF MOV [LOCAL.35],ECX 10909227 |. 8D4D E8 LEA ECX,[LOCAL.6] 1090922A |. FF15 18269110 CALL DWORD PTR DS:[<&dnCommon.??0dnStrin>; dnCommon.??0dnString@@QAE@XZ 10909230 |. C745 FC 000000>MOV [LOCAL.1],0 10909237 |. 8D45 E8 LEA EAX,[LOCAL.6] 1090923A |. 50 PUSH EAX ; /Arg1 1090923B |. 8B4D 08 MOV ECX,[ARG.1] ; | 1090923E |. E8 EDFDFFFF CALL DukeFore.10909030 ; \DukeFore.10909030 10909243 |. 837D 10 00 CMP [ARG.3],0 10909247 |. 0F84 DC000000 JE DukeFore.10909329 1090924D |. 8D4D DC LEA ECX,[LOCAL.9] 10909250 |. FF15 0C219110 CALL DWORD PTR DS:[<&Engine.??0?$dnArray>; Engine.??0FStaticMeshSVVertexStream_Legacy@@QAE@XZ 10909256 |. C645 FC 01 MOV BYTE PTR SS:[EBP-4],1 1090925A |. 8D4D E8 LEA ECX,[LOCAL.6] 1090925D |. FF15 F8259110 CALL DWORD PTR DS:[<&dnCommon.?Num@dnArr>; dnCommon.?Num@dnArrayBase@@QBEHXZ 10909263 |. D1E0 SHL EAX,1 10909265 |. 50 PUSH EAX 10909266 |. 8D4D DC LEA ECX,[LOCAL.9] 10909269 |. FF15 54219110 CALL DWORD PTR DS:[<&Engine.?AddZeroed@?>; Engine.?AddZeroed@?$dnArray@E@@QAEHH@Z 1090926F |. 8D4D E8 LEA ECX,[LOCAL.6] 10909272 |. FF15 F8259110 CALL DWORD PTR DS:[<&dnCommon.?Num@dnArr>; dnCommon.?Num@dnArrayBase@@QBEHXZ 10909278 |. D1E0 SHL EAX,1 1090927A |. 8985 78FFFFFF MOV [LOCAL.34],EAX 10909280 |. 8D4D E8 LEA ECX,[LOCAL.6] 10909283 |. FF15 B0249110 CALL DWORD PTR DS:[<&dnCommon.?GetData@d>; dnCommon.?GetData@dnArrayBase@@QAEPAXXZ 10909289 |. 8985 7CFFFFFF MOV [LOCAL.33],EAX 1090928F |. 8D4D DC LEA ECX,[LOCAL.9] 10909292 |. FF15 B0249110 CALL DWORD PTR DS:[<&dnCommon.?GetData@d>; dnCommon.?GetData@dnArrayBase@@QAEPAXXZ 10909298 |. 8945 80 MOV [LOCAL.32],EAX 1090929B |. 8B8D 78FFFFFF MOV ECX,[LOCAL.34] 109092A1 |. 8BB5 7CFFFFFF MOV ESI,[LOCAL.33] 109092A7 |. 8B7D 80 MOV EDI,[LOCAL.32] 109092AA |. 8BD9 MOV EBX,ECX 109092AC |. C1E9 02 SHR ECX,2 109092AF |. 83E3 03 AND EBX,3 109092B2 |. F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS> 109092B4 |. 8BCB MOV ECX,EBX 109092B6 |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[> 109092B8 |. 8D4D DC LEA ECX,[LOCAL.9] 109092BB |. 51 PUSH ECX ; /Arg1 109092BC |. E8 2FB7FFFF CALL DukeFore.109049F0 ; \DukeFore.109049F0 109092C1 |. 83C4 04 ADD ESP,4 109092C4 |. 85C0 TEST EAX,EAX 109092C6 |. 74 54 JE SHORT DukeFore.1090931C 109092C8 |. 8B55 0C MOV EDX,[ARG.2] 109092CB |. 52 PUSH EDX 109092CC |. 8D4D CC LEA ECX,[LOCAL.13] 109092CF |. FF15 D0259110 CALL DWORD PTR DS:[<&dnCommon.??0dnStrin>; dnCommon.??0dnString@@QAE@PB_W@Z 109092D5 |. C645 FC 02 MOV BYTE PTR SS:[EBP-4],2 109092D9 |. 8D45 DC LEA EAX,[LOCAL.9] 109092DC |. 50 PUSH EAX 109092DD |. 8D4D CC LEA ECX,[LOCAL.13] 109092E0 |. 51 PUSH ECX 109092E1 |. FF15 60219110 CALL DWORD PTR DS:[<&Engine.?s_WriteToFi>; Engine.?s_WriteToFile@@YAHABVdnString@@AAV?$dnArray@E@@@Z 109092E7 |. 83C4 08 ADD ESP,8 109092EA |. 8945 D8 MOV [LOCAL.10],EAX 109092ED |. C645 FC 01 MOV BYTE PTR SS:[EBP-4],1 109092F1 |. 8D4D CC LEA ECX,[LOCAL.13] 109092F4 |. FF15 3C269110 CALL DWORD PTR DS:[<&dnCommon.??1dnStrin>; dnCommon.??1dnString@@QAE@XZ 109092FA |. C645 FC 00 MOV BYTE PTR SS:[EBP-4],0 109092FE |. 8D4D DC LEA ECX,[LOCAL.9] 10909301 |. FF15 4C219110 CALL DWORD PTR DS:[<&Engine.??1?$dnArray>; Engine.??1?$dnArray@E@@QAE@XZ 10909307 |. C745 FC FFFFFF>MOV [LOCAL.1],-1 1090930E |. 8D4D E8 LEA ECX,[LOCAL.6] 10909311 |. FF15 3C269110 CALL DWORD PTR DS:[<&dnCommon.??1dnStrin>; dnCommon.??1dnString@@QAE@XZ 10909317 |. 8B45 D8 MOV EAX,[LOCAL.10] 1090931A |. EB 52 JMP SHORT DukeFore.1090936E 1090931C |> C645 FC 00 MOV BYTE PTR SS:[EBP-4],0 10909320 |. 8D4D DC LEA ECX,[LOCAL.9] 10909323 |. FF15 4C219110 CALL DWORD PTR DS:[<&Engine.??1?$dnArray>; Engine.??1?$dnArray@E@@QAE@XZ 10909329 |> 8B55 0C MOV EDX,[ARG.2] 1090932C |. 52 PUSH EDX 1090932D |. 8D4D BC LEA ECX,[LOCAL.17] 10909330 |. FF15 D0259110 CALL DWORD PTR DS:[<&dnCommon.??0dnStrin>; dnCommon.??0dnString@@QAE@PB_W@Z 10909336 |. C645 FC 03 MOV BYTE PTR SS:[EBP-4],3 1090933A |. 8D45 E8 LEA EAX,[LOCAL.6] 1090933D |. 50 PUSH EAX 1090933E |. 8D4D BC LEA ECX,[LOCAL.17] 10909341 |. 51 PUSH ECX 10909342 |. FF15 5C219110 CALL DWORD PTR DS:[<&Engine.?s_WriteStri>; Engine.?s_WriteStringToFile@@YAHABVdnString@@0@Z 10909348 |. 83C4 08 ADD ESP,8 1090934B |. 8945 C8 MOV [LOCAL.14],EAX 1090934E |. C645 FC 00 MOV BYTE PTR SS:[EBP-4],0 10909352 |. 8D4D BC LEA ECX,[LOCAL.17] 10909355 |. FF15 3C269110 CALL DWORD PTR DS:[<&dnCommon.??1dnStrin>; dnCommon.??1dnString@@QAE@XZ 1090935B |. C745 FC FFFFFF>MOV [LOCAL.1],-1 10909362 |. 8D4D E8 LEA ECX,[LOCAL.6] 10909365 |. FF15 3C269110 CALL DWORD PTR DS:[<&dnCommon.??1dnStrin>; dnCommon.??1dnString@@QAE@XZ 1090936B |. 8B45 C8 MOV EAX,[LOCAL.14] 1090936E |> 8B4D F4 MOV ECX,[LOCAL.3] 10909371 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 10909378 |. 5F POP EDI 10909379 |. 5E POP ESI 1090937A |. 5B POP EBX 1090937B |. 8BE5 MOV ESP,EBP 1090937D |. 5D POP EBP 1090937E \. C2 0C00 RETN 0C Doch wie gehe ich jetzt am besten bei so etwas vor? Wäre toll wenn mir jemand kongret zu meinem Beispiel helfen könnte, aber ich würde mich auch über ein allgemeines Beispiel / Tutorial freuen, wie man bei so etwas vor geht! |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |