[Classic] [Classic] 1.13.2.32089 - Learned Spells menu

User Tag List

Results 1 to 15 of 15
  1. #1
    NoxiaZ's Avatar Active Member
    Reputation
    23
    Join Date
    May 2019
    Posts
    101
    Thanks G/R
    21/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Classic] [Classic] 1.13.2.32089 - Learned Spells

    Hi,

    Anyone who can provide any information about how to receive which spells that have been learned.

    I have covered the cooldowns with the spellhistory/cooldown pointer, but i can't locate the pointer for learned spells, or any offsets that points, hopefully someone has this information

    The way i read cooldowns:
    SpellHistory = 0x2178818
    NEXT = 0x8;
    SPELLID = 0x10;
    STARTTIME = 0x1C;
    DURATION = 0x20;

    Code:
    var cooldownBase = (IntPtr)Read(WowBaseAddress.Add(COOLDOWNS), typeof(IntPtr));
    var spellCooldown = new SpellCooldownModel(cooldownBase);
    spellCooldown.Update();
    while (spellCooldown.Next != 0 && spellCooldown.SpellID != 0)
    {
            Cooldowns.Add(spellCooldown);
        spellCooldown = new SpellCooldownModel((IntPtr)spellCooldown.Next);
        spellCooldown.Update();
    }
    EDIT:
    I figured out my code for cooldown are not working as expected, was only tested with one spell on cooldown, not two - Looking more into that, still hoping some can provide info about learned spells
    Last edited by NoxiaZ; 10-15-2019 at 04:21 PM. Reason: Not working as expected

    [Classic] [Classic] 1.13.2.32089 - Learned Spells
  2. #2
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    __int64 __fastcall sub_DC4B00(int a1, int a2) this function has the offset for the spell book and (I assume) pet spell book, and the math to loop through it, it's just a an array of a bunch of pointers to the next entry.

    Look at FindSpellBookSlotByID

    Cooldowns in the history table have 2 different durations which you need, just look a bit further down in the struct.
    Last edited by ChrisIsMe; 10-16-2019 at 03:01 AM.

  3. Thanks NoxiaZ (1 members gave Thanks to ChrisIsMe for this useful post)
  4. #3
    foRei's Avatar Member
    Reputation
    1
    Join Date
    Jul 2013
    Posts
    7
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ChrisIsMe View Post
    __int64 __fastcall sub_DC4B00(int a1, int a2) this function has the offset for the spell book and (I assume) pet spell book, and the math to loop through it, it's just a an array of a bunch of pointers to the next entry.

    Look at FindSpellBookSlotByID

    Cooldowns in the history table have 2 different durations which you need, just look a bit further down in the struct.
    The sub_DC4B00 function did you find that in IDA Pro 64bit ?

    I try to find the function after doing initial analysis in IDA but there is no function named "sub_DC4B00".

  5. #4
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by foRei View Post
    The sub_DC4B00 function did you find that in IDA Pro 64bit ?

    I try to find the function after doing initial analysis in IDA but there is no function named "sub_DC4B00".
    Yes in ida, rebased 0x0 obviously. Look for the string I posted. It’s the 3rd or so function called in there. It’s pretty obvious, two while loops and some offsets.

  6. #5
    charles420's Avatar Contributor
    Reputation
    315
    Join Date
    Jun 2009
    Posts
    329
    Thanks G/R
    25/119
    Trade Feedback
    0 (0%)
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    .data:0000000002546680 00 00 00 00 00 00 00 00 SpellBookNumSpells
    .data:0000000002546688 00 00 00 00 00 00 00 00 SpellBookSpellsPtr

    there's same two for mounts as well

    .data:0000000002546720 00 00 00 00 MountBookNumMounts
    .data:0000000002546728 00 00 00 00 00 00 00 00 MountBookMountsPtr
    Last edited by charles420; 10-16-2019 at 06:57 AM.

  7. Thanks NoxiaZ (1 members gave Thanks to charles420 for this useful post)
  8. #6
    foRei's Avatar Member
    Reputation
    1
    Join Date
    Jul 2013
    Posts
    7
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ChrisIsMe View Post
    Yes in ida, rebased 0x0 obviously. Look for the string I posted. It’s the 3rd or so function called in there. It’s pretty obvious, two while loops and some offsets.
    I did Edit -> Segments -> Rebase Program, then choose Image base and value 0x0, ticked both below. When I then search for sub_DC4B00 in functions window it finds nothing.

    Am I missing something?

  9. #7
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by foRei View Post
    I did Edit -> Segments -> Rebase Program, then choose Image base and value 0x0, ticked both below. When I then search for sub_DC4B00 in functions window it finds nothing.

    Am I missing something?
    Here's a pattern. E8 BC A5 00 00 48 8B 5C 24 30 48 8B CF

  10. #8
    foRei's Avatar Member
    Reputation
    1
    Join Date
    Jul 2013
    Posts
    7
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ChrisIsMe View Post
    Here's a pattern. E8 BC A5 00 00 48 8B 5C 24 30 48 8B CF

    Hmm thanks for helping, I've tried everything but cannot find any of the stuff you are linking. A simple byte search should easily yield the result but it does not. Im starting to think we're not looking at the same thing.

    Just to be sure; We're looking at classic 1.13 (latest version) and analysing "_classic_/Wow.exe" in the folder right? The only other thing I can think of is that I have some setting set in IDA Pro that throws me off...

    Anyhow, thx for your effort, sadly nothing worked for me >.<

  11. #9
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by foRei View Post
    Hmm thanks for helping, I've tried everything but cannot find any of the stuff you are linking. A simple byte search should easily yield the result but it does not. Im starting to think we're not looking at the same thing.

    Just to be sure; We're looking at classic 1.13 (latest version) and analysing "_classic_/Wow.exe" in the folder right? The only other thing I can think of is that I have some setting set in IDA Pro that throws me off...

    Anyhow, thx for your effort, sadly nothing worked for me >.<
    No this is a dumped exe with Scylla hide and x64 dbg

  12. #10
    foRei's Avatar Member
    Reputation
    1
    Join Date
    Jul 2013
    Posts
    7
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well that explains everything, alrighty then I'm no longer lost

  13. #11
    NoxiaZ's Avatar Active Member
    Reputation
    23
    Join Date
    May 2019
    Posts
    101
    Thanks G/R
    21/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ChrisIsMe View Post
    No this is a dumped exe with Scylla hide and x64 dbg
    May i ask how you dumped that exe file or anywhere its possible to get hands in that file?

  14. #12
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by NoxiaZ View Post
    May i ask how you dumped that exe file or anywhere its possible to get hands in that file?
    https://www.ownedcore.com/forums/wor...ow-memory.html (How to Dump Wow from Memory....)

  15. #13
    NoxiaZ's Avatar Active Member
    Reputation
    23
    Join Date
    May 2019
    Posts
    101
    Thanks G/R
    21/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm gonna look into that - Thank you so much for the link and time spend helping

  16. #14
    NoxiaZ's Avatar Active Member
    Reputation
    23
    Join Date
    May 2019
    Posts
    101
    Thanks G/R
    21/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by charles420 View Post
    .data:0000000002546680 00 00 00 00 00 00 00 00 SpellBookNumSpells
    .data:0000000002546688 00 00 00 00 00 00 00 00 SpellBookSpellsPtr

    there's same two for mounts as well

    .data:0000000002546720 00 00 00 00 MountBookNumMounts
    .data:0000000002546728 00 00 00 00 00 00 00 00 MountBookMountsPtr
    Thanks for the offsets, yet i'm still trying to figure out how to read the SpellBookSpellsPtr - Think i have a lot to learn when it comes to reverse engineering.

  17. #15
    NoxiaZ's Avatar Active Member
    Reputation
    23
    Join Date
    May 2019
    Posts
    101
    Thanks G/R
    21/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @ChrisIsMe
    @charles420


    Thank you both for the effort you put into helping. I have now figured out how spellcooldown works, as well i figured out how to read from spellbook.
    Again thank you a lot.

    EDIT:
    Posted my solution here: https://www.ownedcore.com/forums/wor...dtoscreen.html ([Classic] 1.13.2.32089 - SpellBook, Cooldowns, WorldToScreen)
    Last edited by NoxiaZ; 10-18-2019 at 09:30 AM.

  18. Thanks ChrisIsMe, Corthezz (2 members gave Thanks to NoxiaZ for this useful post)

Similar Threads

  1. [Classic] 1.13.2.32089 - WorldToScreen
    By NoxiaZ in forum WoW Memory Editing
    Replies: 5
    Last Post: 07-18-2021, 07:19 AM
  2. [Classic] 1.13.2.32089
    By SatyPardus in forum WoW Memory Editing
    Replies: 24
    Last Post: 11-05-2019, 08:49 PM
  3. [Question] Simple bot for right clicking at xyz position Wow classic 1.13/Arctium
    By Andrehoejmark in forum WoW Bots Questions & Requests
    Replies: 2
    Last Post: 02-11-2019, 04:50 AM
  4. WoW Classic 1.13 Sandbox
    By raido in forum World of Warcraft Emulator Servers
    Replies: 1
    Last Post: 10-24-2018, 06:23 PM
  5. [Selling] Level 60 Hunter. Classic Rank 13 Warlord
    By Tschaenter in forum WoW-EU Account Buy Sell Trade
    Replies: 1
    Last Post: 11-04-2013, 03:21 PM
All times are GMT -5. The time now is 01:04 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search