1
1
sega_dump_tools/tools/Filesystem/readme.md
KIT! c4eefa978e Reorganized Repo
Added readme for filesystem tools.
2024-11-04 12:56:23 +01:00

2.3 KiB

Filesystem

The scripts in this folder are used to extract .app and .opt files.

Decryption

There are two tools you can use to decrypt and extract updates.

Unsega is sourced directly from 1cc and should be totally safe but if you don't feel like running shady .exe's, you can build fsdecrypt from source instead.
Both tools do exactly the same thing and work in a very similar way so use whatever you like.

.app decryption and extraction

  1. Drag and drop the .app file on unsega_v0.1727.exe or fsdecrypt.exe
  2. Mount the resulting .vhd(unsega) or .ntfs(fsdecrypt) file with osfmount.exe (using default settings)
  3. Copy the internal_x.vhd partition from the vhd you just mounted.
    • If the extracted vhd is named internal_0.vhd, you can just double click it to open it.
    • If the extracted vhd is named internal_X.vhd where X is anything else than 0, you'll need to merge the file with it's base ! See Merging incremental updates

.opt decryption and extraction

You'll need to install the ExFat7z 7zip plugin before proceeding. Install instructions are in the plugin's folder. You can find the original download page for the plugin here

  1. Drag and drop the .opt file on fsdecrypt.exe or unsega_v0.1727.exe
  2. Extract the resulting .vhd(unsega) or .exfat(fsdecrypt) file with 7zip.

Merging incremental updates

Sega updates are incremental, you'll need to merge them if you want to open the latest versions.
Here's an example on how to do so :

Set-VHD -Path "internal_3.vhd" -ParentPath "internal_2.vhd"
Set-VHD -Path "internal_2.vhd" -ParentPath "internal_1.vhd"
Set-VHD -Path "internal_1.vhd" -ParentPath "internal_0.vhd"
Merge-VHD -Path "internal_3.vhd" -DestinationPath "internal_2.vhd"
Merge-VHD -Path "internal_2.vhd" -DestinationPath "internal_1.vhd"
Merge-VHD -Path "internal_1.vhd" -DestinationPath "internal_0.vhd"

You'll need Hyper-V to be enabled for these commands to work.
You'll also need administrator privileges!