31 Commits

Author SHA1 Message Date
Marvin Häuser
d916dd65b8 OcMachoLib: Treat container Mach-O as reference file
As of macOS 13 Developer Beta 3, the Kernel Collection's inner kernel
references a segment that precedes itself. The current model is that
a Kernel Collection is a container format and the included files are
(mostly) separate. Hence, this was treated as an out-of-bounds issue.
Kernel Collections apparently are rather an unconventional composite
format, where the sub-files are still part of the whole. Redesign
OcMachoLib to treat the Kernel Collection as the reference file.
Patches still use only the inner file, while parsing considers the
whole file.
2022-07-07 17:52:25 +02:00
PMheart
228f8ca1fb Codestyle: Apply codestyle changes with Uncrustify 2022-04-25 14:51:15 +02:00
John Davis
676ef93d9d
OcAppleKernelLib: Add 32-bit prelinking support (#122) 2020-09-29 12:41:37 +03:00
vit9696
c3e14b6824
OcAppleKernelLib: Implement mkext injection support (#99) 2020-08-15 00:40:06 +03:00
Download-Fritz
7aa35ede0e OcMachoLib: Skip section-based relocs with ABS SymbolNumber. 2019-03-26 21:10:57 +01:00
Download-Fritz
c814d82ef1 OcMachoLib: Introduce GetSymbolbyExternReloc API. 2019-03-26 17:18:02 +01:00
Download-Fritz
b5ccf1f93b OcMachoLib: Support local relocations when getting a symbol by offset. 2019-03-26 15:34:33 +01:00
Download-Fritz
67e445f97b OcMachoLib: Do not assume DySymtab is available 2019-03-21 21:19:31 +01:00
Download-Fritz
5f5c379c2c Fix a couple of type mismatches 2019-03-09 15:02:18 +01:00
vit9696
caabf0b2ab Continue fixing and refactoring OcMachoLib 2019-01-16 17:46:10 +03:00
vit9696
69f441b5ec Restore OcMachoLib interfaces for convenience resons 2019-01-15 23:34:01 +03:00
Download-Fritz
793b78d103 OcMachoLib: Revise several function prorotypes and checks as part of security considerations. 2019-01-12 22:57:57 +01:00
Download-Fritz
dde6882ba3 OcMachoLib: Drop inconvenient CONST qualifiers. 2019-01-05 15:37:14 +01:00
Download-Fritz
f94f6c5645 OcMachoLib: Fix Relocation iteration index overflow. 2018-11-06 09:09:01 +01:00
Download-Fritz
b14efc6136 OcMachoLib: Catch potential Index overflow when iterating over Relocations. 2018-11-04 09:14:44 +01:00
Download-Fritz
524732e0ef OcMachoLib: Use UINT32 variables to refer to UINT32 Mach-O structure data. 2018-11-04 09:14:20 +01:00
Download-Fritz
4b4e518567 OcMachoLib: Expand internal CONST usage and remove related redundant casts. 2018-11-04 09:02:15 +01:00
Download-Fritz
358bd77828 OcMachoLib: Move check for previous retrieval of SYMTAB to the retrieval function. 2018-11-03 19:49:44 +01:00
Download-Fritz
987172c4c0 OcMachoLib: Prefer Index over Walkers when available. 2018-11-03 19:48:12 +01:00
Download-Fritz
92bbf6d606 OcMachoLib: Use incomplete type completed within the library as Context. 2018-10-21 17:19:40 +02:00
Download-Fritz
d6636d80ba OcMachoLib: Return non-CONST pointers. 2018-10-21 15:08:23 +02:00
Download-Fritz
59c2692fa2 OcMachoLib: Clearify assumptions in InternalGetExternalRelocationByOffset(). 2018-10-21 15:03:16 +02:00
Download-Fritz
4265923609 OcMachoLib: No longer expose GetExternalRelocationByOffset(). 2018-10-21 14:55:01 +02:00
Download-Fritz
3299b3e158 OcMachoLib: Mark Context as IN OUT non-CONST. 2018-10-21 05:35:21 +02:00
Download-Fritz
2071d6643d OcMachoLib: Retrieve SYMTAB and DYSYMTAB via Context. Do not expose SYMTAB and DYSYMTAB directly. 2018-10-21 05:16:22 +02:00
Download-Fritz
5b67566e6f OcMachoLib: Fix "Mach-O" stylization. 2018-10-20 02:13:15 +02:00
Download-Fritz
2c26827077 OcMachoLib: Make OC_MACHO_CONTEXT struct private. Provide MachoGetContextSize(). 2018-10-19 18:17:12 +02:00
Download-Fritz
c6bf9d0590 OcMachoLib: Introduce Context concept. 2018-10-19 05:55:38 +02:00
Download-Fritz
364927a336 OcMachoLib: Replace CpuType with MachHeader arguments for unconditional checks are needed anyway. 2018-10-15 03:57:08 +02:00
Download-Fritz
f0ef9a23a7 OcMachoLib: Remove accidentially imported function. 2018-10-14 04:37:21 +02:00
Download-Fritz
6b3c6347c8 OcMachoLib: Initial import. 2018-10-14 04:17:50 +02:00