48 Commits

Author SHA1 Message Date
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
vit9696
b760f92fdb AppleKernelLib: Fix x86_64 OSBundleLibraries parsing and increase dependency limit 2019-03-26 22:13:20 +03:00
Download-Fritz
93fe656deb OcAppleKernelLib: OSBundleLibraries are optional. 2019-03-26 19:10:15 +01:00
Download-Fritz
181c393670 OcAppleKernelLib: Make prelinked VTable generation safer. 2019-03-26 12:19:43 +01:00
Download-Fritz
a455f1ebd3 OcAppleKernelLib: Store the Name pointer instead of StringIndex for prelinked symbols. 2019-03-25 19:11:22 +01:00
Download-Fritz
f534cf5874 OcAppleKernelLib: Fix VTable bounds checks.
* Only iterate Parent VTables within its bounds.
* Verify Child VTable size early as due to the parent's bounds, the next iteration step might not be reached.
* Do not verify MaxSize on retrieval when the VTableData is passed to a VTable function that checks it on its own.
2019-03-25 07:34:04 +01:00
vit9696
bc0af1edee OcAppleKernelLib: Optimize hot path on vtable lookup 2019-03-24 17:32:58 +03:00
Download-Fritz
896610d256 OcAppleKernelLib: Rework dependency symbol location. 2019-03-24 13:17:59 +01:00
vit9696
e169a7aa7e Ensure 1:1 disk:vm mach-o matching requirement during kext inject 2019-03-24 01:50:57 +03:00
Download-Fritz
a9c1f22db3 OcMachoLib: Optionally return MaxSize parameter for GetFileOffset.
OcAppleKernelLib: Adapt calls for security.
2019-03-23 17:36:40 +01:00
vit9696
fc6fbed67c Fix symbol retrieval logic in injected kext, still needs dysymtab correction 2019-03-23 15:05:13 +03:00
vit9696
e063fb9578 Fix kext size calculation during kernel injection 2019-03-23 15:05:13 +03:00
Download-Fritz
3f2d5aeda0 OcAppleKernelLib: Discard undefined and resolve indirect symbols of KPIs. 2019-03-23 15:05:12 +03:00
Download-Fritz
be49076782 OcAppleKernelLib: Always add the kernel as a dependency 2019-03-23 15:05:12 +03:00
Download-Fritz
75d81cce1a OcAppleKernelLib: Bounds-check VTable data. 2019-03-23 15:05:12 +03:00
vit9696
46eabae39f Link kexts against kernel and KPIs due to indirect symbols 2019-03-23 15:05:12 +03:00
Download-Fritz
160ca68cdc OcAppleKernelLib: Fix VTable count 2019-03-23 15:05:12 +03:00
vit9696
978714ae1d Link with the kernel directly for speed reasons
Otherwise we would need to solve KPI symbols first.
2019-03-23 15:05:12 +03:00
vit9696
6b11c5675c Partially fix logic in vtable parsing 2019-03-23 15:05:12 +03:00
vit9696
014ef59b45 Also fix vtable iteration 2019-03-23 15:05:12 +03:00
vit9696
69024af3bd Fix dependency handling logic 2019-03-23 15:05:12 +03:00
Download-Fritz
253d0b6284 OcAppleKernelLib: Implement VTable logic. 2019-03-23 15:05:12 +03:00
Download-Fritz
d92c167a0f OcAppleKernelLib: Move LinkBuffer allocation to the dependency walk 2019-03-23 15:05:12 +03:00
Download-Fritz
0bf7b5ce98 OcAppleKernelLib: Compilation fixes 2019-03-23 15:05:12 +03:00
Download-Fritz
f331523dda OcAppleKernelLib: Small security enhancements and warn instead of ASSERT more often 2019-03-23 15:05:12 +03:00
vit9696
868c064fb1 Get symbol location work 2019-03-23 15:05:12 +03:00
vit9696
9be9d50677 Implement support for linking on injected kext and fix minor issues 2019-03-23 15:05:12 +03:00
Download-Fritz
6ed3156eea Import prelinker trash 2019-03-23 15:05:12 +03:00
vit9696
30fb879941 Add internal symbol table stubs 2019-03-20 16:07:18 +03:00
vit9696
bec5a5457f Do recursive dependency solving for PRELINKED_KEXT 2019-03-20 15:30:32 +03:00
vit9696
6606886762 Add __LINKEDIT detection to scanning 2019-03-20 15:04:33 +03:00
vit9696
5f114618f1 Continue refactoring kext dependency management 2019-03-20 02:48:11 +03:00