[Diablo 3][0.4.0.7841] Info Dump Thread menu

Shout-Out

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    felheartx's Avatar Corporal
    Reputation
    12
    Join Date
    Nov 2011
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Diablo 3][0.4.0.7841] Info Dump Thread

    Hi there guys, since there is no info dump thread for the latest patch I opened this one.
    Here is what I've found out so far.

    First a few interesting things about the player-actor.
    To get the player GUID call: 0x92DDB0
    I haven't found a reliable way to get a actor from a GUID maybe someone can help me with that.

    An actor consists of
    +0 GUID
    +8 model name
    +94 normalized direction x
    +98 normalized direction y
    +9C x1, y1, z1
    +AC x2, y2, z2
    +37C Pointer to a class that contains movement information "movement class"

    Interesting values in the movement class are:
    +0 Pointer to a table of functions
    +34 IsMoving 0/1
    +38 Path complexity (0:unreachable, 1:complex path, 2:direct path)
    +3C TargetX, Y, Z
    +68 normalized direction to the target X, Y, Z

    If you write to the target position and set the moving flag to 1, the character will start to move there, like CTM.
    But it doesnt play the animation. I only tested this on the emulator so far.


    To get the GUID of the current hovering object read from:
    ["Diablo III.exe"+D534C8] + 820

    To get the last written chat input:
    [["Diablo III.exe"+BCB544]]

    The current version string is at:
    "Diablo III.exe" + 9B6B28


    I'm not that good in reversing, so it would be nice if someone could explain the whole concept of how actors are stored and accessed.
    Also, how do I get information like HP, Name, ... from an actor, does this work with descriptors like in wow?

    [Diablo 3][0.4.0.7841] Info Dump Thread
  2. #2
    scriptcraft's Avatar Private
    Reputation
    1
    Join Date
    Nov 2011
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    No i do not think so

  3. #3
    felheartx's Avatar Corporal
    Reputation
    12
    Join Date
    Nov 2011
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I finally found a way to send movement and action commands to the hero, while the game is minimized
    Now if I could only get a list of actors / mobs, but I'll post if I find more interesting things.

    Unfortunately, I still couldn't find a way to enumerate / iterate the list of monsters
    I really hope someone can help with this.

  4. #4
    stevenyy's Avatar Private
    Reputation
    1
    Join Date
    Aug 2011
    Posts
    10
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I m trying to find player hp atm, nothing useful yet, I will post it here if I find anything interesting.
    A friend is also offering me a copy of IDA pro 6.1, gonna see if that does any good.

  5. #5
    felheartx's Avatar Corporal
    Reputation
    12
    Join Date
    Nov 2011
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yeeeah, found a way to iterate trough the list of actors in a non-ghetto fashion ie. just by memory reading.
    Now on to getting actor name (instead of just model name), hp, classification, hostility, attributes, and other useful stuff.

    Does anyone know if there is any danger of getting banned on the official beta servers, when using CheatEngine, Olly or ReClass??

    edit: for all the lazy people who still have problems getting a list of actors from the game:
    Looking at this part of the code: "Diablo III.exe" + 0x2F4007
    breakpoint on it. edi stores the player guid, eax the current actor address.
    look at the whole function and it should become clear how to retrive the list.

    Happy hacking everyone
    Last edited by felheartx; 11-29-2011 at 11:29 PM.

  6. #6
    stevenyy's Avatar Private
    Reputation
    1
    Join Date
    Aug 2011
    Posts
    10
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ......Sounds like you have beta access?
    too much Jealousy.

  7. #7
    KOS0937's Avatar Member
    Reputation
    18
    Join Date
    May 2008
    Posts
    129
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    why would you assume that? he actually doesn't (at least he has been talking about testing it only on mooege)

    thanks felheartx for sharing anyways. From what I can see we are about equally good with reversing and that stuff - so I know what you are going through ^^ (though I don't have the time to do anything with d3 right now :-( )

  8. #8
    DrakeFish's Avatar Lazy Leecher

    Reputation
    634
    Join Date
    Nov 2008
    Posts
    569
    Thanks G/R
    0/14
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by stevenyy View Post
    ......Sounds like you have beta access?
    too much Jealousy.
    I've been doing a lot of work without actually having an access to beta, and I still don't. And even if I did I would probably use Mooege more than the beta servers (possibility to modify anything sent by server in a snap = win).

  9. #9
    stevenyy's Avatar Private
    Reputation
    1
    Join Date
    Aug 2011
    Posts
    10
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by KOS0937 View Post
    why would you assume that? he actually doesn't (at least he has been talking about testing it only on mooege)
    he was asking if there is any danger of getting banned on the official beta servers, when using CheatEngine, Olly or ReClass. whats wrong with my assumption?

    Originally Posted by DrakeFish
    I've been doing a lot of work without actually having an access to beta, and I still don't.......
    me too, not because i don't want beta access , but mooege is all i have got. also, when i use mooege, i have to start d3 first then attach the process to ida debugger. it sometimes causes the game to crash, and i was hoping with beta access i can start the process with ida debugger and reduce the crashes i am experiencing. Maybe i m doing something wrong, but i am not a pro anyway =)
    Last edited by stevenyy; 11-30-2011 at 07:42 PM.

  10. #10
    felheartx's Avatar Corporal
    Reputation
    12
    Join Date
    Nov 2011
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @stevenyy:
    Yeah I have beta access, but I fear loosing it if I screw with the game by using CE or something.
    I mainly use mooege, I got pretty far with it. But since everything is a instakill I can't find hp and other stats of the monsters. But I'm sure I'll figure something out
    The beta is fun, but it only takes an hour at most to play it trough (with one character).

    @KOS0937:
    I'll post more stuff periodically, but I don't want to spoil the fun by revealing everything at once ^^
    But if anyone has questions, please ask, I'll see if I can help

    Oh DrakeFish, in the screenshot you posted in the other thread I saw you enumerated the attributes.
    Did you get the attribute names form the game? Parse them from a gamefile? Or did you name them yourself?
    Are attributes stored in a extra struct, seperate from the actor?

  11. #11
    DrakeFish's Avatar Lazy Leecher

    Reputation
    634
    Join Date
    Nov 2008
    Posts
    569
    Thanks G/R
    0/14
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by felheartx View Post
    Oh DrakeFish, in the screenshot you posted in the other thread I saw you enumerated the attributes.
    Did you get the attribute names form the game? Parse them from a gamefile? Or did you name them yourself?
    Are attributes stored in a extra struct, seperate from the actor?
    Mooege took care of datamining the gameattributes. I'm unsure where they are stored but they have (or at least had) an array with all of them, I'm using the names and IDs from there.

  12. #12
    KOS0937's Avatar Member
    Reputation
    18
    Join Date
    May 2008
    Posts
    129
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I played around a bit with D3 (live) + ida / olly / ce. Had no problems and it appears that the warden is not really running on the beta servers. Not gonna vouch on that one though.

    @stevenyy battle.net.dll will stop you from logging in when ce / ida / olly are running. The anti-anti-debug measures you would have to take are not really worth the trouble. But of course you can run d3 from the debugger - and also give console arguments to set the serverurl to 127.0.0.1 (or just change it in the confg files. should be possible as well)

    EDIT: in ida it's debugger->process options-> parameter: " -launch -auroraaddress 127.0.0.1:1345" or something like that
    Last edited by KOS0937; 12-01-2011 at 04:01 PM.

  13. #13
    felheartx's Avatar Corporal
    Reputation
    12
    Join Date
    Nov 2011
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Patch 7 is released. Version string is "0.4.1.7931.BETA (34508-618511)"
    Looks like all pointer paths / offsets still work.

    At +0x1C8 in the Actor struct there's a value that's 0 for offscreen, 4 for "cached" and 5 for onscreen.
    This works most of the time, but sometimes the game decides to set this to zero for every actor.
    I don't know what causes this, maybe this value isn't even meaning "onscreen" at all, but it behaves like this most of the time.

    Thanks DrakeFish, I'll try my luck at Mooege's source code

    Oh my god, classifying Actors is way harder than I thought,
    I tried to use Actor flags, for detecting if an Actor is an enemy, a corpse with loot, a item that can be picked up, or whatever...
    But I get false-positives everywhere >_<
    My program returns some NPCs(Leah/Anvil/Blacksmith) as hostile, even though they aren't.
    I think I'm totally lost at this.
    Has anyone got something like this working??
    Last edited by felheartx; 12-04-2011 at 06:27 AM.

  14. #14
    felheartx's Avatar Corporal
    Reputation
    12
    Join Date
    Nov 2011
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Not much up in this thread, maybe it's because people aren't interested in the game because it's in beta?
    Anyways, here are the news

    There's a static region in the game that contains the keyboard state.
    If you write directly to it, you can even emulate keydown/keyup.
    Ok, it's abit harder than that. You'll have to set the "time since last hardware interaction counter" to the actual tickcount form inside the process.
    Also the game doesn't accept keyboard/mouse input if it isn't focused (which is easily fixable by the way).

    For the tickcount(of the last hardware input), you'll either have to place a hook somewhere (to pulse your own code and overwrite the tickcount), or you use WriteProcessMemory directly each time you send some hw inputs...
    I confirmed both methods to work.

    But only crap-bots use keyboard/mouse input anyways


    I still haven't found a decent way to read all "stats" from a actor. Mainly because cheatengine crashes the game very often when debugging
    If someone has a way to do this correctly, please share it.

  15. #15
    KOS0937's Avatar Member
    Reputation
    18
    Join Date
    May 2008
    Posts
    129
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    rmah destroyed it. People hope to make money with this, so they don't share the information they find (or, they are afraid others will use it to make money).

    But only crap-bots use keyboard/mouse input anyways
    qft. Time is better spend looking for a "clickToMove" / "clickToInteract" etc.

    the game will crash whenever it's stopped for too long. independent of the debugger you use.

Page 1 of 2 12 LastLast

Similar Threads

  1. [Diablo 3][0.8.0.8815] Info Dump Thread
    By vbaddicts in forum Diablo 3 Memory Editing
    Replies: 1
    Last Post: 03-16-2012, 05:36 AM
  2. [Diablo 3][0.3.0.7338] Info Dump Thread
    By Nesox in forum Diablo 3 Memory Editing
    Replies: 6
    Last Post: 11-01-2011, 04:58 AM
  3. [Diablo 3][0.2.0.7200] Info Dump Thread
    By Nesox in forum Diablo 3 Memory Editing
    Replies: 5
    Last Post: 09-20-2011, 11:29 PM
  4. [Diablo 3][0.3.0.7318] Info Dump Thread
    By Nesox in forum Diablo 3 Memory Editing
    Replies: 0
    Last Post: 09-16-2011, 03:08 PM
  5. [Diablo 3][0.2.0.7200] Info Dump Thread
    By Nesox in forum WoW Memory Editing
    Replies: 3
    Last Post: 09-13-2011, 05:09 AM
All times are GMT -5. The time now is 04:52 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