Commit graph

34 commits

Author SHA1 Message Date
bbafc3d7ac
Re-add comments to some files 2025-06-30 18:07:26 +01:00
4d67f29fa3
Get imports *finally* working (remove special handling for functions and treat them as variables) 2025-06-30 15:16:20 +01:00
9d36dd8ec9
Do more work on imports 2025-06-30 00:03:06 +01:00
f505302e71 Change the way versioning works, fix memory leaks 2025-06-24 18:20:43 +01:00
3c46c6cf74 Restore comments which were accidentally deleted during reformatting 2025-06-21 21:46:43 +01:00
f6610667ae Remove prints from everywhere but main, fix bug where only part of an import library version was set 2025-06-16 22:06:31 +01:00
b646f28812 Tweak formatting, add CONTRIBUTING.md 2025-06-16 21:31:17 +01:00
1ff1e8f93f Reformat all code to modified Allman/BSD style 2025-06-16 15:31:35 +01:00
Vali0004
4e053b09ca Refactor code style, and add hardening
Signed-off-by: Aiden Isik <aidenisik+srht@member.fsf.org>
2025-06-16 14:27:12 +01:00
3d57c01b92 Do not use base address to determine DLL type, revert to old method 2025-06-15 12:36:09 +01:00
7b1d147cf0 Fix bug where if there are no import tables, the location of the first optional header overwrites the basefile 2025-06-10 16:52:07 +01:00
75e2a58ade Use PE DLL flag to decide whether to use DLL or Title flag (more accurate?) 2025-06-09 21:58:32 +01:00
1dab6189be Remove some debugging stuff 2025-06-09 20:17:57 +01:00
d82fd383f0 Rework executable type logic, add command line option to override it 2025-06-09 19:10:55 +01:00
32bdb84887 Fix unaligned pointer accesses and buffer overflow bug in freeImportLibrariesStruct 2025-06-09 14:57:06 +01:00
81b649ca32 Finish import table generation 2025-06-09 13:47:58 +01:00
1b62027120 Fix name table stuff 2025-06-08 19:01:22 +01:00
080df81ef6 Add code to populate XEX import libraries header (breaks things, need to fix) 2025-06-08 16:42:13 +01:00
c0607ecc49 Improve error handling in main, other misc bug fixes 2025-06-03 18:24:07 +01:00
24c68d7ff1 Put better memory management routines in place (TODO: use them everywhere) 2025-06-03 01:27:05 +01:00
6c5274ea54 Set up data structures/helper functions for PE import parsing, make byte-swapping read functions more efficient 2025-06-01 15:49:47 +01:00
58c7757044 Make endian conversions more portable 2025-05-29 20:48:06 +01:00
3108eb3d4a Add support for DLLs 2025-05-29 19:13:01 +01:00
3d61b9b24f Roll back zero-elimination support (it only seems to work between PE sections, not within them, making it effectively useless for the structure of XEX generated by FreeChainXenon) 2025-02-23 22:28:50 +00:00
184dee1d5e Start work on making the final XEX smaller 2025-02-19 22:07:17 +00:00
6eea1399bc Remove some redundancy, harden better against bad input, clean up a bit. 2025-01-10 03:02:15 +00:00
20127e7af9 Fix a few things, guard memory allocations with error checks 2025-01-09 19:06:41 +00:00
2cbd05c862 Add PE mapper: this program should now generate valid (if basic) XEX files 2025-01-03 19:51:06 +00:00
ef151a1437 Disable imports & exports 2024-12-30 15:07:27 +00:00
095b42fc97 Fix header hash calculation, implement import header testing from supplemental file 2024-11-04 14:33:53 +00:00
fe3bcce6bd Fix bug in page descriptor population code 2024-10-31 15:27:07 +00:00
8f84a3c5a0 Implement optional header data (mostly) 2024-10-29 13:34:40 +00:00
5c1b0a14c9 Implement page type determination 2024-10-26 00:16:39 +01:00
4681226be1 Implement basics of many important modules. 2024-10-25 09:18:19 +01:00