Jump to content

Planetarian HD Edition (Steam) .dbs format


Recommended Posts

Hello everyone.

As you know, Chinese version of Planetarian HD has been released on Steam this week, and surprisingly, Key decided to use Siglus Engine for Planetarian HD, instead of Reallive, which was used in the Japanese version that's been released last year.

I extracted Scene.pck archive using marcussacana's Siglus tool, but when I try to edit the scenario files, they seem to be empty. There are "none"s instead of actual text.
image

It seems that, instead of rewriting the code in Siglus and using Scene.pck to store code/scenario, they imported all the code from Reallive, and store them in a format called .dbs.
I assume that they'll use the same method in LB! English Edition too.
Is there anyone who's willing to crack this file format?

Edited by RazoR
Link to comment
Share on other sites

How forgetful I am, I didn't include the file itself ^^"
https://mega.nz/#!v5x1CIaL!N9NT0-YXTHnHjgtuoJO9jHGKcxViLwqSDkOzIsCV23s
This archive includes the dat folder where the .dbs files are stored, GameexeZH.dat and Scene.pck files. All copied from the original Steam version.

Forgot to said:
This same file format is also used on CLANNAD's Steam release as well, in Dangopedia section.
The Dangopedia data are possibly stored inside. I couldn't find those data in SEEN.TXT of Clannad HD.
This means that the .dbs file format is universal for both Reallive engine and Siglus engine.
Here's dangopedia.dbs from CLANNAD HD: https://mega.nz/#!mw4mDAKT!HFpSk3pzlU2BlvFGYyXadsxf5bS6OMvK403OEyrXNng

 

Link to comment
Share on other sites

I can also provide CLANNAD HD's scenario files for further investigation.
Since this format is readable in both Reallive's and Siglus' Steam editions, it'd be easier to work with Reallive first.

Edited by RazoR
Link to comment
Share on other sites

instead of marcussacana, you can mention him with his fuwa name: marcus-beta
by the way, i tried your files with separated program, and it looks same, so marcus-beta's tool didnt wrong, i guess...

7YAMn1c.png

the scenario file is too small (about 800kb), and i think they didnt store it there,
either they change the code, or save it to the new format (.dbs, most likely), we dont know...
lets hope marcus-beta gotta update his program.

Edited by Huang Ling Yin
Link to comment
Share on other sites

I already reached out to him. It was him who told me about this format (.dbs).
And yeah, it's high likely that they store the text in this format, because the only format you can convert to .dbs through Reallive tools is .csv, and an Excel file could be seen in one of the images that Key shared. 

There's a CSV to DBS tool in RealliveMAX SDK, but it can't re-convert the .dbs file to .csv.
Crass' Reallive plugin can convert and make the file readable only to some degree.
Hopefully a hacker could reverse engineer this format.

Link to comment
Share on other sites

  • 7 months later...
On 22/05/2017 at 1:57 PM, RazoR said:

There's a CSV to DBS tool in RealliveMAX SDK, but it can't re-convert the .dbs file to .csv.
Crass' Reallive plugin can convert and make the file readable only to some degree.
Hopefully a hacker could reverse engineer this format.

He is half readable because the tool is outdated?/unfinished

The DBS have 2 encryptions and 1 compression

  1. First encryption is xor with 0x89f4622d for every 4 bytes of the file... (dword)
  2. Now you can see a compressed content, Very simple, is a 8 bits flag, 1111 1110 he will loop bit per bit
    1. if the bit is equal to 0, he will use the atual byte in the buffer as a count of how many times he need copy certain byte in the decompressed buffer to the top of the buffer...
    2. if the bit is queal to 1, means don't have repetion and just copy to the decompressed buffer
  3. After decompressed is the last encryption, this crass just do a xor in everything with 0x7190c70e, but this isn't right...
    This encryption have a randomic "static" switch who select bettewen the key 0x499bf135 and 0x7190c70e

I don't have fully analyzed this randomic switch in the key, but if someone wants try here is the tool to create the dbs https://comfy.moe/vhmmim.rar
and here is the part where he select the key: (He have 3 buffers, one with the original file, one he using the 0x499bf135 key and other using the 0x7190c70e key)

ebznpc.png

Edited by marcus-beta
Link to comment
Share on other sites

Wow, that's a great find!
Yeah, I assume that it's half readable only because the Reallive plugin in Crass is unfinished since Crass' Reallive plugin also can't decompress transparency in .g00 images. I'm not quite sure since I'm not a hacker myself, so I can't analyze any code or make any solutions.

 

 

 

Edited by RazoR
Link to comment
Share on other sites

OH MY GOD.

Marcus, you truly are my hero. I can't thank you enough!

Thanks to you, not just us but so many people can translate Planetarian's latest version to their native languages.

I'll try your tool's new release on Clannad's Dangopedia file as well and give a feedback ASAP.

Thanks again! ^^

Link to comment
Share on other sites

  • 5 months later...
On 17/1/2018 at 10:47 AM, RazoR said:

OH MY GOD.

Marcus, you truly are my hero. I can't thank you enough!

Thanks to you, not just us but so many people can translate Planetarian's latest version to their native languages.

I'll try your tool's new release on Clannad's Dangopedia file as well and give a feedback ASAP.

Thanks again! ^^

Hi guys! I'm trying to do the same thing but with italian language and I'm not very practical with Visual Basics, codes and the alikes :(

Can someone please explain me in details how this stuff works? I'd like to know the exact process and which tools must be used for each step of data extraction, editing and rebuild in the right format...

Thank you!

Link to comment
Share on other sites

On 05.07.2018 at 1:48 AM, -Tomoya- said:

Hi guys! I'm trying to do the same thing but with italian language and I'm not very practical with Visual Basics, codes and the alikes :(

Can someone please explain me in details how this stuff works? I'd like to know the exact process and which tools must be used for each step of data extraction, editing and rebuild in the right format...

Thank you!

You can get the pre-compiled, ready-to-use version of @marcus-beta's Siglus Engine tool from here and start to edit the text.dbs inside planetarian HD's folder.

Also, some CGs, buttons and various menu images will need editing. 

Edited by RazoR
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...