1
1

Finished Filesystem tools README file

This commit is contained in:
Farewell_ 2024-11-04 14:55:51 +01:00
parent c4eefa978e
commit 648e4137ad
24 changed files with 29 additions and 64 deletions

View File

@ -1,3 +1,16 @@
# SEGA Dump Tools # SEGA Dump Tools
A compilation of scripts and documents regarding SEGA update encryption. A compilation of scripts and documents regarding SEGA update encryption.
## Filesystem Tools
If you want to decrypt and extract .app or .opt files, head over to the [Filesystem](./tools/Filesystem/) folder.
## ALL.NET ID List
[List](./docs/ALL.NET%20ID%20List/ALL.NET%20ID%20List.xlsx) of all ALL.NET games with their respective game codes
You'll find the most up to date info on DataMonster's [spreadsheet](https://docs.google.com/spreadsheets/d/1RMhj6GlQoehH7AEOl1sSRKCGD3pEUNd8spki5Bhw7sw/edit).
## Extras
This repo also has a bunch of other stuff like old tools and decryption keys, feel free to look around if you're interested.

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type="text/css" rel="stylesheet" href="resources/sheet.css" >
<style type="text/css">.ritz .waffle a { color: inherit; }.ritz .waffle .s0{background-color:#ffffff;text-align:center;color:#000000;font-family:'Arial';font-size:10pt;vertical-align:bottom;white-space:nowrap;direction:ltr;padding:0px 3px 0px 3px;}</style><div class="ritz grid-container" dir="ltr"><table class="waffle" cellspacing="0" cellpadding="0"><thead><tr><th class="row-header freezebar-origin-ltr"></th><th id="1152062920C0" style="width:100px;" class="column-headers-background">A</th><th id="1152062920C1" style="width:100px;" class="column-headers-background">B</th><th id="1152062920C2" style="width:100px;" class="column-headers-background">C</th><th id="1152062920C3" style="width:100px;" class="column-headers-background">D</th><th id="1152062920C4" style="width:100px;" class="column-headers-background">E</th><th id="1152062920C5" style="width:100px;" class="column-headers-background">F</th></tr></thead><tbody><tr style="height: 20px"><th id="1152062920R0" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">1</div></th><td class="s0" colspan="6">Please add a question mark (?) after the item you are not sure about.</td></tr><tr style="height: 20px"><th id="1152062920R1" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">2</div></th><td class="s0" colspan="6">Please add the game title in other languages, if the game released in that region use a different marquee/banner/logo etc. that made the game hard to identify for average foreigners. See SDGB, SDFE and SDHN.</td></tr></tbody></table></div>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type="text/css" rel="stylesheet" href="resources/sheet.css" >
<style type="text/css">.ritz .waffle a { color: inherit; }.ritz .waffle .s1{background-color:#ffffff;text-align:center;color:#000000;font-family:'Arial';font-size:10pt;vertical-align:bottom;white-space:nowrap;direction:ltr;padding:0px 3px 0px 3px;}.ritz .waffle .s0{background-color:#ffffff;text-align:center;color:#000000;font-family:'Arial';font-size:10pt;vertical-align:middle;white-space:nowrap;direction:ltr;padding:0px 3px 0px 3px;}</style><div class="ritz grid-container" dir="ltr"><table class="waffle" cellspacing="0" cellpadding="0"><thead><tr><th class="row-header freezebar-origin-ltr"></th><th id="1003711589C0" style="width:82px;" class="column-headers-background">A</th><th id="1003711589C1" style="width:246px;" class="column-headers-background">B</th><th id="1003711589C2" style="width:226px;" class="column-headers-background">C</th><th id="1003711589C3" style="width:131px;" class="column-headers-background">D</th></tr></thead><tbody><tr style="height: 20px"><th id="1003711589R0" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">1</div></th><td class="s0">Code</td><td class="s0">Name</td><td class="s0">Board Type</td><td class="s0">Remark</td></tr><tr style="height: 20px"><th id="1003711589R1" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">2</div></th><td class="s0">SBUZ</td><td class="s0">Mobile Suit Gundam Extreme VS.</td><td class="s0">Namco System 357</td><td class="s0"></td></tr><tr style="height: 20px"><th id="1003711589R2" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">3</div></th><td class="s0">SBWJ</td><td class="s0">湾岸ミッドナイトマキシマムチューン<br>Wangan Midnight Maximum Tune</td><td class="s0">Namco System ES1/ES3/BNA1</td><td class="s0">WMMT4 ~ </td></tr><tr style="height: 20px"><th id="1003711589R3" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">4</div></th><td class="s0">SBWY</td><td class="s0">太鼓の達人<br>Taiko no Tatsujin</td><td class="s0">Namco System 357/BNA1 Lite</td><td class="s0"></td></tr><tr style="height: 20px"><th id="1003711589R4" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">5</div></th><td class="s0">SBZB</td><td class="s0">Mario Kart Arcade GP DX</td><td class="s0">Namco System ES3</td><td class="s0"></td></tr><tr style="height: 20px"><th id="1003711589R5" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">6</div></th><td class="s0">SDAK</td><td class="s0">Pokken Tournament</td><td class="s0">Namco System ES3</td><td class="s0"></td></tr><tr style="height: 20px"><th id="1003711589R6" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">7</div></th><td class="s1">SDBB</td><td class="s1">Synchronica</td><td class="s0">Namco System ES3</td><td class="s1"></td></tr><tr style="height: 20px"><th id="1003711589R7" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">8</div></th><td class="s1">SDBS</td><td class="s1">Tekken 7</td><td class="s0">Namco System ES3</td><td class="s1">Maybe Vanilla Ver?</td></tr></tbody></table></div>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type="text/css" rel="stylesheet" href="resources/sheet.css" >
<style type="text/css">.ritz .waffle a { color: inherit; }.ritz .waffle .s1{background-color:#ffffff;text-align:center;font-weight:bold;color:#000000;font-family:'Arial';font-size:10pt;vertical-align:bottom;white-space:nowrap;direction:ltr;padding:0px 3px 0px 3px;}.ritz .waffle .s0{background-color:#ffffff;text-align:center;color:#000000;font-family:'Arial';font-size:10pt;vertical-align:bottom;white-space:nowrap;direction:ltr;padding:0px 3px 0px 3px;}</style><div class="ritz grid-container" dir="ltr"><table class="waffle" cellspacing="0" cellpadding="0"><thead><tr><th class="row-header freezebar-origin-ltr"></th><th id="270032438C0" style="width:100px;" class="column-headers-background">A</th><th id="270032438C1" style="width:100px;" class="column-headers-background">B</th><th id="270032438C2" style="width:100px;" class="column-headers-background">C</th><th id="270032438C3" style="width:195px;" class="column-headers-background">D</th><th id="270032438C4" style="width:194px;" class="column-headers-background">E</th></tr></thead><tbody><tr style="height: 20px"><th id="270032438R0" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">1</div></th><td class="s0">Board Name</td><td class="s0">HW Code</td><td class="s0">HW Type</td><td class="s0">Value Model</td><td class="s0">Variable Model</td></tr><tr style="height: 20px"><th id="270032438R1" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">2</div></th><td class="s0">Lindbergh</td><td class="s0">AAG</td><td class="s1">Yellow</td><td class="s1">sliver(?)/red</td><td class="s1">Blue (Windows Embedded)</td></tr><tr style="height: 20px"><th id="270032438R2" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">3</div></th><td class="s0">Ringedge</td><td class="s0">AAL</td><td class="s0"><span style="font-family:Arial;font-weight:bold;color:#000000;">1</span><span style="font-family:Arial;color:#000000;"> / </span><span style="font-family:Arial;font-weight:bold;color:#000000;">2</span></td><td class="s0">RINGWIDE</td><td class="s0"></td></tr><tr style="height: 20px"><th id="270032438R3" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">4</div></th><td class="s0">Nu</td><td class="s0">AAV</td><td class="s0"><span style="font-family:Arial;font-weight:bold;color:#000000;">1</span><span style="font-family:Arial;color:#000000;"> / </span><span style="font-family:Arial;font-weight:bold;color:#000000;">1.1</span><span style="font-family:Arial;color:#000000;"> / </span><span style="font-family:Arial;font-weight:bold;color:#000000;">2</span></td><td class="s0"></td><td class="s0"></td></tr><tr style="height: 20px"><th id="270032438R4" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">5</div></th><td class="s0">Nu SX</td><td class="s0">AAW</td><td class="s0"></td><td class="s0"><span style="font-family:Arial;font-weight:bold;color:#000000;">SX</span><span style="font-family:Arial;color:#000000;"> / </span><span style="font-family:Arial;font-weight:bold;color:#000000;">SX1.1</span></td><td class="s0"></td></tr><tr style="height: 20px"><th id="270032438R5" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">6</div></th><td class="s0">ALLS</td><td class="s0">ACA1</td><td class="s1">UX</td><td class="s1">HX / X2 ?</td><td class="s0">MX</td></tr><tr style="height: 20px"><th id="270032438R6" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px">7</div></th><td class="s0">ALLS 2</td><td class="s0">ACA2/ACA4?</td><td class="s1">UX2</td><td class="s1" dir="ltr">HX2 / HX2.1 </td><td class="s0">MX2.1</td></tr></tbody></table></div>

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
# Fsdecrypt # Fsdecrypt
This tool was made by beerpsi and it's latest version is available [here](https://gitea.tendokyu.moe/beerpsi/fsdecrypt) This tool was made by Beerpsi and it's latest version is available [here](https://gitea.tendokyu.moe/beerpsi/fsdecrypt)
For simplicity's sake, you can use the pre-compiled [.exe](./fsdecrypt.exe) For simplicity's sake, you can use the pre-compiled [.exe](./fsdecrypt.exe)

View File

@ -0,0 +1,3 @@
# Unsega
This tool was made by Elpis and it's latest version is available on the #links channel in 1cc.

View File

@ -2,7 +2,7 @@
The scripts in this folder are used to extract .app and .opt files. The scripts in this folder are used to extract .app and .opt files.
## Decryption ## How to decrypt updates
There are two tools you can use to decrypt and extract updates. There are two tools you can use to decrypt and extract updates.
@ -18,29 +18,33 @@ Both tools do exactly the same thing and work in a very similar way so use whate
2) Mount the resulting .vhd(unsega) or .ntfs(fsdecrypt) file with [osfmount.exe](./Extra/osfmount.exe) (using default settings) 2) Mount the resulting .vhd(unsega) or .ntfs(fsdecrypt) file with [osfmount.exe](./Extra/osfmount.exe) (using default settings)
3) Copy the internal_x.vhd partition from the vhd you just mounted. 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_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](#merging-incremental-updates) * If the extracted vhd is named **internal_X.vhd** where X is anything else than 0, you'll need to merge the file with a base update first! See [Merging incremental updates](#merging-incremental-updates)
### .opt decryption and extraction ### .opt decryption and extraction
You'll need to install the [ExFat7z](./Extra/ExFat7z/) 7zip plugin before proceeding. Install instructions are in the plugin's folder. You'll need to install the [ExFat7z](./Extra/ExFat7z/) 7zip plugin before proceeding. Install instructions are in the plugin's folder. You can find the original download page for the plugin [here](https://www.tc4shell.com/en/7zip/exfat7z/)
You can find the original download page for the plugin [here](https://www.tc4shell.com/en/7zip/exfat7z/)
1) Drag and drop the .opt file on [fsdecrypt.exe](./Fsdecrypt/fsdecrypt.exe) or [unsega_v0.1727.exe](./Unsega/unsega_v0.1727.exe) 1) Drag and drop the .opt file on [fsdecrypt.exe](./Fsdecrypt/fsdecrypt.exe) or [unsega_v0.1727.exe](./Unsega/unsega_v0.1727.exe)
2) Extract the resulting .vhd(unsega) or .exfat(fsdecrypt) file with 7zip. 2) Extract the resulting .vhd(unsega) or .exfat(fsdecrypt) file with 7zip.
## Merging incremental updates ## Merging incremental updates
Sega updates are incremental, you'll need to merge them if you want to open the latest versions. Sega updates are incremental, If you want to open latest versions, you'll need to merge the vhd files first.
Here's an example on how to do so : The game's vhds are called internal_X.vhd where X can be any number.
**internal_0** is your *base* update.
**internal_1-9** are *incremental* updates.
You *NEED* a base to be able to open the incremental updates, so make sure you're not missing that.
Let's say you have a base update and 2 incrementals, here's an example on how to merge them to have the latest version :
```powershell ```powershell
Set-VHD -Path "internal_3.vhd" -ParentPath "internal_2.vhd"
Set-VHD -Path "internal_2.vhd" -ParentPath "internal_1.vhd" Set-VHD -Path "internal_2.vhd" -ParentPath "internal_1.vhd"
Set-VHD -Path "internal_1.vhd" -ParentPath "internal_0.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_2.vhd" -DestinationPath "internal_1.vhd"
Merge-VHD -Path "internal_1.vhd" -DestinationPath "internal_0.vhd" Merge-VHD -Path "internal_1.vhd" -DestinationPath "internal_0.vhd"
``` ```
You can now open internal_0.vhd, which contains the updated version of your game.
You'll need Hyper-V to be enabled for these commands to work. You'll need Hyper-V to be enabled for these commands to work.
You'll also need administrator privileges! You'll also need administrator privileges!