12-22-2012, 03:07 PM
I am attempting to understand the function header so as to determine if anything in it needs to be updated if I re-write bytes. In my function I have used an instance variable to act as a loop count and guard. This modifies the amount of index's that are read.
Now I understand that the last 16 bytes in the 48 byte header have size and position information.
The reason I am asking is because I have re written bytes to do a while loop instead of adding an item manually one by one so I can edit the amount added to a dynamic array rather than get stuck with the hardcoded size.
I am still getting a little stuck on which INDEX objects get 8 bytes and when to add e.g: in jump code.
Anyway, so what is this header and footer information and do I need to adjust anything when Index reads change?[/code][/quote]
Now I understand that the last 16 bytes in the 48 byte header have size and position information.
Code:
DWORD LineNumber 'in class'. In UE Explorer this can be confirmed lines however do not match perfectly..
DWORD unknown
DWORD TextPos ??? I am assuming 'text' to be data loaded in memory. In my short analysis this always seems to be higher than EndOffset and the cave size (endoffset - TextPos) seems to always be a multiple of 4. So I am thinking this has something to do with scripts virtual size. I believe that if you rewrite a script and change the amount of index reads that you must recalculate this..
DWORD EndOffset This is the 'size' of the script from the end of the header to the start of the End of Script token 0x53. Note this size does not include actual load size. Some tokens get expanded to 8 bytes rather than 4.
BYTEs Script Script Code
BYTES 0x53 plus 15 more. There seems to be some flags in this part. I do not understand the bytes at the end of a function
The reason I am asking is because I have re written bytes to do a while loop instead of adding an item manually one by one so I can edit the amount added to a dynamic array rather than get stuck with the hardcoded size.
I am still getting a little stuck on which INDEX objects get 8 bytes and when to add e.g: in jump code.
Anyway, so what is this header and footer information and do I need to adjust anything when Index reads change?[/code][/quote]