just sharing some pointers i found. some may be useful, some maybe notenjoy.
Health: "Diablo III.exe"+00FF13E4 + 0x18 + 0xC8 + 0xC + 0x298 + 0x2C
just sharing some pointers i found. some may be useful, some maybe notenjoy.
Health: "Diablo III.exe"+00FF13E4 + 0x18 + 0xC8 + 0xC + 0x298 + 0x2C
Last edited by zewt; 06-02-2012 at 11:46 AM. Reason: UPDATED FOR NEW PATCH 1.0.2a
Just a quick note. You have one listed as "Hatred" I tried it with my Wizard which doesn't have hatred, they have arcane power and it seems like it only shows the maximum arcane power not the current power unlike your health address which shows current health instead of maximum health. Would be interesting to be able to grab both current and maximum for both.
I'm an experienced software developer, but very new to the reversing scene. I just have a real quick question regarding your memory addresses, don't be afraid to be as technical as necessary. I'm just wondering how you go about taking a memory address and then finding it based on the 'static address' you found originally. In other words, how would you find something like 'maximum health' and then trace it back to the original static address?
Thanks!
Hi Josh,
try out the Cheat Engine Tutorials. Several Methods are there explained.
also you can scan around these areas of pointer to find near by information too. like scan for armor you see in the next 10 memories you dex, vit, and some more. one memory base with trees have most time near around other memorys who are in relation.
sorry for the bad explanation, my english isnt the best .
Edited: Lack of info...
Last edited by BitHacker; 05-28-2012 at 09:06 AM.
Thanks.But all I see is zero.
Works fine for me, thanks!
Do you have any other addresses, e.g. coords?
hey guys,
I just programming on an directx overlay and its done but i try to fill my test text with values but all I see is zeros too.
yea ofc likeJust some clarification for people.. you read the integer @ 00FE31CC, add 0x18 to it, read the integer again, add 0xC8, etc...
but after add the 0xC8 offset the pointer points to nothing (debug code with VS)Code:C# Code: int memoryaddress = 0x00FE31CC; int pointerbase; memoryvalue = oMemory.Read((IntPtr)memoryaddress, 4, out bytesread); pointerbase = BitConverter.ToInt32(memoryvalue, 0); pointerbase += 0x18; memoryvalue = oMemory.Read((IntPtr)pointerbase, 4, out bytesread); pointerbase = BitConverter.ToInt32(memoryvalue, 0); pointerbase += 0xC8; ...
I tested my code - another program with pointers like this "HP: 0x0057C310 + 0x98 + 0x4 + 0x288 + 0x24 + 0x458" too and it works
iam not really good with memory, maybe i get something wrong with the pointers?!
sorry for my english and mess up this thread.
EDIT: even with CE i found nothing
Last edited by ARMqt; 05-29-2012 at 08:58 AM.
Works for meCode:BlackMagic diablo = new BlackMagic(); diablo.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("Diablo III")); IntPtr baseDiablo = diablo.MainModule.BaseAddress; Console.WriteLine("baseDiablo: " + baseDiablo); // Try to get current health uint value = diablo.ReadUInt((uint)baseDiablo + 0xFE31CC); value += 0x18; value = diablo.ReadUInt(value); value += 0xC8; value = diablo.ReadUInt(value); value += 0xC; value = diablo.ReadUInt(value); value += 0x2A0; value = diablo.ReadUInt(value); value += 0x14; float hp = diablo.ReadFloat(value);![]()
oh yea i forgot to add the base address "Diablo III.exe"+00FE31CC
well thx truetarin