Brute force CASC hashes menu

Shout-Out

User Tag List

Results 1 to 5 of 5
  1. #1
    valyron's Avatar Private
    Reputation
    16
    Join Date
    Sep 2014
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Brute force CASC hashes

    Since I'm really desperate about the music files from Warlords (I know they are already on Youtube, but I want them straight from the data files), I created a tool to brute force the file names of the missing file hashes in Blizzard's CASC file system.

    I know that brute forcing is not a very good method to get the file names (reading dbs files, analysing changed files or injecting code in the client and listening to the file names seem better ideas), but it might help to get some missing names.

    At the moment, it only works for music file names that are not too long, but you should easily be able to change my source code to any file name patterns.

    It could be faster in my opinion, but it does its job. This is my very first C# program (not my very first program, don't worry), so there might be some odds in the source code. Feel free to optimize it. Every thread only outputs the current file name every 100.000 file names to the command window, so it's 100k times as fast as you can see.

    Jenkins96 hash algorithms is taken from TOM_RUS's CASCExplorer.

    Make sure you read my notes to understand how it works.

    You can find the source code and executables here:
    https://github.com/valyron/Jenkins96HashBreaker

    So if you have a really fast computer and maybe coding experience, you might want to give it a try.
    Last edited by valyron; 09-07-2014 at 10:17 AM.

    Brute force CASC hashes
  2. #2
    valyron's Avatar Private
    Reputation
    16
    Join Date
    Sep 2014
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Update: Added more file names

    Some missing music filenames:

    Code:
    SOUND\MUSIC\DRAENOR\MUS_60_WolfAtTheGates_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WolfAtTheGates_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WolfAtTheGates_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MountainsOfNagrand_A1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MountainsOfNagrand_A2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MountainsOfNagrand_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MountainsOfNagrand_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_B1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_B2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_C1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_C2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mobilize_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Eagle_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Eagle_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Eagle_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Eagle_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_CallOfTheWarrior_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_CallOfTheWarrior_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_CallOfTheWarrior_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Blackrock_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Blackrock_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Blackrock_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Blackrock_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Blackrock_E.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Blackrock_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Wonder_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Wonder_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_B1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_B2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_B3.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_E.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_H1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_H2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_H3.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_WarriorsJourney_H4.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Village_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Village_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Village_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Village_E.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Village_F.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Village_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_A1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_A2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_B1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_B2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_C2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_D1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_D2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_E.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_F.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_G.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Mystic_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEssence_H1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEssence_H2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EagleOfDraenor_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_BFreedom_H1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_BFreedom_H2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ArmyLife_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Voce_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_TsHaveIt_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_TsHaveIt_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_TsHaveIt_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_TsHaveIt_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Tome_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Tome_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Tome_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_StrangeFever_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_StrangeFever_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_StrangeFever_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Shakedown_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Shakedown_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Shakedown_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_Sacrifice_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_PatiencePoint_A1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_PatiencePoint_A2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_PatiencePoint_B1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_PatiencePoint_B2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_PatiencePoint_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_PrevalentConfliction_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_A1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_A2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_A3.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_E.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_F.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_ManDown_H1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentPrescience_B.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentPrescience_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentMystique_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentMystique_B1.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentMystique_B2.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentMystique_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_MalevolentMystique_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_LaboriousMisery_A.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_LaboriousMisery_H.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEmbers_C.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEmbers_D.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEmbers_E.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEmbers_F.MP3
    SOUND\MUSIC\DRAENOR\MUS_60_EtherealEmbers_H.MP3
    Last edited by valyron; 09-07-2014 at 01:13 PM.

  3. #3
    Ladik001's Avatar Private
    Reputation
    8
    Join Date
    Jul 2014
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Wouldn't it be possible to derive the file names from some of the DBC files?

    Also - I have experience with name-breaking in old MPQ (MPQ Archivy - Name breaking). It takes quite long even if the number of letters in 8 and less. Every new letter adds one rank to the length of the process. Maybe it would better to open file by its Encoding Index (OpenFileByEncodingKey) and then check if it's a music file?

  4. #4
    stoneharry's Avatar Moderator Harry


    Reputation
    1618
    Join Date
    Sep 2007
    Posts
    4,564
    Thanks G/R
    151/150
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Ladik001 View Post
    Wouldn't it be possible to derive the file names from some of the DBC files?

    Also - I have experience with name-breaking in old MPQ (MPQ Archivy - Name breaking). It takes quite long even if the number of letters in 8 and less. Every new letter adds one rank to the length of the process. Maybe it would better to open file by its Encoding Index (OpenFileByEncodingKey) and then check if it's a music file?
    99% can be retrieved from reading from the binary, reading DBC's, reading files retrieved from DBC's, etc... But some hard referenced cannot be. See the other thread with the extractor.

  5. #5
    edenc's Avatar Member
    Reputation
    1
    Join Date
    Mar 2015
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    you are my hero

    Originally Posted by valyron View Post
    Since I'm really desperate about the music files from Warlords (I know they are already on Youtube, but I want them straight from the data files), I created a tool to brute force the file names of the missing file hashes in Blizzard's CASC file system.

    I know that brute forcing is not a very good method to get the file names (reading dbs files, analysing changed files or injecting code in the client and listening to the file names seem better ideas), but it might help to get some missing names.

    At the moment, it only works for music file names that are not too long, but you should easily be able to change my source code to any file name patterns.

    It could be faster in my opinion, but it does its job. This is my very first C# program (not my very first program, don't worry), so there might be some odds in the source code. Feel free to optimize it. Every thread only outputs the current file name every 100.000 file names to the command window, so it's 100k times as fast as you can see.

    Jenkins96 hash algorithms is taken from TOM_RUS's CASCExplorer.

    Make sure you read my notes to understand how it works.

    You can find the source code and executables here:
    https://github.com/valyron/Jenkins96HashBreaker

    So if you have a really fast computer and maybe coding experience, you might want to give it a try.


    you are my hero
    did you get a change to see if you can get the new blackrock foundry music out?

Similar Threads

  1. Brute force Diablo Code for free Hearthstone Packs
    By zlpqlz in forum Diablo 3 Bots Questions & Requests
    Replies: 1
    Last Post: 06-15-2014, 11:33 AM
  2. [EPIC]Using brute force (password cracker) to hack world of warcraft account guide!
    By darkprince11 in forum World of Warcraft Bots and Programs
    Replies: 234
    Last Post: 02-28-2009, 11:28 AM
All times are GMT -5. The time now is 03:24 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