Accessing WDB cache files (QuestCache.wdb) menu

Shout-Out

User Tag List

Results 1 to 4 of 4
  1. #1
    Frosttall's Avatar Active Member
    Reputation
    64
    Join Date
    Feb 2011
    Posts
    261
    Thanks G/R
    16/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Accessing WDB cache files (QuestCache.wdb)

    Has anyone found a method to access the encrypted data in QuestCache.wdb or reversed the latest structure of it?

    The only unencrypted part is the header, which is displayed as following:
    Code:
    0,25152,881,25152,2,1,0,1,363,0,0,25126,3,0,30,0,0,0,0,0,524288,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"","","","",0,0,0,0,0,0,0,0,76,0,0,0,0,3,0,0,"","","","","16016","enGB"
    Thank you

    Accessing WDB cache files (QuestCache.wdb)
  2. #2
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm not nearly finished updating it, but here's where I am right now (some things are probably wrong, but oh well)

    Code:
    #pragma pack(push, 1)struct QuestCache
    {
      _DWORD Id;
      _DWORD Method;
      _DWORD Level;
      _DWORD RequiredLevel;
      _DWORD AreaIdOrSortId;
      _DWORD dword14;
      _DWORD QuestInfoId;
      _DWORD SuggestedPlayers;
      _DWORD FriendlyFactionId;
      _DWORD FriendlyFactionAmount;
      _DWORD RewardMoney;
      _DWORD RewardMoneyInsteadOfXP;
      _DWORD RewardSpellId;
      _DWORD RewardSpellId2;
      _DWORD RewardHonor;
      float RewardHonorBonus;
      DWORD StartingItemId;
      DWORD Flags;
      DWORD Flags2;
      DWORD RewardItem[4];
      DWORD RewardItemCount[4];
      DWORD dword6C;
      DWORD RewardChoiceItem[6];
      DWORD RewardChoiceItemCount[6];
      DWORD dwordA0;
      DWORD dwordA4;
      DWORD dwordA8;
      DWORD dwordAC;
      DWORD dwordB0;
      int dwordB4;
      DWORD PointMapId;
      float PointX;
      float PointY;
      DWORD PointOptional;
      char Name[512];
      char ObjectiveText[3000];
      char Description[3000];
      char EndText[512];
      DWORD ObjectiveId[4];
      DWORD ObjectiveRequiredCount[4];
      DWORD RewardTitleId;
      DWORD RewardTalentPoints;
      DWORD dword1C60;
      DWORD RewardSkillId;
      DWORD RewardSkillPoints;
      DWORD PortraitGiverId;
      DWORD PortraitTurnInId;
      char PortraitGiverText[1024];
      char PortraitGiverName[256];
      char PortraitTurnInDescription[1024];
      char PortraitTurnInName[256];
      char OverrideObjectiveText[2048];
      DWORD RewardReputationFaction[5];
      DWORD FactionRewardID[5];
      DWORD RewardReputationOverride[5];
      DWORD dword2EB0;
      DWORD RewardCurrencies[4];
      DWORD RewardCurrencyCount[4];
      DWORD dword2ED4;
      DWORD dword2ED8;
      QuestObjectivesInfo ObjectivesInfo;
    };
    #pragma pack(pop)
    Code:
    #pragma pack(push, 1)
    struct QuestObjectivesInfo
    {
      _DWORD dword0;
      _DWORD dword4;
      QuestObjectiveInfo *QuestObjectives;
      _DWORD dwordC;
    };
    #pragma pack(pop)
    Code:
    #pragma pack(push, 1)
    struct QuestObjectiveInfo
    {
      DWORD dword0;
      BYTE ObjectiveType;
      BYTE byte5_QuestLogObjectiveIndex;
      WORD word6;
      DWORD ObjectiveIndex;
      DWORD RequiredCount;
      DWORD dword10;
      char char14[256];
      _DWORD dword114;
      _DWORD dword118;
      int *dword11C;
      _DWORD dword120;
    };
    #pragma pack(pop)

  3. #3
    Frosttall's Avatar Active Member
    Reputation
    64
    Join Date
    Feb 2011
    Posts
    261
    Thanks G/R
    16/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you very much

  4. #4
    LordVaako's Avatar Private
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    could you update your post pls with your new findings? :-)
    I need some help - I'm still not able to extract all quest objectives data ;/

    i.e. (quest 31216)

    000003d1h: 7A 03 00 00 6E 03 00 00 00 00 00 00 00 00 00 00 ; z...n...........
    000003e1h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000003f1h: 00 00 00 00 00 00 00 00 03 E2 17 04 00 03 C7 F2 ; .........â....Çň
    00000401h: 00 00 01 00 00 00 00 00 00 00 53 70 65 61 6B 20 ; ..........Speak
    00000411h: 74 6F 20 58 61 72 69 6C 20 74 68 65 20 50 6F 69 ; to Xaril the Poi
    00000421h: 73 6F 6E 65 64 20 4D 69 6E 64 00 02 01 CC 04 00 ; soned Mind...Ě..
    00000431h: 00 86 18 04 00 00 7D F8 00 00 C8 00 00 00 00 00 ; .†....}ř..Č.....
    00000441h: 00 00 4D 61 6E 74 69 64 20 73 6C 61 69 6E 00 00 ; ..Mantid slain..
    00000451h: 00 52 1A 04 00 00 89 F8 00 00 03 00 00 00 00 00 ; .R....‰ř........
    00000461h: 00 00 4B 75 6E 63 68 6F 6E 67 20 6F 72 20 44 72 ; ..Kunchong or Dr
    00000471h: 65 61 64 20 42 65 68 65 6D 6F 74 68 73 20 73 6C ; ead Behemoths sl
    00000481h: 61 69 6E 00 01 00 ; ain...

    so far I know that:

    7A 03 00 00 6E 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - unknown (10 x 4bytes?)
    03 - number of objectives? (1 x 1byte?) // is it correct?
    E2 17 04 00 - unknown (1 x 4bytes?)

    03 - unknown (1 x 1byte?) // type (speak with)?
    C7 F2 00 00 - id of npc (Xaril the Poisoned Mind)
    01 00 00 00 - amount (1x)
    00 00 00 00 - unknown (1 x 4bytes?)
    53 70 65 61 6B 20 74 6F 20 58 61 72 69 6C 20 74 68 65 20 50 6F 69 73 6F 6E 65 64 20 4D 69 6E 64 00 - objective description (string)

    02 01 CC 04 00 00 86 18 04 00 - unknown #A ()

    00 - unknown (1 x 1byte?) // type (kill npc)?
    7D F8 00 00 - id of npc group (Krik'thik Wingguard)
    C8 00 00 00 - amount (200x)
    00 00 00 00 - unknown (1 x 4bytes?)
    4D 61 6E 74 69 64 20 73 6C 61 69 6E 00 - objective description (string)

    00 00 52 1A 04 00 - unknown #B ()

    00 - unknown (1 x 1byte?) // type (kill npc)?
    89 F8 00 00 - if of npc (Krik'thik Battletank)
    03 00 00 00 - amount (3x)
    00 00 00 00 - unknown (1 x 4bytes?)
    00 00 00 00 - 4B 75 6E 63 68 6F 6E 67 20 6F 72 20 44 72 65 61 64 20 42 65 68 65 6D 6F 74 68 73 20 73 6C 61 69 6E 00 - objective description

    01 00 - unknown

    I also don't undestand why length of unknown #A != length of unknown #B
    Last edited by LordVaako; 12-26-2012 at 05:34 AM. Reason: update

Similar Threads

  1. Reading strings from WDB cache files.
    By Nesox in forum WoW Memory Editing
    Replies: 4
    Last Post: 06-08-2013, 03:03 PM
  2. (C#) Reading cache file - help
    By miclis in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 01-02-2010, 09:11 PM
  3. enUS Cache files PLEASE
    By goider in forum World of Warcraft General
    Replies: 9
    Last Post: 08-05-2009, 05:02 PM
  4. Cache Files
    By goider in forum Suggestions
    Replies: 5
    Last Post: 04-28-2009, 09:44 PM
All times are GMT -5. The time now is 12:24 PM. 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