[0.1.62115] Offsets menu

User Tag List

Page 2 of 4 FirstFirst 1234 LastLast
Results 16 to 30 of 46
  1. #16
    QuadroTony's Avatar Site Donator
    CoreCoins Purchaser Authenticator enabled
    Reputation
    90
    Join Date
    Apr 2013
    Posts
    367
    Thanks G/R
    5/55
    Trade Feedback
    109 (99%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    anyone can help me. how to unlock Hell? i dont need other saves, i want it on mine
    so i need to edit my save
    already figured out how to unlock Nightmare with HEX editor
    but not Hell
    Tony and Friends - Professional Powerleveling Services with stream. Many games. Discord - tonyandfriends, Discord ID - 543350455757963265, Discord Server - ask in PM or on the forum

    [0.1.62115] Offsets
  2. #17
    dschu012's Avatar Member
    Reputation
    6
    Join Date
    Oct 2012
    Posts
    8
    Thanks G/R
    4/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by QuadroTony View Post
    anyone can help me. how to unlock Hell? i dont need other saves, i want it on mine
    so i need to edit my save
    already figured out how to unlock Nightmare with HEX editor
    but not Hell
    d2s - Example

    load your save. click 'Unlock Hell'. click 'Save D2R'.

  3. #18
    QuadroTony's Avatar Site Donator
    CoreCoins Purchaser Authenticator enabled
    Reputation
    90
    Join Date
    Apr 2013
    Posts
    367
    Thanks G/R
    5/55
    Trade Feedback
    109 (99%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ejt View Post
    Did some work on UI stuff today, got the panel manager offset and some structures to go with it.

    PanelManager = 0x234AF30
    There is also a copy on 0x234AF40 but haven't looked into what that is used for yet.

    InitializePanelManager = 0x5A3C50
    InitializeGameWidgets = 0x5B30B0 lot of initialization going on in there

    Code:
    class Widget;
    class WidgetList;
    class PanelManager;
    
    // Actually a list of like 33 items but not sure exactly
    // about the size yet so just added some items for testing
    class WidgetList
    {
    public:
    	Widget *N000036F1; //0x0000
    	Widget *N00004084; //0x0008
    	Widget *N00004085; //0x0010
    	Widget *N00004086; //0x0018
    	Widget *N00004087; //0x0020
    	Widget *N00004088; //0x0028
    	Widget *N00004089; //0x0030
    	Widget *N0000408A; //0x0038
    	Widget *N0000408B; //0x0040
    	Widget *N0000408C; //0x0048
    	Widget *N0000408D; //0x0050
    	Widget *N0000408E; //0x0058
    }; //Size: 0x0060
    
    class Widget
    {
    public:
    	char *pName; //0x0008
    	char pad_0010[32]; //0x0010
    	Widget *Parent; //0x0030
    	char pad_0038[24]; //0x0038
    	uint64_t Flags; //0x0050 flags & 0x10 = visible
    	WidgetList *Children; //0x0058
    	uint64_t numElements; //0x0060
    	char pad_0068[32]; //0x0068
    	
    	virtual void Function0();
    	virtual void Function1();
    	virtual void Function2();
    	virtual void Function3();
    	virtual void Function4();
    	virtual void Function5();
    	virtual void Function6();
    	virtual void Function7();
    	virtual void Function8();
    	virtual void Function9();
    }; //Size: 0x0088
    
    class PanelManager : public Widget
    {
    public:
    	WidgetList *pWidgetList; //0x0088
    	uint64_t numElements; //0x0090
    	char pad_0098[8]; //0x0098
    	WidgetList *pWidgetList2; //0x00A0
    	uint64_t numElements2; //0x00A8
    	char pad_00B0[8]; //0x00B0
    	uint32_t N0000432E; //0x00B8
    	uint32_t ScreenWidth; //0x00BC
    	uint32_t ScreenHeight; //0x00C0
    	char pad_00C4[4]; //0x00C4
    	Widget *ActiveModal; //0x00C8
    	Widget *GlobalData; //0x00D0
    	Widget *FocusManager; //0x00D8
    	char pad_00E0[16]; //0x00E0
    }; //Size: 0x00F0


    do you tihnk it will be possible to turn ON gamepad UI and other gamepad features, but play with keyboard and mouse?
    Tony and Friends - Professional Powerleveling Services with stream. Many games. Discord - tonyandfriends, Discord ID - 543350455757963265, Discord Server - ask in PM or on the forum

  4. #19
    QuadroTony's Avatar Site Donator
    CoreCoins Purchaser Authenticator enabled
    Reputation
    90
    Join Date
    Apr 2013
    Posts
    367
    Thanks G/R
    5/55
    Trade Feedback
    109 (99%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Crazyloon View Post
    Ah, ok... never mind I figured it out.


    adding
    0x1EE3201:90
    to patches.txt will make item levels show

    I'm still testing the rest

    0x1EE3200:90: ~ allowLadderRunewords
    0x1EE3201:90: ~ displayItemLevel
    0x1EE31FF:90: ~ allowCowPortalWhenCowKingWasKilled
    0x1EE3203:90 ~ enableUberQuest
    0x1EE3202:90: ~ allowStatUnassignment
    0x1EE3204:90: ~ allowSkillUnassignment (doesn't seem to be working)
    0x1EE320D:90: ~ enableWorldEventOffline (Assume Uber Diablo - haven't tested)
    0x1EE320E:90: ~ enableMultipleHirelings
    //0x1EE3211:90: ~ worldEventMonsterClass (probably needs correct ID for Uber Diablo)
    //0x1EE3215:90: ~ worldEventGlobalMessage (probably needs correct ID for the string to reference)
    //0x1EE3315:90: ~ worldEventGlobalSound (probably needs correct ID for audio file to reference)

    not working for me

    at least i cant see item levels

    didint test other things, what i am doing wrong? tried 01 instead of 90 as suggested few posts above = same issue





    Tony and Friends - Professional Powerleveling Services with stream. Many games. Discord - tonyandfriends, Discord ID - 543350455757963265, Discord Server - ask in PM or on the forum

  5. #20
    dschu012's Avatar Member
    Reputation
    6
    Join Date
    Oct 2012
    Posts
    8
    Thanks G/R
    4/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Crazyloon View Post
    I find this very interesting. I wonder if we can figure out how to turn the console on and see if there is any interesting information in there.

    Attachment 77216

    How do you find a memory offset for something like this in Cheat Engine? I understand, in Cheat Engine, we can manually add an address if we know the offset.

    So how did you go from something like this in IDA:
    .rdata:0000000141A1B528 aAllowladderrun db 'allowLadderRunewords',0

    to something like this in Cheat Engine:
    game.exe+0x1EE3200
    I can't claim to be great at this either. But I'd search for references to the string in code. That narrowed me down to

    Untitled.png

    you can see they call a func which we can presume checks for s_show_console being set. you can see the result of the call being stored in Game.exe+0x22E1CB8. however patching that address nor patching the instructions to just `MOV RAX,0x1` did not result in any kind of difference in game to me.
    Last edited by dschu012; 04-19-2021 at 11:01 AM.

  6. #21
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by QuadroTony View Post
    not working for me

    at least i cant see item levels

    didint test other things, what i am doing wrong? tried 01 instead of 90 as suggested few posts above = same issue





    The way you're changing the value is at startup when you're using the patches.txt method of doing things. This is why you should load up something like cheat engine and modify the value yourself. What probably happens is that when you enter a game or somewhere along the way the game overwrites your modified value and make the patch useless.

  7. #22
    QuadroTony's Avatar Site Donator
    CoreCoins Purchaser Authenticator enabled
    Reputation
    90
    Join Date
    Apr 2013
    Posts
    367
    Thanks G/R
    5/55
    Trade Feedback
    109 (99%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ejt View Post
    The way you're changing the value is at startup when you're using the patches.txt method of doing things. This is why you should load up something like cheat engine and modify the value yourself. What probably happens is that when you enter a game or somewhere along the way the game overwrites your modified value and make the patch useless.
    all other things inside patches.txt works fine, so it looks like just that item level parameter/adress incorrect
    Tony and Friends - Professional Powerleveling Services with stream. Many games. Discord - tonyandfriends, Discord ID - 543350455757963265, Discord Server - ask in PM or on the forum

  8. #23
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by QuadroTony View Post
    all other things inside patches.txt works fine, so it looks like just that item level parameter/adress incorrect
    You're wrong

  9. Thanks agentsteve (1 members gave Thanks to ejt for this useful post)
  10. #24
    iceblade7's Avatar Member
    Reputation
    1
    Join Date
    Apr 2021
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by QuadroTony View Post
    all other things inside patches.txt works fine, so it looks like just that item level parameter/adress incorrect
    everything worked fine for me, but like ejt said, the program modifies values and not working always as it should

  11. #25
    Crazyloon's Avatar Member
    Reputation
    7
    Join Date
    Apr 2021
    Posts
    5
    Thanks G/R
    2/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by QuadroTony View Post
    all other things inside patches.txt works fine, so it looks like just that item level parameter/adress incorrect
    I recommend opening the game with Cheat Engine and modifying the values that way. There's a race condition when using patches.txt that can sometimes cause some of the values to be overwritten.

  12. #26
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    <removed, you go figure it out>
    Last edited by ejt; 10-05-2021 at 02:57 PM. Reason: removed

  13. Thanks rm10 (1 members gave Thanks to ejt for this useful post)
  14. #27
    QuadroTony's Avatar Site Donator
    CoreCoins Purchaser Authenticator enabled
    Reputation
    90
    Join Date
    Apr 2013
    Posts
    367
    Thanks G/R
    5/55
    Trade Feedback
    109 (99%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    anyone know to be able to open cow level after killing cow king

    i need edit save file, or game exe itself? ie cheat engine
    Tony and Friends - Professional Powerleveling Services with stream. Many games. Discord - tonyandfriends, Discord ID - 543350455757963265, Discord Server - ask in PM or on the forum

  15. #28
    knochenrolf's Avatar Member
    Reputation
    2
    Join Date
    Jul 2012
    Posts
    7
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by QuadroTony View Post
    anyone know to be able to open cow level after killing cow king

    i need edit save file, or game exe itself? ie cheat engine
    did u check the first page at all? its posted there ^^

    "game.exe+1EE31FF" set it to true

  16. Thanks QuadroTony (1 members gave Thanks to knochenrolf for this useful post)
  17. #29
    rm10's Avatar Member
    Reputation
    1
    Join Date
    Apr 2021
    Posts
    5
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ejt View Post
    Here's some offsets that will be needed for maphack later.

    Code:
    // tested globals
    PanelManager = 0x234AF30,
    AutomapLayer = 0x22E46E8,
    
    // tested functions
    GetControlUnitId = 0x14C510,
    GetControlUnitPtr = 0x157300,
    GetLayer = 0x296ED0,
    GetLevel = 0x292740,
    InitAutomapLayer = 0x176550,
    InitLevel = 0x292D70,
    LoadAct = 0x278BD0,
    LoadAct_1 = 0x172750, // void LoadAct_1(Room1* room)
    LoadAct_3 = 0x172890,
    UnloadAct = 0x278A10,
    RevealAutomapRoom = 0x177900, // contains retcheck
    As you may have noticed, RevealAutomapRoom has a retcheck, quite aggressive one at that. What I could figure out it looks something like this

    Code:
    v31 = retaddr[0];
      if ( retaddr[0] < s_ImageBase || retaddr[0] >= s_ImageBase + 0x1A14584 )
        goto LABEL_44;
      v20 = *(retaddr[0] - 5);
      if ( v20 != -24 )
      {
        if ( *(retaddr[0] - 7) != -1 || (v21 = *(retaddr[0] - 6), ((v21 & 0x38) - 16) & 0xF7) )
        {
          v21 = *(retaddr[0] - 6);
          v22 = 0;
        }
        else
        {
          v22 = 1;
        }
        v23 = v21 != -1 || ((v20 & 0x38) - 16) & 0xF7 ? 0 : 1;
        v24 = v22 | v23;
        if ( *(retaddr[0] - 4) != -1 || (v25 = *(retaddr[0] - 3), ((v25 & 0x38) - 16) & 0xF7) )
          v25 = *(retaddr[0] - 3);
        else
          v24 = 1;
        if ( v25 != -1 || (v26 = *(retaddr[0] - 2), ((v26 & 0x38) - 16) & 0xF7) )
        {
          v26 = *(retaddr[0] - 2);
          v27 = 0;
        }
        else
        {
          v27 = 1;
        }
        v28 = v27 | v24;
        if ( (v26 != -1 || ((*(retaddr[0] - 1) & 0x38) - 16) & 0xF7) && !v28 )
        {
    LABEL_44:
          while ( 1 )
          {
            *v31 = v31 / 0;
            memset(&v32, 0, 0x1000ui64);
          }
        }
      }
      v29 = (qword_BAB30 + *(qword_BAB30 + ((LODWORD(retaddr[0]) - _ImageBase) >> 14)));
      v30 = *v29;
      if ( !*v29 )
      {
        while ( 1 )
        {
    LABEL_40:
          *retaddr[0] = retaddr[0] / 0ui64;
          memset(&retaddr[1], 0, 0x1000ui64);
        }
      }
      while ( v30 - (LODWORD(retaddr[0]) - _ImageBase) > 0x40 )
      {
        v30 = v29[1];
        ++v29;
        if ( !v30 )
          goto LABEL_40;
      }
    It was heavily obfuscated so the pseudo code is unreliable but sort of gives you an understanding of what it does. It checks the return address against a global variable, if it's to low or high it eventually goes into a endless loop that will divide by zero and zero out some memory. Still trying to get past this but haven't looked into defeating the anti-debugging yet so its going slow, sharing in case anyone else is looking to get a maphack working.

    EDIT:

    Here's a patch that will jump over the retcheck in RevealAutomapRoom. Still want to find a solution for doing this dynamically but it will work for testing purposes.

    Code:
    0x177A91:E99C050000: ~ retcheck in RevealAutomapRoom
    Still need the functions AddRoomData and RemoveRoomData to complete the maphack.
    How did you adapt so well from x86 assembly to x64 to find the functions. Without being able to debug / breakpoint I'm still having a hard time understanding how everyone is finding so much useful stuff. Do you all really sit their for hours on end looking at the C code to find the similarities ? Thanks for your contributions and findings.

  18. #30
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by rm10 View Post
    How did you adapt so well from x86 assembly to x64 to find the functions. Without being able to debug / breakpoint I'm still having a hard time understanding how everyone is finding so much useful stuff. Do you all really sit their for hours on end looking at the C code to find the similarities ? Thanks for your contributions and findings.
    Most of my experience come from reversing World of Warcraft which is also x64 other than that there is not that much difference between x86 and x64 so its not a hard swap to do.

    And yes, I do sit for hours on end looking for stuff.

Page 2 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. WoW Offsets & WPE
    By RyanoAthens in forum World of Warcraft General
    Replies: 2
    Last Post: 03-11-2014, 10:15 PM
  2. Hiding offsets of proccess how ?
    By sabotage3d in forum World of Warcraft General
    Replies: 0
    Last Post: 03-24-2007, 09:59 AM
  3. Swimming state offset
    By sabotage3d in forum World of Warcraft General
    Replies: 0
    Last Post: 03-12-2007, 03:54 PM
  4. Enemy offsets
    By sabotage3d in forum World of Warcraft General
    Replies: 0
    Last Post: 03-12-2007, 08:13 AM
  5. How do you find memory offsets in the game?
    By koalaz2004 in forum World of Warcraft General
    Replies: 0
    Last Post: 08-18-2006, 09:40 PM
All times are GMT -5. The time now is 07:01 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