Commit Graph

45 Commits

Author SHA1 Message Date
Matt Nadareski
ddf289d747 Force reading name table as ASCII 2022-12-08 10:17:26 -08:00
Matt Nadareski
ae1edf0f21 Sync resource building in byte and stream paths 2022-12-08 10:13:22 -08:00
Matt Nadareski
9411f5044a Fix import table parsing 2022-12-05 13:52:15 -08:00
Matt Nadareski
9be4b339f8 Add PE base relocation table parsing and printing 2022-12-04 22:32:41 -08:00
Matt Nadareski
82de7e8b8e Off by one 2022-12-03 23:58:20 -08:00
Matt Nadareski
26831b4732 Both, both is good 2022-12-03 23:48:48 -08:00
Matt Nadareski
a6862925ca Use endOffset instead of EOF 2022-12-03 23:46:19 -08:00
Matt Nadareski
1e2ce169af Fix unaligned end-of-file certificates 2022-12-03 23:41:42 -08:00
Matt Nadareski
dda9b3551a Cast certificate length more safely 2022-12-03 23:32:11 -08:00
Matt Nadareski
26db75853b Fix malformed PE certificates 2022-12-03 23:09:45 -08:00
Matt Nadareski
ce5e2982d2 Fix resource entry handling 2022-12-03 14:22:54 -08:00
Matt Nadareski
e281faf664 Add first attempt at PE certificate parsing 2022-11-12 21:56:24 -08:00
Matt Nadareski
623d1e6a40 Invert PE "if" logic where possible 2022-11-11 10:08:15 -08:00
Matt Nadareski
4e21cf8494 Make PE RVA checks simpler 2022-11-11 09:58:19 -08:00
Matt Nadareski
2ebbda6852 Don't trust PE sections 2022-11-10 23:38:59 -08:00
Matt Nadareski
010a6d6e42 Safeguard all PE virtual address uses 2022-11-10 23:06:21 -08:00
Matt Nadareski
3b1481879a Fix PE debug table parsing 2022-11-10 22:39:10 -08:00
Matt Nadareski
260ab1ec89 Safeguard PE invalid virtual addresses 2022-11-10 22:19:58 -08:00
Matt Nadareski
69803a999f Fix PE virtual address for section-aligned RVAs 2022-11-10 22:09:58 -08:00
Matt Nadareski
750cecfdaf Add PE partial debug table parsing 2022-11-10 21:24:28 -08:00
Matt Nadareski
690c49ae1f Fix PE import table parsing 2022-11-10 11:58:46 -08:00
Matt Nadareski
c77c095893 Add initial PE import table parsing 2022-11-10 11:31:06 -08:00
Matt Nadareski
41a7c71b7d Fix PE bitmasks 2022-11-10 00:06:29 -08:00
Matt Nadareski
5ba2a31d7d Add PE export table to builder 2022-11-09 23:06:52 -08:00
Matt Nadareski
0c6bf406c1 Fix PE delay-load directory 2022-11-09 22:02:38 -08:00
Matt Nadareski
b908b77a34 Add PE delay-load directory table to builder 2022-11-09 21:47:39 -08:00
Matt Nadareski
8aa574a7c4 Add PE COFF string table printing 2022-11-09 21:28:00 -08:00
Matt Nadareski
37ac8c038f Add PE COFF string table to builder 2022-11-09 21:22:29 -08:00
Matt Nadareski
b569c6a6dd Add PE certificate attribute table to builder 2022-11-09 21:02:02 -08:00
Matt Nadareski
15d0df1a12 Add PE resource tree printing (incomplete) 2022-11-09 13:17:14 -08:00
Matt Nadareski
735c0fe367 Add PE resource table parsing (incomplete) 2022-11-09 11:11:30 -08:00
Matt Nadareski
af99cfa6f9 Add PE virtual address extension 2022-11-08 22:05:30 -08:00
Matt Nadareski
ee46167320 Add PE COFF symbol table parsing, printing 2022-11-08 21:36:46 -08:00
Matt Nadareski
6fc03403b4 Add PE section table parsing, writing 2022-11-08 16:31:30 -08:00
Matt Nadareski
2c4906534b Enable PE headers writing 2022-11-08 15:11:18 -08:00
Matt Nadareski
2ed79f3f9c Safer PE optional header builder; start printing PE 2022-11-08 15:02:31 -08:00
Matt Nadareski
7e9be878c4 Add PE optional header parsing to builder 2022-11-08 14:27:41 -08:00
Matt Nadareski
0a5ae3b090 Add PE COFF file header parsing to builder 2022-11-08 14:12:05 -08:00
Matt Nadareski
b067b671db Add PE signature parsing to builder 2022-11-08 14:04:02 -08:00
Matt Nadareski
75ef95c6bf Fix missing LE/LX/PE stub setting in builders 2022-11-06 23:52:52 -08:00
Matt Nadareski
703a132a61 Add missing MS-DOS stub to builders 2022-11-06 00:01:24 -07:00
Matt Nadareski
e55226e685 Add header skeletons for NE/LE/LX/PE builders 2022-11-05 23:59:38 -07:00
Matt Nadareski
9a4e6de5f9 Add MS-DOS stub to NE/LE/LX/PE builders 2022-11-05 23:52:16 -07:00
Matt Nadareski
a4e55a328c Add boilerplate for NE, LE, PE builders 2022-11-05 23:47:50 -07:00
Matt Nadareski
b7fb17a79f Add skeletons for other executable types 2022-11-05 23:36:15 -07:00