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:
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!

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!