81 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
95b487a2a3
OcAppleKernelLib: Kext block strategy for prelinked (#320) 2022-02-11 10:54:30 +01:00
John Davis
91439cb72d OcAppleKernelLib: Implement correct OSBundleLibraries handling
OSBundleLibraries will be used on 32-bit when OSBundleLibraries and OSBundleLibraries64 are present, and OSBundleLibraries64 will be used on 64-bit when both are present.
2021-07-09 19:36:49 -05:00
Marvin Häuser
e1ee8d3578 OcAppleKernelLib: Fix potential NULL dereferences
Fixes Coverity 302191 and 302192
2021-02-21 10:42:19 +01:00
Marvin Häuser
3133f08db1 OcAppleKernelLib: Fix potential NULL dereference
Fixes Coverity 302189
2021-02-21 10:42:19 +01: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
Goldfish64
18ce64b408 OcAppleKernelLib: Fix previous commit 2020-09-13 12:16:24 -05:00
Goldfish64
d583e2031a OcAppleKernelLib: Only apply KC address fixup during block if KC 2020-09-13 10:57:53 -05: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
dde7432b62 OcAppleKernelLib: Implement KXLD symbolic solver 2020-08-22 09:11:28 +03:00
vit9696
b5dcbd32d1
OcAppleKernelLib: Implement KXLD link state handling (#101) 2020-08-16 00:33:56 +03:00
vit9696
f48c647b70 OcAppleKernelLib: Fix solving kernel symbols to zero in 11.0
Observed with Black80211 when trying to solve Black80211Control vtable
imports from IONetworkingFamily. When trying to look up
__ZNK19IONetworkController11getFeaturesEv it will be found not just in
IONetworkingFamily but also IO80211Family, where it is going to be
external undefined, i.e. Type = 0x1.
2020-08-10 21:28:39 +03:00
vit9696
ef8fdce8cd OcAppleKernelLib: Fix linking against injected kexts 2020-07-05 04:23:43 +03:00
vit9696
1ef945991a OcAppleKernelLib: Fix __LINKEDIT handling in KC mode 2020-07-04 19:04:06 +03:00
vit9696
605878e57a OcAppleKernelLib: Partially fix symbol resolution from kexts 2020-07-04 17:10:03 +03:00
Download-Fritz
07b697d28d OcMachoLib: Support KC Mach-Os 2020-07-04 15:28:22 +02:00
vit9696
e09b29d7e0 OcAppleKernelLib: Fix legacy kernel injection 2020-07-04 15:29:38 +03:00
vit9696
0271bacc27 OcAppleKernelLib: More progress with 11.0, many thx to @Download-Fritz 2020-07-04 01:58:04 +03:00
Download-Fritz
2ae43ab055 OcAppleKernelLib: Support KC kernel symbols and fix PLIST 2020-06-29 20:34:01 +02:00
vit9696
764c5c2277 OcAppleKernelLib: Continue working on KC prelinking 2020-06-29 08:45:42 +03:00
vit9696
44081eb08b OcAppleKernelLib: Make more progress with KC context init 2020-06-29 00:27:35 +03: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
vit9696
3ec848da3d Build: Replace RETURN_ macros with EFI_ 2020-04-18 15:55:05 +03:00
hieplpvip
91b1575828 OcAppleKernelLib: Fix typo in InternalGetQuirkDependencyKext (#16) 2019-10-06 13:50:35 +03:00
Download-Fritz
4917e8d73e OcGuardLib: Introduce OC_ALIGNOF and deprecate OC_ALIGNED 2019-08-28 15:37:55 +02:00
Download-Fritz
c8ffdfc13d OcAppleKernelLib: Ignore all missing kext dependencies 2019-07-07 20:30:30 +02:00
Download-Fritz
5b61c4e776 OcAppleKernelLib: W/A Catalina PLIST-only dependency 2019-07-06 22:31:36 +02:00
vit9696
951a668bc4 OcAppleKernelLib: Clarify Vtable TODO 2019-07-06 18:56:13 +03:00
Download-Fritz
ac698454a1 OcAppleKernelLib: Re-construct VTables to W/A StringTable relocation 2019-07-06 11:05:21 +02:00
Download-Fritz
8424fbebe1 OcAppleKernelLib: Allow KEXTs to not have a __LINKEDIT segment 2019-06-13 10:47:39 +02:00
Download-Fritz
7b06cbe369 OcAppleKernelLib: Fix LinkBuffer expansion for injected kexts past the first 2019-04-10 18:05:51 +02:00
Download-Fritz
aa490fa0e3 OcAppleKernelLib: Cosmetical changes. 2019-04-05 21:04:05 +02:00
Download-Fritz
a2945176f5 OcCompressionLib: Use zlib for MSVC. Remove sshzlib. 2019-04-05 14:00:51 +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
vit9696
20ebb4c57c OcAppleKernelLib: Add invariants for Mach-O context creation 2019-03-29 23:46:56 +03:00
vit9696
8255f23ff0 OcAppleKernelLib: Tune based on profiling data 2019-03-29 01:24:04 +03:00
Download-Fritz
5fa14fe4b6 OcAppleKernelLib: Rework memory leak fixes. 2019-03-28 12:24:49 +01:00
vit9696
9c64d37094 OcAppleKernelLib: Fix more memory leaks 2019-03-28 13:05:50 +03:00
Download-Fritz
be4d877b02 OcAppleKernelLib: Fix possible VTable memory leak on failure. 2019-03-28 10:24:48 +01:00
Download-Fritz
c8e4fe99da OcAppleKernelLib: Fix more BOOLEAN->EFI_STATUS. 2019-03-28 09:52:42 +01:00
Download-Fritz
3906be2bc8 OcAppleKernelLib: Fix return type BOOLEAN->EFI_STATUS. 2019-03-28 09:49:53 +01:00
Download-Fritz
69ff0f89e4 OcAppleKernelLib: Prevent memory leak on SymbolTable construction failure. 2019-03-28 09:22:20 +01:00
Download-Fritz
5e1df94834 OcAppleKernelLib: Fix LinkedVtables memory leak. 2019-03-27 20:06:49 +01:00
vit9696
f7f7a6795f OcAppleKernelLib: Implement workaround for linking against IOHIDSystem 2019-03-27 18:52:37 +03:00
Download-Fritz
27e0783af3 OcAppleKernelLib: Lookup prelinked VTables via Prelinked Symbol Table. 2019-03-27 13:52:09 +01:00
Download-Fritz
ad5d46f9af AppleOcKernelLib: Do not index STAB symbols when scanning prelinked KEXTs. 2019-03-27 13:08:56 +01:00