Page 1 of 1

Complex Address for delphi.

PostPosted: Mon Aug 17, 2009 11:55 am
by Formatc
Hello, was wondering if anyone would be able to help me with converting an complex address from MHS to something delphi would understand, I've searched around the forums and haven't seen any explainations for doing so. I understand this isn't related to MHS itself but was hoping someone may be able to provide some help. I've already discovered the static address thanks to these forums.

[0x2630640+0x04]-16

Is the expression which gives me the correct address where the value is stored. I have a good understanding of delphi and the readprocessmemory/writeprocessmemory api's.

PostPosted: Mon Aug 17, 2009 4:39 pm
by L. Spiro
A Complex Address can not be converted to any language. It is not a feature of any language. It is a proprietary format for text which requires a parser to interpret as a final address.
MHS decodes Complex Addresses because I wrote such a parser for it; if you want to read Complex Addresses in your language of choice you will need to write a parser in that language as well.


That being said, you do not need to parse Complex Addresses fully. It is enough for you to read a few numbers, operators (+), and brackets ([]).

[] are simply a call to ReadProcessMemory(), result returned as a UINT_PTR.


I do not know Delphi and can not help you beyond that.


L. Spiro