1
0
mirror of synced 2024-11-28 01:10:52 +01:00
sega/tools/Filesystem
2022-07-12 16:08:34 -04:00
..
calculate_iv rename some files 2022-07-12 16:08:34 -04:00
fsdecrypt.exe iniitl;a commit 2022-07-12 15:57:08 -04:00
fstool.exe iniitl;a commit 2022-07-12 15:57:08 -04:00
README.txt rename some files 2022-07-12 16:08:34 -04:00
sega_iv_chinese.txt iniitl;a commit 2022-07-12 15:57:08 -04:00

╔═════════════════════╗
 SEGA Decryption Guide
╚═════════════════════╝

╭─────────╮
 app files
╰─────────╯

1. create a new file titled <PCB CODE>.bin

2. fill in the first 16 bytes of <PCB CODE>.bin with
the AES key. (e.g. 9D 0B BA 20 D1 E8 4F 24 59 39 9F 53 83 BE EE 72)

3. the next 16 bytes will be the NTFS header (EB 52 90 4E 54 46 53 20 20 20 20 00 10 01 00 00)
the NTFS header is always the same

4. save this file, then decrypt the app files with the following command:
fsdecrypt <PCB CODE>.bin 0x200000 <path/to/app> <out.vhd>

5. once it finishes decrypting, run the calculate_iv.py script
save the output of key 1. script is found here: https://discord.com/channels/162861213309599744/243895668790394882/995170669329391706

6. open <PCB CODE>.bin inside the hex editor once more, replace the NTFS header with
the key 1

7. run "fsdecrypt <PCB CODE>.bin 0x200000 <path/to/app> <out.vhd>" once more

8. your app is now decrypted, you can extract the internal_0 with poweriso or any other tool

╭─────────╮
 opt files
╰─────────╯

1. decrypt the opt file using fstools with the following command:
fstool dec OPT.bin in.opt out.vhd

2. run the calculate_iv.py script and save key 3
script is found here: https://discord.com/channels/162861213309599744/243895668790394882/995170669329391706

3. replace the IV key of the OPT.bin with key 3, the IV key of OPT.bin are the second 16 bytes

4. decrypt the opt file once more with the new key