-
Member
Is there an easy way to dump out all of the Actor Asset files in readable format (for instance 130400 "Player_Shared_Stash")? Are these retrieved from the SNODiskEntries, or is there another way to get a dump of actor SNO->readable string?
I understand the ActorSNO needs to be decrypted (thanks for the hint about the XOR), but I'm wondering if there's an easy way to dump out the ActorSNO -> friendly name mapping?
-
Active Member
Originally Posted by
owen654321
Is there an easy way to dump out all of the Actor Asset files in readable format (for instance 130400 "Player_Shared_Stash")? Are these retrieved from the SNODiskEntries, or is there another way to get a dump of actor SNO->readable string?
I understand the ActorSNO needs to be decrypted (thanks for the hint about the XOR), but I'm wondering if there's an easy way to dump out the ActorSNO -> friendly name mapping?
Code:
AssetCache.Initialize(MemoryContext.Current);
foreach (SNOType snoType in Enum.GetValues(typeof(SNOType)))
{
var dic = AssetCache.GetSlugs(snoType );
//do something with the dictionary
}
-
Post Thanks / Like - 1 Thanks
owen654321 (1 members gave Thanks to d2k2 for this useful post)
-
Member
Darn, this chunk of code:
var snoDiskEntries = ctx.DataSegment.SNOFiles.SNODiskEntries.ToArray();
is failing with a win32 exception. I see you have some alternate code below. Do you know of any other way to readthe SNODiskEntries to get the friendly names for each actor SNO?
-
Legendary
Originally Posted by
owen654321
Darn, this chunk of code:
var snoDiskEntries = ctx.DataSegment.SNOFiles.SNODiskEntries.ToArray();
is failing with a win32 exception.
Try again with latest source. Address for SNOFiles was not updated until 8 hours ago.
-
Active Member
for x86 :
WorldId = (0xC0B1E634 - ReadRelative(0x19B3AC4)) ^ WorldId
ActorSnoId = (2 * ReadRelative(0x19B3A4B) - 0x2216D292) ^ ActorSnoId
-
Member
Will Enigma work again?
Hi, Enigma is working after patch update or not? Any information about that? Many thanks..
-
Legendary
Originally Posted by
RunDMX
Hi, Enigma is working after patch update or not? Any information about that? Many thanks..
Partially working (enough for MapHack). Will probably be a few days before the rest is updated.
-
Post Thanks / Like - 2 Thanks
d2k2,
tavisha (2 members gave Thanks to enigma32 for this useful post)
-
Active Member
Thx its working. Some Offsets are not updated. i posted it as comment on github.
Btw, what is the TrickleManager or what is an Trickle-Object?
-
Legendary
Originally Posted by
d2k2
Btw, what is the TrickleManager or what is an Trickle-Object?
I'm not fully sure It's markers you see on D3 minimap, e.g. vendors. At one point it also contained bounty markers, before they became visible. Was trying to see if they could show level exit in grifts earlier, but seems not.
-
Active Member
Originally Posted by
enigma32
I'm not fully sure
It's markers you see on D3 minimap, e.g. vendors. At one point it also contained bounty markers, before they became visible. Was trying to see if they could show level exit in grifts earlier, but seems not.
Bountie markes on minimap would be very useful. i have no idea how killerjohn is doing it :S
-
Active Member
hello there, could you please provide newest objectmanager? I tired to find it in maphack sources but I failed :/ thanks!
-
Legendary
Originally Posted by
garfild
hello there, could you please provide newest objectmanager? I tired to find it in maphack sources but I failed :/ thanks!
It's complicated. They encrypt a bunch of stuff now, so I skip the pointers and search for the objects instead Enigma.D3/SymbolPatcher64.cs at post-obfuscation-patchwork . Enigma32/Enigma.D3 . GitHub
They can of course be decrypted, but I haven't bothered looking for the variables and constants in current patch (and had no reason to while object pattern scanning works).
-
Active Member
I found this source code, but I am not coder, it has no value for me.... So you have some automated system to self-update with the new hash?
-
Active Member
Hey guys, after a couple of years I decided to freshen up my navmesh library a bit. I see lots has changed I've tried launching map hack from post-obfuscation-patchwork but it's stuck on "Waiting for D3 process...". Then I tried creating memory context in my own code. It seems to crash on first memory read after context creation.
Code:
Enigma.Memory.dll!Enigma.Memory.ProcessMemoryReader.UnsafeReadBytesCore(Enigma.Memory.MemoryAddress address, byte[] buffer, int offset, int count) Line 67 C# Symbols loaded.
Enigma.Memory.dll!Enigma.Memory.MemoryReader.UnsafeReadBytes(Enigma.Memory.MemoryAddress address, byte[] buffer, int offset, int count) Line 251 C# Symbols loaded.
Enigma.Memory.dll!Enigma.Memory.MemoryReader.Read<int>(Enigma.Memory.MemoryAddress address) Line 85 C# Symbols loaded.
NavMeshViewer.exe!NavMeshViewer.NavMeshViewerD3.CreateMemoryContext() Line 35 C# Symbols loaded.
Exception thrown: 'System.ComponentModel.Win32Exception' in Enigma.Memory.dll
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.Memory.dll
Only part of a ReadProcessMemory or WriteProcessMemory request was completed
CreateMemoryContext is the exact copy from MapHack. I double check and I'm running 64b Diablo 3. Am I missing something obvious? Thanks in advance
-
Legendary
Originally Posted by
CrEEzz
Hey guys, after a couple of years I decided to freshen up my navmesh library a bit. I see lots has changed
I've tried launching map hack from post-obfuscation-patchwork but it's stuck on "Waiting for D3 process...". Then I tried creating memory context in my own code. It seems to crash on first memory read after context creation.
Code:
Enigma.Memory.dll!Enigma.Memory.ProcessMemoryReader.UnsafeReadBytesCore(Enigma.Memory.MemoryAddress address, byte[] buffer, int offset, int count) Line 67 C# Symbols loaded.
Enigma.Memory.dll!Enigma.Memory.MemoryReader.UnsafeReadBytes(Enigma.Memory.MemoryAddress address, byte[] buffer, int offset, int count) Line 251 C# Symbols loaded.
Enigma.Memory.dll!Enigma.Memory.MemoryReader.Read<int>(Enigma.Memory.MemoryAddress address) Line 85 C# Symbols loaded.
NavMeshViewer.exe!NavMeshViewer.NavMeshViewerD3.CreateMemoryContext() Line 35 C# Symbols loaded.
Exception thrown: 'System.ComponentModel.Win32Exception' in Enigma.Memory.dll
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.Memory.dll
Only part of a ReadProcessMemory or WriteProcessMemory request was completed
CreateMemoryContext is the exact copy from MapHack. I double check and I'm running 64b Diablo 3. Am I missing something obvious? Thanks in advance
Make sure you compile as 64-bit as well or pointers will be truncated due to IntPtr (which would've worked fine before they started unpacking the PE into a higher address space).