flat assembler
Message board for the users of flat assembler.
Index
> Windows > Export table tweaks Goto page 1, 2 Next |
Author |
|
revolution 26 Mar 2008, 02:34
Sure you can do that. It is only a pointer there are no special requirements about duplication.
|
|||
26 Mar 2008, 02:34 |
|
itsnobody 26 Mar 2008, 20:40
yeah there's no problems with this, you can do it, make sure the export names are in alphabetical order though....having it not in alphabetical order may cause problems
|
|||
26 Mar 2008, 20:40 |
|
AlexP 26 Mar 2008, 23:30
Yeah, but I was just wondering if it was proper to do I'll probably end up having only one, and making a good note of it in the header to avoid confusion from the user. THanks!
|
|||
26 Mar 2008, 23:30 |
|
asmfan 27 Mar 2008, 06:33
Quote:
what kind of problems you encountered? May be it's just recommendation to arrange alphabetically? |
|||
27 Mar 2008, 06:33 |
|
AlexP 27 Mar 2008, 07:30
I highly doubt that Windows would trust every library to have their exported strings in alphabetical order, or many would have encountered those problems..
|
|||
27 Mar 2008, 07:30 |
|
revolution 27 Mar 2008, 08:01
AlexP wrote: I highly doubt that Windows would trust every library to have their exported strings in alphabetical order, or many would have encountered those problems.. |
|||
27 Mar 2008, 08:01 |
|
asmfan 27 Mar 2008, 08:07
From MS PE & COFF documentation.
Quote:
|
|||
27 Mar 2008, 08:07 |
|
revolution 27 Mar 2008, 08:14
Hehe, if all else fails RTFM. Thanks for posting that asmfan
|
|||
27 Mar 2008, 08:14 |
|
asmfan 27 Mar 2008, 08:31
But notice: not a word like "must", "should" be ordered lexically... Then I can think the order only have enfluence on speed.
|
|||
27 Mar 2008, 08:31 |
|
revolution 27 Mar 2008, 09:01
asmfan wrote: But notice: not a word like "must", "should" be ordered lexically... Then I can think the order only have enfluence on speed. |
|||
27 Mar 2008, 09:01 |
|
asmfan 27 Mar 2008, 09:52
Actually I always thought Win loader searches among every entry in export table not only till the first letter of next export func. name greather lexically than the letter of nedded name.
(too lazy moment to make any tests on unsorted lists of export funcs) |
|||
27 Mar 2008, 09:52 |
|
asmfan 27 Mar 2008, 10:24
Just made some tests: unsorted export table works perfectly on both static linking & dynamic dll linking. Tested on Win 32-bit XP SP2+. Still no "must" word met.
|
|||
27 Mar 2008, 10:24 |
|
revolution 27 Mar 2008, 10:55
Okay, now please test with Win95 Win98, WinNT, Win2K, WinVista all versions and all patch levels. Also remember to keep testing for all future versions to be sure that MS don't screw it up some time later by deciding to enforce it due a lame "for security reasons" excuse.
Seriously, I think it would be easier to just use the macros and sort the table, then there is no need to worry about any future/past incompatibility. |
|||
27 Mar 2008, 10:55 |
|
asmfan 27 Mar 2008, 11:41
Some times I hate MS documentation cuz it sometimes lacks those keywords like "must" and othert. For example - lots of Native APIs take structures as parameters but nowhere you can find that the structure "must" be aligned on 4 or more and this leads to dummy mistakes. Of course we now that performance suffers because of misalignment but nowhere you meet "must". E.g. NtQueryPerformanceCounter (and its not Nt* analog) takes only 4 bytes aligned data. Of course it's natural alignment but where it's said to align data so?
|
|||
27 Mar 2008, 11:41 |
|
revolution 27 Mar 2008, 12:14
I think the reason that alignment is not mentioned in the docs is because they are aimed at HLL programmers (note all the C examples in the SDK) and they expect the HLL compiler to have nicely aligned things on the natural boundaries.
|
|||
27 Mar 2008, 12:14 |
|
f0dder 27 Mar 2008, 15:03
asmfan: did you make a large number of exports, very scrambled, and did you import all those exports from your test exe?
Last time I checked, export-sorting was necessary on XP SP2. |
|||
27 Mar 2008, 15:03 |
|
asmfan 27 Mar 2008, 17:22
Nope, just imported 1 proc. which is the last in export table containing 4/5 scrambled exports in dll. A bit later I'll test it more according your advice with multiple imports from dll.
|
|||
27 Mar 2008, 17:22 |
|
asmfan 27 Mar 2008, 18:47
Again worked fine addresses found by loader both statically and dynamically.
|
|||
27 Mar 2008, 18:47 |
|
itsnobody 27 Mar 2008, 20:52
asmfan wrote:
A while back I was having problems with it, I was using an older version of FASM and couldn't figure out what was wrong with the DLL why some people couldn't get it to work, then I put the export names in alphabetical order and it worked I don't know if FASM automatically does this now... |
|||
27 Mar 2008, 20:52 |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.