Commit Graph

48 Commits

Author SHA1 Message Date
Nikita Smith 2b02f5cec6 lifetime fixes
- fully serialize the lib because we cannot guarantee that its members
  will have the same lifetime as the serialized lib
- put import stub symbols on the symbol table arena
2025-08-10 21:35:33 -07:00
Nikita Smith 2ba9f2a61b fix uinited var warning 2025-06-25 10:53:24 -07:00
Nikita Smith a4b4d5799a fixes for delay import by ordinal and null terminate ILT, IAT, BIAT, and UIAT 2025-06-25 10:53:24 -07:00
Nikita Smith 25710d39b7 test optional header fields 2025-06-25 10:53:24 -07:00
Nikita Smith 578a7ebdee factor out pdata code to PE layer 2025-06-25 10:53:23 -07:00
Nikita Smith e1278a6545 null terminate static imports 2025-06-25 10:53:23 -07:00
Nikita Smith 86556c68ed point TLS directory to TLS header 2025-06-25 10:53:23 -07:00
Nikita Smith e911bf5368 move obj writer for PE debug directory to stand-alone file 2025-06-25 10:53:23 -07:00
Nikita Smith d51fe49bab delay import fix 2025-06-25 10:53:23 -07:00
Nikita Smith 4aa6e6d132 store symbol links for COMDAT 2025-06-25 10:53:23 -07:00
Nikita Smith f0a967a15d don't create BIAT and UIAT sections when not requested 2025-06-25 10:53:23 -07:00
Nikita Smith d22962af8d warn about exporting entry point symbol 2025-06-25 10:53:22 -07:00
Nikita Smith 1cc23e42ff delay import objs 2025-06-25 10:53:22 -07:00
Nikita Smith c209dd730a set ordinal low in export finalize path 2025-06-25 10:53:22 -07:00
Nikita Smith f467ff8822 WIP move export and import table make code to appropriate layers 2025-06-25 10:53:22 -07:00
Nikita Smith c55c60549e export virtual ranges for data directories 2025-06-25 10:53:22 -07:00
Nikita Smith f37f94a2b9 minor fixes 2025-06-25 10:53:22 -07:00
Nikita Smith 174c6ebb7d bugfix data directory range export 2025-06-25 10:53:21 -07:00
Nikita Smith ada037cb88 export range for data directories, subsystem, and check sum 2025-06-25 10:53:21 -07:00
Nikita Smith b9768be4ed tester for linkers 2025-06-25 10:53:21 -07:00
Ryan Fleury 49de09883e plug in dwarf converter to radbin; hook up to both rdi generation & breakpad generation; radbin exe -> pdb / elf -> dwarf inferences; cleanup / unification passes 2025-06-10 08:53:57 -07:00
Ryan Fleury 94b969f203 copyright year 2025-06-02 14:13:57 -07:00
Nikita Smith 8beb168905 went over COFF string table and changed the parser code accept to String8 2025-04-04 15:45:51 -07:00
Nikita Smith 1c518bfa07 prefix COFF machine enums with "Type" 2025-03-31 22:53:10 -07:00
Nikita Smith 8a8a8bcc8d resource id compar typo 2025-02-25 14:41:34 -08:00
Nikita Smith 8d9f85bfcc move magic check to PE layer 2025-02-25 14:41:15 -08:00
Nikita Smith d9874e8f2f bugfix resource compar 2025-02-02 00:06:07 -08:00
Nikita Smith 153bbc7b1d pass over COFF layer
- updated naming convention on structs, enums, and macros to conform with code base style
- moved related structs closer to each other
- moved parser code to separate file
2025-01-20 19:31:52 -08:00
Nikita Smith b889765c15 updated PE bin info to handle RDI entry, changed raddump to
convert and load RDI from memory, added helper for parsing debug directory
2025-01-14 16:49:05 -08:00
Nikita Smith 48cb999c3d format VC Features and COFF Group in debug directory 2024-12-10 13:47:47 -08:00
Nikita Smith 9ff49c33cc validate export table fields 2024-12-10 13:44:09 -08:00
Nikita Smith dd3b4a025d advance offset 2024-12-09 15:49:34 -08:00
Nikita Smith db82b2ea63 remove dependency on bin info from base reloc parser 2024-12-09 15:24:18 -08:00
Nikita Smith 6cf42338ba clang build fixes 2024-12-06 12:05:44 -08:00
Nikita Smith 86db833a83 pass over PE
* upgraded PE with parsers for imports, exports, and tls
* added struct definitions for image load config and debug dir structs
2024-12-06 11:53:16 -08:00
Nikita Smith 214be8c433 moved Guid struct and related helpers to base 2024-11-07 11:54:25 -08:00
Nikita Smith baead67a99 minor fixes 2024-10-30 15:42:39 -07:00
Nikita Smith 800a2349e5 pass over COFF resource reader and writer 2024-10-19 13:44:36 -07:00
Nikita Smith 0cf553e39a minor fixes 2024-10-15 17:24:29 -07:00
Nikita Smith 3f88b83fdb pe: added helpers for image checksum debug directory, and entry point names 2024-10-11 16:15:55 -07:00
Ryan Fleury 9932a30ef9 entity parameter tree equipment; architecture -> arch 2024-08-29 13:16:50 -07:00
Ryan Fleury b18e437337 git normalize all files 2024-07-26 11:13:47 -07:00
Ryan Fleury 33ab26dfb3 begin porting unwinder to ctrl layer, just built purely on in-process memory, and getting completely off of parsed binary image artifacts 2024-05-16 15:39:57 -07:00
Ryan Fleury 0d0c599e00 begin process of moving pe unwinding info into pe layer; more demon2 work checkpoint 2024-03-05 16:54:57 -08:00
Ryan Fleury 04def874eb also don't assume we even have the PE exception data directory 2024-01-23 15:49:56 -08:00
Ryan Fleury 94b1888073 dont assume in-bounds intel pdata ranges 2024-01-23 15:45:21 -08:00
Ryan Fleury 804a8406b9 eliminate assumptions of module presence in unwinding codepaths, & callstack UI; fixes callstacks for JIT'd code 2024-01-23 14:26:43 -08:00
Ryan Fleury a42ec6aeff initial upload 2024-01-10 19:57:50 -08:00