flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Borsuc 20 Jun 2009, 01:48
PE is complicated, you can take a look at the manual PE method -- except for sections which have complicated macros, everything else is easy to understand I hope. Hope it helps.
|
|||
![]() |
|
kilobyte 20 Jun 2009, 11:30
Thanks for the link. I've got the PE Specification and have been making notes, and writing structures out in an include file...i'm not looking to produce pe files, just simply dump information about them. With the specification PE doesn't look all too complicated, but i guess i shall see if that statement holds once i start coding.
|
|||
![]() |
|
Borsuc 21 Jun 2009, 00:13
By complicated I mean that it has a lot of redundant data or data that is in 2 places but points to the same thing or is dependent on other data etc.., Good luck.
|
|||
![]() |
|
pal 21 Jun 2009, 08:45
Just copy the information into the PE headers and then dump all the information to file. It wont be hard for you to map the file and do this.
|
|||
![]() |
|
kilobyte 21 Jun 2009, 14:37
pal wrote: Just copy the information into the PE headers and then dump all the information to file. It wont be hard for you to map the file and do this. Yep this was what i was planning on doing...i've almost completed my PE include file containing the constants and structures. |
|||
![]() |
|
kilobyte 21 Jun 2009, 15:11
I was just wondering what the difference between
Quote:
and Quote:
From the fasm manual Quote:
Does that mean that if say variable 'example dd ?' isn't used throughout the program then it wouldn't be included in the final compiled executable. |
|||
![]() |
|
Borsuc 21 Jun 2009, 16:09
dd ? is UNINITIALIZED data, it is not stored in the executable but put in memory when it is loaded (presumably with random data, so don't depend on initialization).
e.g: it's like allocating memory, only that the .exe loader does it for you. You can allocate as much as you want, but it won't take up much space in your executable (apart from the data used to tell it how much to allocate ![]() _________________ Previously known as The_Grey_Beast |
|||
![]() |
|
arigity 21 Jun 2009, 16:54
if you do something like the following though, it WILL take up space.
Code: this dd 45425 idk dd ? ; cuz its between other defined data it will take up space. true dd 1 you need to put uninitialized data at the end of a section for it to not take up space in the final exe. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.