Analysis of the CASC filesystem menu

Shout-Out

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 15 of 40
  1. #1
    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)

    Analysis of the CASC filesystem

    Hello folks,

    When I was bored I spent the last few days analysing Blizzard's new CASC (Content Addressable Storage Container) filesystem used in the WoD Alpha. I've found out a lot already - so when I found several threads over here discussing the format, I thought I'd share my knowledge

    I put my knowledge into a standalone file extractor without any DLL injection hooks and it is currently able to extract about 420k files (>99% of all) without any differences from when I extracted them using the hooking method. However, I will not share this code with you (sorry ). What you'll get is all I know about the format, though - so it won't take any semi-experienced programmer more than a few hours to produce the same code. All you need is attached to this post.

    Please feel free to distribute and improve my analysis - however I'd be happy to be mentioned in the credits...

    Greetings, Caali


    // Edit
    - v1.1 release (thanks to TOM_RUS for his feedback):
    • FileTable renamed to "encoding" file
    • Manifest File renamed to "root" file
    • Noted that BlizzHash is actually Bob Jenkins' hash
    • Added information about the "download" and "install" files

    - v1.2 release
    • Analysis of the 'data/config/' folder
    Attached Files Attached Files
    Last edited by caali; 04-15-2014 at 12:20 PM.

    Analysis of the CASC filesystem
  2. #2
    zifron's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    11
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    how do I even use it lol ?

  3. #3
    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)
    "FileTable" file is actually called "encoding" file
    "Manifest" file is actually called "root" file
    There's also 2 more special files in data.XXX: "download" file and "install" file

    "BlizzHash" is actually Bob Jenkins's hash (http://burtleburtle.net/bob/c/lookup3.c: hashlittle2: return 2 32-bit hash values)
    Last edited by TOM_RUS; 04-15-2014 at 12:07 PM.

  4. #4
    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)
    v1.1 has been released.

    Originally Posted by zifron View Post
    how do I even use it lol ?
    Unless you know how to interpret it and code a program to read the files - you don't and it's not intended for you, sorry

    Originally Posted by TOM_RUS View Post
    "FileTable" file is actually called "encoding" file
    "Manifest" file is actually called "root" file
    There's also 2 more special files in data.XXX: "download" file and "install" file

    "BlizzHash" is actually Bob Jenkins's hash (http://burtleburtle.net/bob/c/lookup3.c: hashlittle2: return 2 32-bit hash values)
    Thanks! I suppose you found out the special file names through reverse engineering? All I re'd was the hashing function, so I just gave meaningful names to those files

  5. #5
    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 caali View Post
    Thanks! I suppose you found out the special file names through reverse engineering? All I re'd was the hashing function, so I just gave meaningful names to those files
    Those files are referenced in "Build Configuration". It can be found in Data\config\80\6f\806f4fd265de05a9b328310fcc42eed0 or online.

  6. #6
    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)
    Ah I see, that makes sense. I guess that's also how to properly locate those files within the data.XXX files, instead of simply assuming they're at the beginning of data.000 like I did. I updated the specification with information about the 'data/config/' folder.
    Last edited by caali; 04-15-2014 at 12:11 PM.

  7. #7
    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)
    is there a way to get the full listfile

  8. #8
    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 raeef View Post
    is there a way to get the full listfile
    Bruteforce or hack blizzard.

  9. #9
    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)
    Im trying to get the ogredraenorarmorer.m2 and thx for the big list you releast before are you going to update it
    Last edited by raeef; 04-15-2014 at 04:46 PM.

  10. #10
    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 caali View Post
    Ah I see, that makes sense. I guess that's also how to properly locate those files within the data.XXX files, instead of simply assuming they're at the beginning of data.000 like I did. I updated the specification with information about the 'data/config/' folder.
    The data.XXX files are dynamically generated from the real data files ('the archives') based on your locale and the demands of the client (since streaming is still an option). AFAIK, the index files are used to tell your installation which files that your specific set of data.XXX files contains.

    Everything you need to know - all of the raw data files (before they become data.XXX), and the location of download, install, etc is obvious once you have the config files. They list the md5s of the files, which is all you need to know because Blizzard FTPs only use MD5s and not real filenames under NGDP.

    Originally Posted by raeef View Post
    Im trying to get the ogredraenorarmorer.m2 and thx for the big list you releast before are you going to update it
    That file doesn't exist.

    I've identified every single M2 file contained within the game now, and there are none with that name.
    Last edited by CatsNimo; 04-16-2014 at 12:30 AM.

  11. #11
    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)
    can you give me your list file plz

  12. #12
    miztook's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    this is really helpful. thx!

  13. #13
    miztook's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    could you please send me the attached files to my email? I cannot download them in China
    [email protected]
    i am the writer of WowModelExplorer, wow explorer | Free software downloads at SourceForge.net
    hope to find something about WOD.
    thanks in advance.

  14. #14
    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)

  15. #15
    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)
    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.

Page 1 of 3 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 07:12 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