Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.development    |    Operating system development chatter    |    4,255 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 4,082 of 4,255    |
|    wolfgang kern to All    |
|    Re: KESYS may go UEFI    |
|    07 Jan 24 06:58:00    |
      From: nowhere@never.at              On 05/01/2024 11:34, I wrote:              still many question marks in there       (my size cast: b/w/q/dq/qq/dqq/qqq for 8/16/32/64/128/256/512)              info gathered from WIKI and Herbert's PE.       the PE-file: ;but it should be UEFI x8664 conform              is my main code an object or not?       TIA for any insight.       __       wolfgang              -------------------------------------------------------       000 w 5A4D "MZ" DOS 2.0 Compatible EXE Header       002 w .... remaining bytes on last sector, aka tail start (0160)?       004 w 0001 file size (in 512 byte sectors)       006 w 0000 number of relocation entries ??? required or not ???       008 w 0004 DOS header size (in 16 byte paragraphs) ==0040       00a w 0000 needed minimum extra paragraphs       00c w ffff needed maximum extra paragraphs ?? why max ???       00e w 0000 add SS (to load-address)       010 w .... SP initial (0160 if it use the tail here)       012 w 0000 checksum (of what and how)       014 w 0000 IP initial       016 w 0000 add CS (to load address)       018 w 0040 offset of RELOCATION table **** useless if none ???       01a w 0000 overlay number       01c dq.... reserved, all Zero       024 w 0000 OEM identifier, mine would be "KE" even not recognized       026 w 0000 OEM specific       028 .... unused, all Zero       03c q 00a0 Offset to PE Header (relative to file-start)       040 ... relocation table (if any at all)              DOS 2.0 Stub Program       040 push CS ;assume it's 0004 (from DOS header size) yet ???       041 pop DS       042 mov DX,000e       045 mov AH,09       047 INT_21       049 mov AX.4c01       04c INT_21       04e (aka 000e) just text+$ 0004:000e              ------------       PE HEADER       pointed to by file-offset 003c q       +[003c]q == 00a0 yet       0a0 q 00004550 "PE"0,0 SIGNATURE       0a4 w 0000 Unknown CPU TYPE        014C 80386        014D 80486        014E PentiumTM        ???? RYZEN 5/6.. ????              0a6 w 0001 number of sections       0a8 q 3700_0000 TIMESTAMP (seconds since 31.12.69 16:00)       0ac q reserved Zero/ PointerToSymbolTable       0b0 q reserved Zero/ NumberOfSymbols       0b4 w 00e0 why? SizeOfOptionalHeader       0b6 w 010f (I had 030f) Characteristics-flags              bit# my |if set        0 1 Relocation info stripped from file.        1 1 File is executable (i.e. no unresolved externel references).        2 1 Line numbers stripped from file.        3 1 Local symbols stripped from file.        4 0 Aggressively trim working set        5..6 00 ??        7 0 Bytes of machine word are reversed.        8 1 ? 32 bit word machine.        9 1 Debugging info stripped from file in .DBG file       10 0 If Image is on removable media, copy and run from swap file.       11 0 If Image is on Net, copy and run from the swap file.       12 0 System File.       13 0 File is a DLL.       14 0 File should only be run on a UP machine       15 0 Bytes of machine word are reversed.              0b8 w 010b MAGIC # ??       0ba b 05 ?? major linker version        0bb b 0c ?? minor       0bc q any SizeOfCode       0c0 q any SizeOfInitializedData       0c4 q any SizeOfUninitializedData       0c8 q ???? /winmain-ImageBase;AddressOfEntryPoint (0000_1094) ????       0cc q any BaseOfCode       0d0 q any BaseOfData       0d4 q ... IMAGE BASE (0040_0000) ??? required by UEFI ???       0d8 q 1000 SectionAlignment       0dc q 0200 FileAlignment       0e0 w ? MajorOperatingSystemVersion       0e2 w 0 minorOperatingSystemVersion       0e4 w 0 MajorImageVersion       0e6 w 0 MinorImageVersion       0e8 w ? MajorSubsystemVersion       0ea w 0 MinorSubsystemVersion       0ec q 0 Win32VersionValue       0f0 q any SizeOfImage       0f4 q 0200 SizeOfHeaders ?       0f8 q 0 CheckSum of what?       0fc w 0003 SUBSYSTEM              bit# my |if set        0 1 Unknown subsystem.        1 1 Image doesn't require a subsystem.        2 0 Image runs in the Windows GUI subsystem.        3 0 Image runs in the Windows character subsystem.        4 0 ?        5 0 image runs in the OS/2 character subsystem.        6 0 ?        7 0 image run in the Posix character subsystem.        8 0 image run in the 8 subsystem.        9..15 all zero              0fe w 0000 DLL Characteristic flags        Indicates special loader requirements.        b0 Per-Process Library Initialization        b1 Per-Process Library Termination        b2 Per-Thread Library Initialization        b3 Per-Thread Library Termination        b15..4 reserved for future use and should be set to zero.              0100 q any STACK RESERVE SIZE SizeOfStackReserve       0104 q any STACK COMMIT SIZE SizeOfStackCommit       0108 q any HEAP RESERVE SIZE SizeOfHeapReserve       010c q any HEAP COMMIT SIZE SizeOfHeapCommit       0110 q 0 loader-flags ???? (guess what this is) ????       0114 q any NumberOfRvaAndSize (entries in the data dir)       0118 dq 0 EXPORT DIRECTORY start+size       0120 dq 0 IMPORT DIRECTORY start+size       0128 dq 0 Resource Directory       0130 dq 0 Exception Directory       0138 dq 0 Security Directory       0140 dq 0 Base Relocation Table       0148 dq 0 Debug Directory       0150 dq 0 Description String       0158 dq 0 Machine Value (MIPS GP)       0160 dq 0 THREAD LOCAL STORAGE TLS Directory       0168 dq 0 Load Configuration Directory       0170 dq 0 Bound Import Directory in headers       0178 q 00000014 Import Address Table "IAT" ???? what for ???       017c q 00001000 size       0180 dq 0 RVA/14 ;SIZE       0188 dq 0 RVA/15 ;SIZE       0190 dq 0 RVA/16 ;SIZE              -----------------------       object table:        Each Object Table entry has this format (40 byte):       000 dq strptr ??? or 7char+00 OBJECT NAME (ascii Z-pad)       008 q VIRTUAL SIZE /(VSizeOf_text/VSizeOf_idat/VSizeOf_udat)       00c q RVA /VBaseOf_text       010 q PHYSICAL SIZE /FSizeOf_text ;raw data       014 q PHYSICAL OFFSET /FBaseOf_text ;raw data       018 q RESERVED /pointer to relocatins       01c q RESERVED /pointer to line numbers       020 w 0 number of relocations       022 w ?? number of line numbers       024 q OBJECT FLAGS (E0000020/40/80)        b5 Code object        b6 Initialized data object        b7 Uninitialized data object        b26 Object must not be cached        b27 Object is not page able        b28 Object is shared        b29 Executable object        b30 Readable object        b31 Writable object        All other bits are reserved and should be set to zero.       ----------------              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca