97 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
PMheart
89f40f6ea8 OcAppleKernelLib: Fix variable initialisation 2022-03-01 21:55:02 +01:00
Marvin Häuser
5cd223f03d OcAppleKernelLib: Log when requested symbol has 0 value 2021-04-07 16:43:27 +02:00
John Davis
676ef93d9d
OcAppleKernelLib: Add 32-bit prelinking support (#122) 2020-09-29 12:41:37 +03:00
John Davis
74062d4e0f
OcAppleKernelLib: Add 32-bit Mach-O and patching support (#118) 2020-09-13 22:57:10 +03:00
vit9696
520d27d66d OcAppleKernelLib: Fix KPI handling in 10.6 prelinkedkernel
Resolves issues injecting AppleIntelE1000e.kext referencing IOLockLock
2020-08-27 01:38:13 +03:00
vit9696
748b0ea20e OcAppleKernelLib: Fix incorrect assertion on zero relocations 2020-07-07 12:13:57 +03:00
vit9696
d8ace47606 OcAppleKernelLib: Fix patching KC vtables with imports from kexts 2020-07-05 23:18:10 +03:00
vit9696
0b3dcf4f7e OcAppleKernelLib: Improve handling of KC DySymtab 2020-07-04 20:21:37 +03:00
Download-Fritz
07b697d28d OcMachoLib: Support KC Mach-Os 2020-07-04 15:28:22 +02:00
vit9696
e6bec3ae80 Debug: Fix some log tags 2020-05-17 16:53:02 +03:00
Download-Fritz
cf05a42605 OcAppleKernelLib: Relieve __LINKEDIT presence expectations
KPIs in Mountain Lion expose symbols but do not have a __LINKEDIT segment.
2020-04-23 22:24:00 +02:00
Download-Fritz
4dab6b508a OcAppleKernelLib: Avoid NULL 0-offset UB 2020-04-23 19:59:32 +02:00
vit9696
3ec848da3d Build: Replace RETURN_ macros with EFI_ 2020-04-18 15:55:05 +03:00
vit9696
867000cd07 Build: Improve IA32 compat based on @nms42 patches
closes acidanthera/bugtracker#645
closes acidanthera/bugtracker#646
closes acidanthera/bugtracker#647
2020-01-11 04:51:46 +03:00
vit9696
4421b5a758 OcBootManagementLib: Debug restyle 2019-11-04 18:51:48 +03:00
Download-Fritz
05127da085 OcMachoLib: Add explicit casts to silence MSVC for IA32 targets 2019-11-03 16:46:35 +01:00
Download-Fritz
1d2e449f56 Multiple: Fix 32-bit linking issues 2019-11-03 15:43:59 +01:00
Download-Fritz
156cb7c586 Various type and cast fixes 2019-11-02 23:16:33 +01:00
Download-Fritz
6c882e1cbc OcMachoLib/OcAppleKernelLib: Support Kernel Resource KEXTs 2019-09-07 17:28:36 +02:00
Download-Fritz
af56e9fd28 OcAppleKernelLib: Correct status code mismatches 2019-09-07 12:21:56 +02:00
Download-Fritz
c698bcb68c OcMachoLib: Fix security and parsing issues 2019-08-28 16:02:19 +02:00
Download-Fritz
4917e8d73e OcGuardLib: Introduce OC_ALIGNOF and deprecate OC_ALIGNED 2019-08-28 15:37:55 +02:00
Download-Fritz
aa490fa0e3 OcAppleKernelLib: Cosmetical changes. 2019-04-05 21:04:05 +02:00
vit9696
dfe7f8f5d4 analysis: Fix warnings 2019-04-03 06:37:38 +03:00
vit9696
7f296b49d0 OcAppleKernelLib: Fix vtable building for dependency kexts 2019-04-01 18:53:44 +03:00
Download-Fritz
350ac16aec OcAppleKernelLib: Fix weak symbol resolution. 2019-03-29 15:59:40 +01:00
Download-Fritz
79f197a69a OcAppleKernelLib: Fix typo 2019-03-29 12:46:24 +01:00
Download-Fritz
2ded74700c OcAppleKernelLib: Reference (Dy)Symtab by the variable for readability. 2019-03-29 12:45:48 +01:00
Download-Fritz
4837db2789 OcAppleKernelLib: Initialize Symtab and DySymtab early. 2019-03-29 12:43:45 +01:00
Download-Fritz
826d078efd OcMachoLib and OcAppleMachoLib: Silence type warnings. 2019-03-29 10:38:42 +01:00
vit9696
8255f23ff0 OcAppleKernelLib: Tune based on profiling data 2019-03-29 01:24:04 +03:00
Download-Fritz
0cd59e79c1 OcAppleKernelLib: Assign expanded size to LinkEdit->FileSize. 2019-03-28 20:05:55 +01:00
Download-Fritz
3569db702d OcAppleKernelLib: Verify indirect symbol pointer alignments. 2019-03-28 19:22:33 +01:00
Download-Fritz
eee3a46295 OcAppleKernelLib: Process indirect symbols. 2019-03-28 19:18:05 +01:00
Download-Fritz
25ea29a92d OcAppleKernelLib: Reassign RelocationsSize after preserving relocs. 2019-03-28 19:06:41 +01:00
Download-Fritz
738c81e03f OcAppleKernelLib: Zero external reloc offset after prelinking. 2019-03-27 18:45:02 +01:00
Download-Fritz
7c8f51f6f2 OcAppleKernelLib: Remove superfluous STAB check. 2019-03-27 15:20:12 +01:00
vit9696
786b78710b OcAppleKernelLib: Fix vtable integer overflow 2019-03-27 02:30:35 +03:00
Download-Fritz
37e30743fd OcAppleKernelLib: Do not resolve STABs or use them for kmod_info/SMCPs. 2019-03-26 23:16:56 +01:00
vit9696
b9988453e3 OcMachoLib: Fix symbol type comparison 2019-03-27 00:10:21 +03:00
Download-Fritz
61244b5fca OcMachoLib and OcAppleKernelLib: Properly error-check section indices. 2019-03-26 21:20:17 +01:00
Download-Fritz
ac1a32f41e OcAppleKernelLib: Clarify SymbolNumber may not be 0 for sections.
Wrapping around to MAX_UINT32 will cause failure as NumSymbols is UINT32, however it's better to be clear.
2019-03-26 09:41:49 +01:00
Download-Fritz
8995e023aa OcAppleKernelLib: Correctly locate section relocation address. 2019-03-26 09:39:15 +01:00
Download-Fritz
9ed4fd0181 OcAppleKernelLib: Prevent VTable patch data from overflowing LinkBuffer. 2019-03-25 20:42:07 +01:00
Download-Fritz
3907c0633c OcAppleKernelLib: Switch VTable lookup to Worker model. 2019-03-25 19:11:23 +01:00
Download-Fritz
d8d60dfd7c OcAppleKernelLib: Self-scanning symbol lookup functions 2019-03-25 19:11:22 +01:00
Download-Fritz
a455f1ebd3 OcAppleKernelLib: Store the Name pointer instead of StringIndex for prelinked symbols. 2019-03-25 19:11:22 +01:00
vit9696
bc0af1edee OcAppleKernelLib: Optimize hot path on vtable lookup 2019-03-24 17:32:58 +03:00