peddroelm Advanced Cheater
Reputation: 0
Joined: 03 Oct 2014 Posts: 84
|
Posted: Mon Apr 08, 2019 10:22 am Post subject: Help!how to find pointer chain health to NameString of enemy |
|
|
Still messing with adding combat damage log functionality to games that lack it ..
My current conundrum is this.
I can get (easily) get the base address of the struct/object/block that has current/max hitpoints value of an enemy in game. (shoot the enemy - combat log dumps .. for example
Code: | 16 2161.671 Max 869.869 Cur 979.018 Prev 109.149 Damage 1C2EA3D8 baseaddress |
Address A
I can get the address of the name string -> searching UTF-16 for the name displayed in game on top of that enemy. ..get it down to 1 result ..
Address B
My question is how do I find a pointer chain linking between object with address A and object 2 with address B.
So then I can do something like this ( I did this for another game that was .dot net so I could 'read' the pointer chain with dnspy)
Code: |
local zCharName = rbxAddress; -- display the address if getting the string name fails
local CharNameLength = readInteger(string.format("[[[%10X+ 30] + 28] + 10] + 10",rbxAddress));
if (CharNameLength ~= nil) then zCharName = readString(string.format("[[[%10X+ 30] + 28] + 10] + 14",rbxAddress), CharNameLength * 2, 1); end;
|
So then my damage received combat damage logs can also print the name of the character receiving the damage instead of hex addresses ..
I initially thought pointer scans / compare .. but that is something else .. I don't need static pointer chain all the way application static address (there might not even be such chains in this game). I only need a pointer chain between the two objects. (I realize there is no guarantee such a pointer chain exists - but how would be the best way of finding the link ? Manually tracing pointers back from B hopping A address pops up along the way ? )
EDIT1
Actually :
pointerscan with base address must be in specific range A + size of A oughta do it ? ..
EDIT2
pointer scan seems the most promising thus far -> pointer chain for 'psycho midget' worked (no game restart yet) for another enemy I shot 'elite marauder' but sadly didn't work for the playing character .. and possible playing character summons ... destructible objects .. . Also I need to figure out if there is a way to know which type of target is damaged (PC / enemy - maybe hardcode names for the 6 PCs ) .. there are still objects outside this (maybe display address for now until somebody better comes along) . Also I need to find the String length information along that pointer chain - I cannot read the UTF string otherwise .
|
|