1
1

iniitl;a commit

This commit is contained in:
SEGA CORPORATION 2022-07-12 15:57:08 -04:00
commit 492c079215
No known key found for this signature in database
GPG Key ID: 825D2D66108A4F0E
86 changed files with 172 additions and 0 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
*.bin binary
*.BIN binary

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# SEGA dumptools
source: emuline.org and 1cc

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<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

@ -0,0 +1,2 @@
<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

@ -0,0 +1,2 @@
<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

@ -0,0 +1 @@
https://docs.google.com/spreadsheets/d/17hDcZzN3F0lNbihgEcAQURs3ff0AuPZgS66Dly2iZ3Q/

BIN
keys/AES128_Nu_ALLS/OPT.BIN Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
Possible crackproof decrypter made by @skyan, @Maji tested it and it decrypted ongeki 1.35's main exe + uni+'s main exe and both ran fine
afaik and from what ive seen/tested, some amdaemon exes cant be decrypted
(Edit: maji decrypted ongeki's amdaemon and it worked: "the game boots and connects to aqua")
I tried it on initial D the arcade's main exe, and it does an error called 0xc0000005, so some other exes might not boot

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
odd.sys (crackproof driver) for umamusume, you can edit the string of the driver with the one needed for whatever game you're trying to run.
to figure out the string, run the game via a debugger, at a certain point, it will crash and it will tell you which string it's looking for
Obfuscated HEX:
E8 85 FA FF FF 48 8D 4C 24 50
Deobfuscated HEX :
48 74 73 79 73 6D 36 45 38 43
Raw Text : Htsysm6E8C
8D 4C 24 50 would be the hex which would be edited with the string of the game you're trying to run. you have to obfuscate the string after finding it(dont know how to do it yet)

View File

@ -0,0 +1,42 @@
╔═════════════════════╗
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

View File

@ -0,0 +1,39 @@
# Get the IV key from OPT.bin (this is the second 16 bytes of the file)
# decrypt the .opt using OPT.bin and get the first 16 bytes of the vhd. this is key1
# key1 xor EB769045584641542020200000000000 (exfat file header) this will give you key2
# key2 xor OPT IV key -> key3
# replace OPT.bin's IV with key3 and decrypt
import os
import glob
#function for taking bytes and xor'ing them
def byte_xor(ba1, ba2):
return bytes([_a ^ _b for _a, _b in zip(ba1, ba2)])
print("You must decrypt the opt first using fstools and the OPT.bin\nPlace everything in the same directory\nONLY HAVE ONE VHD IN THE DIRECTORY AT A TIME")
cwd = os.getcwd()
#necessary because i couldn't figure out how else to do this, it's the exfat header duh
with open(str(cwd) + "/exfat.bin", "rb") as f:
exfat_HEADER = f.read(-1)
print("exFAT Header = " + str(exfat_HEADER.hex()))
#reads all bytees from OPT.bin then saves bytes (17, 32) and converts it to hexadecimal
with open(str(cwd) + "/OPT.bin", "rb") as f:
opt_IV = f.read(-1)
opt_IV = opt_IV[16:]
print("OPT IV = " + str(opt_IV.hex()))
#puts all files with .vhd extension in a list, then pulls the first one in the list, will read first 16 bytes and convert to hexadecimal
placeholder = glob.glob("*.vhd")
vhd = str(placeholder[0])
with open(str(cwd) + "/" + vhd, "rb") as f:
key1 = f.read(16)
print("key1 =" + str(key1.hex()))
#calculates key 2 and key 3 then converts to hex
key2 = byte_xor(key1, exfat_HEADER)
print("key2 = " + str(key2.hex()))
key3 = byte_xor(key2, opt_IV)
print("key3 = " + str(key3.hex()))

View File

@ -0,0 +1,2 @@
i saw some of you guys were struggling with calculating the key3 so i went ahead and wrote a script for you all that does it for you. no external libraries are used, everything is just python3
exfat.bin is necessary, it stores the exfat header within it

Binary file not shown.

Binary file not shown.

BIN
tools/Filesystem/fstool.exe Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
1.Create SDDT.bin with 16 bytes of 0 written in the iv key
2.Decrypt only the first 16 bytes once with fsdecrypt or fstool
3.The first 16 bytes of the decrypted file is the iv key
1.创建SDDT.bin在iv键中写入16个字节的0
2.用fsdecrypt或fstool只对前16个字节进行一次解密
3.解密后的文件的前16个字节是iv密钥