XeNTaX Forum Index
Forum MultiEx Commander Tools Tools Home
It is currently Sun Dec 17, 2017 3:07 pm

All times are UTC + 1 hour


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Dragon Sword (JianLong) (*.BAG)
PostPosted: Mon Oct 22, 2012 11:23 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times














You can make the ads go away by registering

Image

Official Site: Here
Download Client: Here (about 8GB)
Download Unpacker - v0.0.5 r11 Hot Fix: Here
Preview Screen: Here

Image


Last edited by Ekey on Thu Jun 16, 2016 1:51 pm, edited 13 times in total.

Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Tue Oct 23, 2012 12:47 am 
Offline
Moderator
User avatar

Joined: Sun May 18, 2008 3:01 pm
Posts: 2444
Has thanked: 56 times
Have thanks: 1193 times
I figured out something
the size value in the file area_01.bag
it starts at offset 8 in the table
C8 E5 4F 4E
you xor it with 0xD0e54f4e
and you get
18 00 00 00
the next one is 0xC bytes down
5C E5 4D 4E
you xor this with the last xor - C 0xc4e54f4e
and you get 98 00 02 00
the next one 20654F4E
you again xor it with the last xor key - c 0xb8e54f4e
and you get
98 80 00 00
:)

so the fiel table seems to go

hash name long
offset long
size long
and the first file is always offset 0x24
and size 0x18
so you can use those to generate the xor key :)

it has something to do with the offset you read the value at i think
because around every 0x100 the 2nd number besides the - c changes
here is the values for area_01
Quote:
F0C6616C CFF95153 C8E54F4E - d0e54f4e
CB4D616C F3F95153 5CE54D4E - c4e54f4e
B4D66F6C 17F95353 20654F4E - b8e54f4e
893E736C EB785353 34654F4E - ace54f4e
5DC0756C 5FF85253 69E54F4E - a0e54f4e
6C017C6C 32FB5253 0C654F4E - 94e54f4e
4D027F6C D67A5253 10654F4E - 88e54f4e

4E60416C 8AFB5553 E4E44D4E - 7ce44f4e
374B4C6C 1EFC5753 20CF4F4E - 70e44f4e
F6C6596C BAD75753 B4E64F4E - 64e44f4e
1C4D5F6C D6CA5753 C0E4474E - 58e44f4e
1541256C 6ACB5F53 D4E4474E - 4ce44f4e
1E0D276C 9ECB4753 D8644F4E - 40e44f4e
4B732C6C 424C4753 64CF4F4E - 34e44f4e
2F022F6C 8E274753 B0E4474E - 28e44f4e
8BA43B6C 42184F53 84A44F4E - 1Ce44f4e
offset 1F20FD
4D620C6C E6D84E53 DAE44F4E - 10e44f4e
C6E9EF6C B8D94E53 54CF4F4E - 04e44f4e
B558F26C 14B44E53 60644F4E - f8e44f4e
1F02F26C 68354E53 74E4474E - ece44f4e
7E0DF86C DC367653 78E44D4E - e0e44f4e
4482CB6C 00367853 4CE44D4E - d4e44f4e
24D3CC6C 84377A53 98CF4F4E - c8e44f4e
offset 2BFAC7
1DAFD16C 00027A53 BDA64E4E - bce44f4e
DCD7D06C 13C47C53 28E44D4E - b0e44f4e
94A3D06C FFC57E53 3C644F4E - a4e44f4e
8307D06C 6B457E53 00644F4E - 98e44f4e
23F9D36C E7C66153 14E44D4E - 8ce44f4e
8EA3D86C 83C76353 18644F4E - 80e44f4e
814BDD6C CF446353 ECE74D4E - 74e74f4e


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Tue Oct 23, 2012 1:34 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
Hm.


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Last edited by Ekey on Sun Feb 03, 2013 8:38 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Wed Oct 24, 2012 1:20 am 
Offline
Moderator
User avatar

