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