flat assembler
Message board for the users of flat assembler.
Index
> Windows > question about dll function addresses |
Author |
|
bitRAKE 05 Jul 2013, 09:32
For a DLL a relocation section should be included, which specifies where address fixups should take place. The assembler keeps track of which addresses and sizes that need updating. So, that when it creates the fixup section the correct data is stored. Then the loader reads the fixup data, and makes the required changes.
_________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
05 Jul 2013, 09:32 |
|
tthsqe 05 Jul 2013, 09:38
Yeah - I guess that must be the way.
Challenge: Can you make a 64 bit dll in fasm that works when not relocated, but breaks when relocated by windows? Seriously, though, has the relocator mechanism been proven correct for all files (of lets say size < 4MB)? |
|||
05 Jul 2013, 09:38 |
|
bitRAKE 05 Jul 2013, 11:10
I have a number of very radical PE64 files and come across unusual errors [1]. Most tools claim they are not even executables, but Windows executes them. RIP relative addressing could be used to eliminate relocation requirement.
https://code.google.com/p/corkami/wiki/PE ...might give you some ideas for avenues of extended research. corkami has compiled a nice variety of 32-bit PE files for testing requirements of loader across windows versions. The 64-bit loader has just as much flexibility it seems. |
|||
05 Jul 2013, 11:10 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.