Joined: Sun May 18, 2008 3:01 pm
Posts: 2444
Has thanked: 56 times
Have thanks: 1193 times
the ZZZ files are compressed with COMP_LZO1X
mabee there needs to be some slight change to the algorithm?
the data looks mostly right but it may be a bit off.


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Sun Feb 03, 2013 6:02 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
Ok i continued make tool for unpack files. Well function for decrypt table has been done.
I have one problem. On my first PC with Win7 Home Edition game does not work (just closing without errors or msg).
On second PC game will not work because lost one 512mb / 1024mb (yup broken). If chrrox can explain where stored info about hash offsets size (in table) i can write extractor.


Last edited by Ekey on Tue Jul 08, 2014 4:36 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Mon Feb 04, 2013 5:10 am 
Offline
Moderator
User avatar

Joined: Sun May 18, 2008 3:01 pm
Posts: 2444
Has thanked: 56 times
Have thanks: 1193 times
its getting late you can probably finish this.
This seems to work on the first archive of each name but fails on the archives like char0 char1 ext.
ill look into why if you do not beat me to it.
Image
Image
Code:
# Dragon Sword (JianLong) (BAG format) (IN PROGRESS)
#
# Written by Ekey (h4x0r) / a little from chrrox
# http://www.progamercity.net
#
# script for QuickBMS http://quickbms.aluigi.org
comtype lzo1x

get PAKSIZE asize
get ID long

if ID == 0x62616731
    set TotalFiles_Key "0xe7356461"
    set TableOffset_Key "0xcb449442"
    set UNK1_Key "0x698346bd"
    set UNK2_Key "0x867389fe"
    set UNK3_Key "0xabedc59d"
else ID == 0x62616732
    set TotalFiles_Key "0x27252421"
    set TableOffset_Key "0x3b343432"
    set UNK1_Key "0x5953565d"
    set UNK2_Key "0x6663696e"
    set UNK3_Key "0x7b7d757d"
endif

filexor TotalFiles_Key
get FILES long
math FILES - 1
filexor TableOffset_Key
get TABLEOFFSET long
filexor ""

set TABLESIZE = PAKSIZE
math TABLESIZE -= TABLEOFFSET
math TABLESIZE -= 4

goto TABLEOFFSET

for i = 0 < FILES
filexor UNK1_Key
get HASH long
filexor UNK2_Key
get OFFSET long
filexor UNK3_Key
get SIZE long
math HASH ^ TABLEOFFSET
math OFFSET ^ TABLEOFFSET
math SIZE ^ TABLEOFFSET
filexor ""
log MEMORY_FILE OFFSET SIZE
goto 0x18 MEMORY_FILE
math SIZE -= 0x18
if SIZE > 0
get tmp long MEMORY_FILE
if tmp = 0x5A5A5A5A
get TSIZE long MEMORY_FILE
math SIZE - 0x8
clog "" 0x20 SIZE TSIZE MEMORY_FILE
else
log "" 0x18 SIZE MEMORY_FILE
endif
else
log "" OFFSET 0x18
endif
math TABLEOFFSET += 12
next i


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Mon Feb 04, 2013 1:50 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
Ok thanks for script, left to find hash func.


Last edited by Ekey on Tue Jul 08, 2014 4:36 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Sun Oct 20, 2013 4:35 am 
Offline
advanced

Joined: Sun Jul 03, 2011 4:40 am
Posts: 62
Has thanked: 51 times
Have thanks: 1 time
Ekey wrote:
Ok thanks for script, left to find hash func. With formating hash

Code:
# Dragon Sword (JianLong) (BAG format) (IN PROGRESS)
#
# Written by Ekey (h4x0r) / a little from chrrox
# http://www.progamercity.net
#
# script for QuickBMS http://quickbms.aluigi.org

comtype lzo1x

get PAKSIZE asize
get ID long

if ID == 0x62616731
    set TotalFiles_Key "0xe7356461"
    set TableOffset_Key "0xcb449442"
    set UNK1_Key "0x698346bd"
    set UNK2_Key "0x867389fe"
    set UNK3_Key "0xabedc59d"
else ID == 0x62616732
    set TotalFiles_Key "0x27252421"
    set TableOffset_Key "0x3b343432"
    set UNK1_Key "0x5953565d"
    set UNK2_Key "0x6663696e"
    set UNK3_Key "0x7b7d757d"
endif

filexor TotalFiles_Key
get FILES long
math FILES - 1
filexor TableOffset_Key
get TABLEOFFSET long
filexor ""

