[INFO] D3 Memory Reading menu

Shout-Out

User Tag List

Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 49
  1. #31
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3696
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3338
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Basic32992 View Post
    Many thanks KillerJohn

    Your example code in the OP works great. However, it is my bad that I did not mention clear enough for what I actually needed. Actually, I should have said "remaining active buff time". For instance, in an image from your TurboHUD thread below:
    Attachment 13147
    Skill Diamond Skin in slot 3 shows its cooldown as 12 seconds and its remaining buff time as 5 seconds. (5 seconds is what I needed)

    I tried adapting your code with attribute Buff_Active (0x204)

    However, it returns either 1 (active) or 0 (inactive). So, I guess that I used the wrong attribute.

    Could you please point out the right one?
    Well it is a very complex problem. Every skill can have multiple "icons". Every icon can have a "count" (usually meaning the stacks, Buff_Icon_Count0) and a start (Buff_Icon_Start_Tick0) and a finish (Buff_Icon_End_Tick0) timestamp.
    Most skills are using icon index 0 to store their buff data, but there are many (!) exceptions you have to hard-code in your code.
    And there are very complex buffs, like Combination Strike, which has FOUR parallel internal icon data - each for a specific spirit generator...
    Another example is the mantra of whatever for monk, which has two timers. Once for a very short shielding stuff and one for the skill buff itself.

    TLDR: "remaining buff time" is not a simple value, but a 1:N relation and it's messed up like shit.

    EDIT: also there are skills which has only one timer but the icon index is different for each Rune of the skill...

    EDIT2: if you want specific hard coded skill remaining times, then here is a little help for diamond skin which is using icon index 0 for all of it's runes:

    - Diamond skin skill is 0x1274F
    - Buff_Icon_End_Tick0 attribute is 0x1F1

    int SkillFinishTicks = GetAttribHelper(your_player_characters_acd_FormulaMapData, your_player_characters_acd_FormulaMapMask, 0x1F1, 0x1274F, 0);
    double seconds_left = (SkillFinishTicks > CurrentTick) ? (SkillFinishTicks - CurrentTick) / 60.0d : 0;
    Last edited by KillerJohn; 03-22-2013 at 07:48 AM.
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

    [INFO] D3 Memory Reading
  2. #32
    Basic32992's Avatar Private
    Reputation
    1
    Join Date
    Jan 2013
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks again for your help KillerJohn

    Hard coding is enough for me.

    Edit: I have one more question... does the attribute mask concept apply with player's resource (eg. hatred/discipline, spirit, mana, etc.)?
    I found a thread:
    http://www.ownedcore.com/forums/diab...ml#post2550171 (How can i get the character attributes like life and mana?)
    but I couldn't get the value of the resource from 0x408 (as it is stated that it was for 1.0.4).
    Last edited by Basic32992; 03-23-2013 at 09:09 AM.

  3. #33
    boredevil's Avatar Active Member
    Reputation
    46
    Join Date
    Feb 2008
    Posts
    166
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    first read the attrib eGameAttributes::Resource_Type_Primary or eGameAttributes::Resource_Type_Secondary. that will give you the value, you need to mask eGameAttributes::Resource_Cur with

  4. #34
    Basic32992's Avatar Private
    Reputation
    1
    Join Date
    Jan 2013
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, boredevil

    Got it now

  5. #35
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3696
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3338
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    updated OP with 1.0.8 changes
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

  6. #36
    tuisful's Avatar Corporal
    Reputation
    1
    Join Date
    Nov 2012
    Posts
    22
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi
    Thanks for ur work which give me a lot of inspiration
    I've coded in Autoit but I used to be familiar with c#.
    No offence, I went crazy with the large block of codes which obviously intend to realize various functionalities. Nonetheless, I checed
    most of them, and I also found other infos sur this forum that some parts are not exactly like older version of D3, because all
    my works fonction very well before 1.08

    There is substantial divergence in acd address and acd_container, which may lead dis-function of all attribute-reading, I've made some
    tests based on ur c# codes, unfortunately failed, thus I'd like to know ur results and opinion about this issue.

  7. #37
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3696
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3338
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by tuisful View Post
    Hi
    Thanks for ur work which give me a lot of inspiration
    I've coded in Autoit but I used to be familiar with c#.
    No offence, I went crazy with the large block of codes which obviously intend to realize various functionalities. Nonetheless, I checed
    most of them, and I also found other infos sur this forum that some parts are not exactly like older version of D3, because all
    my works fonction very well before 1.08

    There is substantial divergence in acd address and acd_container, which may lead dis-function of all attribute-reading, I've made some
    tests based on ur c# codes, unfortunately failed, thus I'd like to know ur results and opinion about this issue.
    Sorry, my english is not perfect, and I don't really understand what you are talking about.
    First post is already updated and have to work in 1.0.8.
    Those C# codes in OP works perfectly in TurboHUD.
    Last edited by KillerJohn; 05-09-2013 at 11:56 PM.
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

  8. #38
    tuisful's Avatar Corporal
    Reputation
    1
    Join Date
    Nov 2012
    Posts
    22
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by KillerJohn View Post
    Sorry, my english is not perfect, and I don't really understand what you are talking about.
    First post is already updated and have to work in 1.0.8.
    Those C# codes in OP works perfectly in TurboHUD.
    thanks for ur reply which is what I needed - the fact that it works in 1.08, I will keeping trying
    lol, I've read ur reply in another thread[named 1.0.8.16416 offsets], wish u guys can figure out what the new data structure in 1.08
    since I thought it could be the cause to my failure

  9. #39
    tuisful's Avatar Corporal
    Reputation
    1
    Join Date
    Nov 2012
    Posts
    22
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by tuisful View Post
    thanks for ur reply which is what I needed - the fact that it works in 1.08, I will keeping trying
    lol, I've read ur reply in another thread[named 1.0.8.16416 offsets], wish u guys can figure out what the new data structure in 1.08
    since I thought it could be the cause to my failure
    Finally it works
    I comfirm ur codes are absolutly correct, thank u

  10. #40
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3696
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3338
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    updated OP with 1.0.8a changes (ObjectManager offset)
    Code:
            public readonly int SNOGroup_StringList_Addr = 0x18DD188;
            public readonly int SNOGroup_GameBalance_Addr = 0x18E0198;
            public readonly int CharacterManager_address = 0x1833EC4;
    updated OP with code for player data reading
    Last edited by KillerJohn; 05-15-2013 at 04:53 AM.
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

  11. #41
    shopher's Avatar Private
    Reputation
    1
    Join Date
    Jun 2013
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Join Date: 6/5 post: 1
    But anyway.

    First of all it is great to see all this data and person who is digging tons of data to get D3 exploration easier. Thank you.
    The question I had is have you consider to write simple kernel-level driver to read D3 memory. Are you sure that the API you're using in TurboHUD is not being monitored by Blizz?

    Originally Posted by KillerJohn View Post
    Code:
                public bool ReadMem(int addr, object O, int size)
                {
                    return ReadProcessMemory(iProcessHandle, (IntPtr)addr, O, size, 0);
                }
    
                [DllImport("kernel32.dll", SetLastError = true)]
                public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out, MarshalAs(UnmanagedType.AsAny)] object lpBuffer, int dwSize, int lpNumberOfBytesRead);
    It is pretty much detectable: Detecting ReadProcessMemory - Sysinternals Forums
    http://stackoverflow.com/questions/1...cations-memory

    Also do you provide R\O or R\W access to the TurboHUD sources?
    Last edited by shopher; 06-05-2013 at 06:16 PM. Reason: Extra article

  12. #42
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3696
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3338
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by shopher View Post
    Join Date: 6/5 post: 1
    But anyway.

    First of all it is great to see all this data and person who is digging tons of data to get D3 exploration easier. Thank you.
    The question I had is have you consider to write simple kernel-level driver to read D3 memory. Are you sure that the API you're using in TurboHUD is not being monitored by Blizz?



    It is pretty much detectable: Detecting ReadProcessMemory - Sysinternals Forums
    windows - Who read/write my application's memory - Stack Overflow

    Also do you provide R\O or R\W access to the TurboHUD sources?
    1) most data I have is not found by me. Other people found them ages ago, I just collected them, made them up-to-date, corrected them, understood them, improved and re-published. I'm not some kind of low-level digger, because I'm noob for that.
    2) I have no idea what Blizzard monitors, and I don't care about it. They could detect memory reading apps since 10 years, but they never did. I have to think that they are not allowed (for any reason) to detect what is accessing their process handle, or just they can't use that information as proof.
    3) TurboHUD's source is closed. If I have time, I publish some code and methods here, regarding memory reading and structures.
    Last edited by KillerJohn; 06-06-2013 at 01:16 AM.
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

  13. #43
    DarthTon's Avatar Contributor
    Reputation
    171
    Join Date
    Apr 2010
    Posts
    108
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The question I had is have you consider to write simple kernel-level driver to read D3 memory. Are you sure that the API you're using in TurboHUD is not being monitored by Blizz?
    To be able to monitor memory reads from another process warden needs to hook NtReadVirtualMemory in that particular process or kernel. This can be prevented either by making your process protected or by executing NtReadVirtualMemory syscall manually.

  14. #44
    shopher's Avatar Private
    Reputation
    1
    Join Date
    Jun 2013
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by KillerJohn View Post
    2) I have no idea what Blizzard monitors, and I don't care about it. They could detect memory reading apps since 10 years, but they never did. I have to think that they are not allowed (for any reason) to detect what is accessing their process handle, or just they can't use that information as proof.
    Would you use your primary D3 acc to run TurboHUD with?

    3) TurboHUD's source is closed. If I have time, I publish some code and methods here, regarding memory reading and structures.
    Thanks,

  15. #45
    shopher's Avatar Private
    Reputation
    1
    Join Date
    Jun 2013
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarthTon View Post
    To be able to monitor memory reads from another process warden needs to hook NtReadVirtualMemory in that particular process or kernel. This can be prevented either by making your process protected or by executing NtReadVirtualMemory syscall manually.
    Yep, I thought ReadProcessMemory allocates buffer and does RPC call to remote NtReadVirtualMemory which can be hooked. But looks like ReadProcessMemory is a wrapper around NtReadVirtualMemory which is inproc and goes directly to kernel to copy memory of remote process.

    Thanks.

Page 3 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. White Paper : Memory reading
    By tttommeke in forum WoW Memory Editing
    Replies: 41
    Last Post: 06-19-2008, 02:30 AM
  2. WoW Leveling Bot Memory Reading
    By Lindoz12 in forum WoW Memory Editing
    Replies: 2
    Last Post: 02-21-2008, 06:25 PM
  3. VB .Net Memory Reading Project
    By Glitchy in forum WoW Memory Editing
    Replies: 4
    Last Post: 01-22-2008, 12:37 PM
  4. [AutoIT3] WoW Cordinator (X,Y,MapID and rotation memory reading)
    By Vladinator in forum World of Warcraft Bots and Programs
    Replies: 22
    Last Post: 05-15-2007, 03:26 AM
All times are GMT -5. The time now is 01:43 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