Page 1 of 1

OffsetOf - Bug/Feature Request ?

Posted: Sun Dec 30, 2012 2:24 pm
by Toni6

Code: Select all

Structure IMAGE_NT_HEADERS32_
  Signature.l
  FileHeader.IMAGE_FILE_HEADER
  OptionalHeader.IMAGE_OPTIONAL_HEADER
EndStructure

*mybase = $400000

*mybase = *mybase + OffsetOf(IMAGE_DOS_HEADER\e_lfanew)

*pMachine.Word = *mybase + OffsetOf(IMAGE_NT_HEADERS32_\FileHeader\Machine) ; <- doesn't work

Debug Str(*pMachine\w)

Re: OffsetOf - Bug/Feature Request ?

Posted: Sun Dec 30, 2012 2:44 pm
by luis
help wrote: OffsetOf can be used to find out the index of a Structure field
You are trying with a subfield, so it's not a bug.

Just split the offset calculation.

Code: Select all

*pMachine.Word = *mybase + OffsetOf(IMAGE_NT_HEADERS32_\FileHeader) + OffsetOf(IMAGE_FILE_HEADER\Machine)