Analysis of the CASC filesystem menu

User Tag List

Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 40
  1. #16
    akspa420's Avatar Contributor
    CoreCoins Purchaser
    Reputation
    125
    Join Date
    Apr 2009
    Posts
    407
    Thanks G/R
    73/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by TOM_RUS View Post
    One important thing we missing now is ability to find encoding/root files in data.XXX without extracting everything. Pretty sure there's should be a way to find data index and offset by MD5 content hash using data from idx or index files.
    Do you think it's possible/probable that the list file is in the index files, but are encrypted using a key provided by the game exe? It would make sense to lock away the index and make it near impossible for us to decode it - as it would perform an additional way to check the game files consistency. Just my 2 cents on the topic - I don't know much about how Storm worked, let alone CASC.
    Talking a bit out of my ass here, but I'm thinking that upon execution of the game executable, the index files provide a listfile that is encrypted and decrypted upon load of the game's engine. I haven't the *working* tools or knowledge to see if this is the case or not, so I'm just throwing ideas out there... and now I wonder if anyone has tried to just extract a "(listfile)" from the game... (gonna go try this )

    Analysis of the CASC filesystem
  2. #17
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by akspa420 View Post
    Do you think it's possible/probable that the list file is in the index files, but are encrypted using a key provided by the game exe? It would make sense to lock away the index and make it near impossible for us to decode it - as it would perform an additional way to check the game files consistency. Just my 2 cents on the topic - I don't know much about how Storm worked, let alone CASC.
    Talking a bit out of my ass here, but I'm thinking that upon execution of the game executable, the index files provide a listfile that is encrypted and decrypted upon load of the game's engine. I haven't the *working* tools or knowledge to see if this is the case or not, so I'm just throwing ideas out there... and now I wonder if anyone has tried to just extract a "(listfile)" from the game... (gonna go try this )
    There's no listfile. There's no need in it.

  3. #18
    caali's Avatar Private
    Reputation
    22
    Join Date
    Apr 2014
    Posts
    4
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by TOM_RUS View Post
    One important thing we missing now is ability to find encoding/root files in data.XXX without extracting everything. Pretty sure there's should be a way to find data index and offset by MD5 content hash using data from idx or index files.
    Well, as of now, the only places where I've seen these files are either as first files of data.000 or first files of data.NNN (N being the highest data file number available). I haven't reverse engineered the code locating those files, but it could really be possible that they simply linearly search through the data.XXX files until they find them. While in the worst case this would take relatively long, usually it's pretty short because - as mentioned before - they are the first files of data.000... I'll take a look at this when I've some spare time.

  4. #19
    raeef's Avatar Member
    Reputation
    2
    Join Date
    Aug 2011
    Posts
    48
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    god help us
    Last edited by raeef; 04-20-2014 at 07:33 AM.

  5. #20
    CatsNimo's Avatar Active Member
    Reputation
    22
    Join Date
    Feb 2014
    Posts
    113
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by raeef View Post
    if there is a way to extracting everything then maybe we can find the listfile
    There is no listfile. Please read.

    Originally Posted by caali View Post
    Well, as of now, the only places where I've seen these files are either as first files of data.000 or first files of data.NNN (N being the highest data file number available). I haven't reverse engineered the code locating those files, but it could really be possible that they simply linearly search through the data.XXX files until they find them. While in the worst case this would take relatively long, usually it's pretty short because - as mentioned before - they are the first files of data.000... I'll take a look at this when I've some spare time.
    They just use the index files because the md5 of the root, encoding, download, and install files is obvious (since the game checks build/cdn configs every time it is run, it always knows the newest root md5s).

    I'm not sure why would you want even want to find a local version of root or encoding considering how it is freely available on the Blizzard FTP as an independent file. Parsing the indexes for its MD5 is a waste of time when it is such a fast download.
    Last edited by CatsNimo; 04-20-2014 at 04:49 AM.

  6. #21
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by CatsNimo View Post
    There is no listfile. Please read.



    They just use the index files because the md5 of the root, encoding, download, and install files is obvious (since the game checks build/cdn configs every time it is run, it always knows the newest root md5s).

    I'm not sure why would you want even want to find a local version of root or encoding considering how it is freely available on the Blizzard FTP as an independent file. Parsing the indexes for its MD5 is a waste of time when it is such a fast download.
    Downloading such huge files may take minutes, while searching local copy should take less than 1 second.

  7. #22
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by TOM_RUS View Post
    One important thing we missing now is ability to find encoding/root files in data.XXX without extracting everything. Pretty sure there's should be a way to find data index and offset by MD5 content hash using data from idx or index files.
    This is solved now.

  8. #23
    akriso's Avatar Member
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    26
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    is this meen tnat now we can extract all files?

  9. #24
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by akriso View Post
    is this meen tnat now we can extract all files?
    Only if you have all names.

  10. #25
    akriso's Avatar Member
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    26
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    are we have some way to generate it fully?

  11. #26
    raeef's Avatar Member
    Reputation
    2
    Join Date
    Aug 2011
    Posts
    48
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you can find some in the Filedata.dbc

  12. #27
    CatsNimo's Avatar Active Member
    Reputation
    22
    Join Date
    Feb 2014
    Posts
    113
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by TOM_RUS View Post
    Originally Posted by akriso View Post
    is this meen tnat now we can extract all files?
    Only if you have all names.
    Technically you don't need names to do what he asked. You can extract all 750,000+ files unnamed.

    There's just no point because without names, you don't have context, and there's no reasonable or timely way to sort through such a giant mess.
    Last edited by CatsNimo; 04-24-2014 at 11:07 AM.

  13. #28
    raeef's Avatar Member
    Reputation
    2
    Join Date
    Aug 2011
    Posts
    48
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you can find some of the names from the filedata.dbc I found some usefull info

  14. #29
    ioctl's Avatar Active Member
    Reputation
    23
    Join Date
    Jan 2013
    Posts
    35
    Thanks G/R
    2/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The encoding file is more complex than what's described here. Records appear to be variable-length, with the first byte being a count of how many file keys follow the md5. The gaps between blocks aren't always the same size. Sometimes they are 30 bytes, sometimes as little as 14 -- not sure why yet. There's also a whole lot of data (like, 100% more) after all of the hash table blocks.
    Last edited by ioctl; 04-28-2014 at 01:08 AM.

  15. #30
    ioctl's Avatar Active Member
    Reputation
    23
    Join Date
    Jan 2013
    Posts
    35
    Thanks G/R
    2/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Also, looks to me like if there are two hashes for the encoding table in the config file, then the first is the md5 of the contents, and the second is the file key (which you can use to fetch it before you have an encoding table =)

Page 2 of 3 FirstFirst 123 LastLast

Similar Threads

  1. [Guide] The detail analysis of Tradeskills in WildStar so far
    By V5ESO in forum WildStar Guides
    Replies: 4
    Last Post: 05-29-2014, 10:03 PM
  2. [Buying] The marketing of Astral Diamonds statue quo analysis at neverwinter123.com
    By faerlaer in forum Neverwinter Buy Sell Trade
    Replies: 0
    Last Post: 07-10-2013, 07:54 PM
  3. HUGE Magic Find Analysis - how magic find affects the loot
    By Classicclean in forum Diablo 3 General
    Replies: 21
    Last Post: 08-25-2012, 08:44 AM
  4. [Buying] Analysis of the recession of Warcraft and Pandaren can not solve the problem
    By cengjing in forum General Trading Buy Sell Trade
    Replies: 1
    Last Post: 06-07-2012, 01:16 AM
  5. Analysis of the virus that was posted here earlier
    By kynox in forum World of Warcraft General
    Replies: 9
    Last Post: 05-19-2009, 09:56 PM
All times are GMT -5. The time now is 04:53 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search