ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Tue Jan 26, 2021 10:57 am

All times are UTC




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Sat Nov 28, 2020 6:39 am 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
Hi, i want to translate Dragon Quest to another language, but i am stuck with it.
I am unpacked games with QuickBMS and get game resources, but i can't decompile text *.bin file.
Text bin file looks like a normal text file, but when i edit this, and run games - it's crashed
How can i safely edit this bin? I so trying comtype_scan2 for extract text, but it's not helpfully


Attachments:
stringMapEn (dq2).bin [109.8 KiB]
Downloaded 48 times
stringMapEn (dq1).bin [50.36 KiB]
Downloaded 48 times
Top
   
PostPosted: Sat Nov 28, 2020 11:53 am 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
I'm continue researching this files.
Strings in file have next structure:
{ count variation of one event (like string array) } {weight of next block text (in byte)} {text block}
{weight of next block text (in byte)} {text block}


Top
   
PostPosted: Sat Nov 28, 2020 6:22 pm 

Joined: Mon Mar 09, 2020 3:14 pm
Posts: 21
Use reimport3 for import


Attachments:
DQString.bms [405 Bytes]
Downloaded 47 times
Top
   
PostPosted: Sat Nov 28, 2020 8:26 pm 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
Zmkiy wrote:
Use reimport3 for import

Wow, it's awesome.
Can you see please another file like a stringDataEn.bin?
it's contain's some artefacts after import at line 324 for dq2 bin

p.s. thank you very much ^^


Attachments:
stringDataEn (dq).bin [44.45 KiB]
Downloaded 40 times
stringDataEn (dq2).bin [66.66 KiB]
Downloaded 47 times


Last edited by cyberdog on Sun Nov 29, 2020 10:25 am, edited 1 time in total.
Top
   
PostPosted: Sat Nov 28, 2020 8:53 pm 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
If you want to joke, here is my java import tool (not completed)
I spend 9 hours for research file's at this topic, but i'am very newbie in it.
I newbie in reverse engineering, because i working in enterprise development, but i like this expirience :)


Attachments:
Main.java.txt [4.13 KiB]
Downloaded 50 times
Top
   
PostPosted: Sun Nov 29, 2020 10:26 am 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
Oops, i update stringDataEn.bin for first part of game.


Top
   
PostPosted: Sun Nov 29, 2020 12:15 pm 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
I found why script for stringMap don't extract stringData.
Because in 5430h have text array:
-> 00 00 2E 00 20 what means
-> 00 00 2E (count elements in array) - 46 (dec)
-> 00 20 (size of first element) - 32 (dec)
--> skipping 32 bytes
-> 00 00 16 (size of second element) - 22 (dec)
--> skipping 22 bytes
-> etc.. to 46 element's end :)

But what interesting too:
at start of bin file contains some arrays like that:
-> 00 00 07 00 4C
-> 00 00 07 (7 elements)
-> 00 4C (76 byte next string)

and it's working good, hmmm...


Attachments:
7 strings in one array - good unpack.png [17.37 KiB]
Not downloaded yet
good unpacked.png [13.11 KiB]
Not downloaded yet
in hex.png [14.59 KiB]
Not downloaded yet
How artefacts been.png [32.68 KiB]
Not downloaded yet
Top
   
PostPosted: Sun Nov 29, 2020 1:26 pm 

Joined: Mon Mar 09, 2020 3:14 pm
Posts: 21
Here's how it actually works
Code:
2 byte COUNT
for k = 0 < COUNT ; k++
   2 byte COUNT1
   j =0
   while (j < COUNT1)
      2 byte COUNT2
      for i = 0 < COUNT2 ; i++
         2 byte STRING_SIZE
         STRING
         1 byte NULL
      end
      j += COUNT2
   end
end

But for "StringData", it has a variant structure :?


Attachments:
DQ2DataString.bms [561 Bytes]
Downloaded 46 times
DQ1DataString.bms [560 Bytes]
Downloaded 42 times
Top
   
PostPosted: Fri Dec 04, 2020 5:50 pm 

Joined: Mon Nov 23, 2020 6:42 am
Posts: 7
Zmkiy wrote:
Here's how it actually works
Code:
2 byte COUNT
for k = 0 < COUNT ; k++
   2 byte COUNT1
   j =0
   while (j < COUNT1)
      2 byte COUNT2
      for i = 0 < COUNT2 ; i++
         2 byte STRING_SIZE
         STRING
         1 byte NULL
      end
      j += COUNT2
   end
end

But for "StringData", it has a variant structure :?


Thank you very much, it's very helpfull


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited