FreeER Grandmaster Cheater Supreme Reputation: 53
Joined: 09 Aug 2013 Posts: 1091
|
Posted: Sat Jul 29, 2017 10:38 am Post subject: |
|
|
pseudocode
Code: | // dereference luBase+213740
baseAddress = readPointer(luBase+0x0213740) // *(void*)(...)
offsets = {..., 0x3E0} // ... represents values for multi-level pointers
// read through pointer/offset chain
address = baseAddress
for i=0, offsets.length-1 // skip last offset
address = readPointer(address+offsets[i]) // *(void*)(...)
// add last offset (0x3E0) and read as final type
value = readType(address+offsets[offsets.length-1], DWORD) // *(DWORD*)address
// readInteger(readPointer(luBase+0x0213740) + 0x3E0)
// DWORD value = *(DWORD*)((*(void*)luBase+0x0213740)+0x3E0)
|
Personally, I'd highly recommend you make a function or two that will do the work for you.
|
|