Hello guys, well today I found interesting game, so I wanna study this, format stored in .db3 and .status, sure they are connected so maybe someone can take a look? I checked the files and .db3 contain in the header "SQLite format", I read something about that and is an embedded SQL database engine, ok anyway hope it helps, many thanks.
https://cloud.mail.ru/public/BhZT/uSb4rrLA1
Magic To Master
-
- Posts: 204
- Joined: Thu Aug 14, 2014 8:52 pm
Magic To Master
Last edited by CriticalError on Fri Jul 03, 2015 12:28 pm, edited 1 time in total.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Magic To Master
You linkedin the DarkEden files.
Anyway try this:
http://www.yunqa.de/delphi/doku.php/pro ... espy/index
Anyway try this:
http://www.yunqa.de/delphi/doku.php/pro ... espy/index
-
- Posts: 204
- Joined: Thu Aug 14, 2014 8:52 pm
Re: Magic To Master
thanks for report, I fix link now, anyway I checking what you give me.aluigi wrote:You linkedin the DarkEden files.
Anyway try this:
http://www.yunqa.de/delphi/doku.php/pro ... espy/index
-
- Posts: 204
- Joined: Thu Aug 14, 2014 8:52 pm
Re: Magic To Master
sorry for dump topic again luigi, but what suppose I do with them? I can only see database, and what about data of game? I mean, textures, models,animations,etc?
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Magic To Master
There are for sure better ways but let's try some stdin pipe fun via command-line:
Code: Select all
# How to use:
# download https://www.sqlite.org/2015/sqlite-shell-win32-x86-3081002.zip
# md output
# sqlite3 12_asset_data.db3 .dump | quickbms script.bms - output
#
# (script optimized for stdin)
for
getct CMD string ' '
if CMD == "INSERT"
do
get TMP byte
while TMP != ','
getct SIZE string ','
getct DUMMY string ','
get TMP byte # X
get TMP byte # '
getct DATA binary '\''
strlen SIZE DATA
log MEMORY_FILE2 0 0
put DATA string MEMORY_FILE2
goto 0 MEMORY_FILE2
comtype hex
clog MEMORY_FILE 0 SIZE SIZE MEMORY_FILE2
get SIZE asize MEMORY_FILE
getvarchr TMP MEMORY_FILE 0 short
if TMP == 0x8b1f
comtype gzip
clog "" 0 SIZE SIZE MEMORY_FILE
else
log "" 0 SIZE MEMORY_FILE
endif
endif
get TMP line
next
-
- Posts: 204
- Joined: Thu Aug 14, 2014 8:52 pm
Re: Magic To Master
many thanks luigi, it worked very well, now my question, the file names are generated random? because I only got numbers, now after unpacking I got this.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Magic To Master
Unfortunately there are no filenames saved in the database
-
- Posts: 204
- Joined: Thu Aug 14, 2014 8:52 pm
Re: Magic To Master
so exist some way to make unpacker for get hash? in this case any typs from where can begin? because the unpacker no work at all, just unpack few files and after that got error, and .dat files generated by scricpt are wrong extention, because some files are gr2 meshes files (Granny) and others are from animations,etc.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Magic To Master
That's strange that it doesn't work because here I extract all the almost 400 files correctly.
You can also try to not use the pipe and go with the > output.txt and then open it with quickbms to extract it.
Quickbms tries to guess the extension of lot of files but textual files like lua scripts and meshes cannot be guessed.
You can also try to not use the pipe and go with the > output.txt and then open it with quickbms to extract it.
Quickbms tries to guess the extension of lot of files but textual files like lua scripts and meshes cannot be guessed.