set TABLESIZE = PAKSIZE
math TABLESIZE -= TABLEOFFSET
math TABLESIZE -= 4

goto TABLEOFFSET

for i = 0 < FILES
filexor UNK1_Key
get HASH long
filexor UNK2_Key
get OFFSET long
filexor UNK3_Key
get SIZE long
math HASH ^ TABLEOFFSET
math OFFSET ^ TABLEOFFSET
math SIZE ^ TABLEOFFSET
filexor ""
string NAME p= "%08X" HASH
log MEMORY_FILE OFFSET SIZE
goto 0x18 MEMORY_FILE
math SIZE -= 0x18
if SIZE > 0
get tmp long MEMORY_FILE
if tmp = 0x5A5A5A5A
get TSIZE long MEMORY_FILE
math SIZE - 0x8
clog NAME 0x20 SIZE TSIZE MEMORY_FILE
else
log NAME 0x18 SIZE MEMORY_FILE
endif
else
log NAME OFFSET 0x18
endif
math TABLEOFFSET += 12
next i



client-1.1.2 release,The script does not work。


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Last edited by mappy2012 on Wed Oct 23, 2013 4:50 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Wed Oct 23, 2013 4:49 am 
Offline
advanced

Joined: Sun Jul 03, 2011 4:40 am
Posts: 62
Has thanked: 51 times
Have thanks: 1 time
client-1.1.2 Downloads:

http://ds.gdl.netease.com/ds-1.1.2.exe
http://ds.gdl.netease.com/ds-1.1.2.r00
http://ds.gdl.netease.com/ds-1.1.2.r01
http://ds.gdl.netease.com/ds-1.1.2.r02


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Mon Jul 07, 2014 3:39 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
W.I.P.. Now filenames can be detected! :P


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Tue Jul 08, 2014 4:27 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
Done. First post updated. Tested on 1.1.62.


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Fri Jul 11, 2014 4:03 am 
Offline
advanced

Joined: Sun Jul 03, 2011 4:40 am
Posts: 62
Has thanked: 51 times
Have thanks: 1 time
hi~Ekey How to use pass?


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Fri Jul 11, 2014 6:23 am 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
Ekey wrote:
Download Unpacker: Here


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Fri Jul 11, 2014 8:31 pm 
Offline
mega-veteran
mega-veteran

Joined: Wed Aug 02, 2006 10:07 pm
Posts: 316
Has thanked: 10 times
Have thanks: 92 times
first of all, big thanks to Ekey for the unpacker.
I Try it on char.bag (chient 1.1.62) and got 15551 of unknown items!!!
I did research on this 3D format sometime ago. (It's similiar to Legendary Champions)

.model is the whole model information (includes animation detail, lod etc)
.visual is material and bones
.primitives is the basic 3D data
.animation is actual animation data
.dds is texture

But in my unpacked char.bag, there is not .primitives files!?
I checked the unknown data.
eg: 0E35ED36 , 33DAD878 , 679ABB60 etc. are dds files
06D70ED7 , 1568AC0C , C7515A2F , DCD80DCE etc are primitives files
03662545 , 0C013CE5 , 2A82F48E , FB4BB6FB etc are animation files

Is there any chance to update the hash list!?

Thanks

_________________
No more Fatduck, no more FatImporter, Byebye everyone!


Top
 Profile  
 
 Post subject: Re: Dragon Sword (JianLong) (*.BAG)
PostPosted: Sun Jul 13, 2014 2:44 pm 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran

Joined: Wed Mar 31, 2010 6:54 am
Posts: 1593
Has thanked: 59 times
Have thanks: 751 times
Well i tryed writting logger, but in game have like CRC checksum and every time playing about 5 min crashing :\ Anyway you can find file names inside unknown files.
For example :

Original path: gui/gui2/Common/Kuang1ti1/circle_icons_select.wap
gui/ means this file inside gui.bag, delete it and you can get only gui2/Common/Kuang1ti1/circle_icons_select.wap
Replace slashes / to \ -> tolower -> gui2\common\kuang1ti1\circle_icons_select.wap

I will update unpacker later with automatic reverse slashes, make paths with lowercase and detecting extensions for unknown files. About filelist > maybe :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2, 3  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: hqqttjiang, pechenko121 and 9 guests


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:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group