38 Commits

Author SHA1 Message Date
vit9696
d8ace47606 OcAppleKernelLib: Fix patching KC vtables with imports from kexts 2020-07-05 23:18:10 +03:00
vit9696
995924032c OcAppleKernelLib: Get kernel patcher work (mostly) 2020-07-05 04:23:43 +03:00
vit9696
ebdc3fa056 OcAppleKernelLib: Start building new Mach-O functions 2020-06-27 20:55:16 +03:00
vit9696
3ec848da3d Build: Replace RETURN_ macros with EFI_ 2020-04-18 15:55:05 +03:00
vit9696
1560cec90c OcGuardLib: Switch to edk2-stable201911 2019-11-29 17:32:17 +03:00
vit9696
ad640248f6 OcGuardLib: Drop global/inline static assert separation 2019-08-18 19:24:01 +03:00
Download-Fritz
8424fbebe1 OcAppleKernelLib: Allow KEXTs to not have a __LINKEDIT segment 2019-06-13 10:47:39 +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
vit9696
8255f23ff0 OcAppleKernelLib: Tune based on profiling data 2019-03-29 01:24:04 +03:00
Download-Fritz
afc7db0518 OcAppleKernelLib: Revert swapping of Value and Name for symbols to improve performance. 2019-03-28 21:17:15 +01:00
Download-Fritz
27e0783af3 OcAppleKernelLib: Lookup prelinked VTables via Prelinked Symbol Table. 2019-03-27 13:52:09 +01:00
vit9696
b760f92fdb AppleKernelLib: Fix x86_64 OSBundleLibraries parsing and increase dependency limit 2019-03-26 22:13:20 +03:00
Download-Fritz
181c393670 OcAppleKernelLib: Make prelinked VTable generation safer. 2019-03-26 12:19:43 +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
e0309eecd4 OcAppleKernelLib: Self-scanning VTable function. 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
Download-Fritz
53c59b3723 OcAppleKernelLib: Prepare new VTable patching concept.
No functional changes are intended.
2019-03-25 16:03:39 +01:00
vit9696
bc0af1edee OcAppleKernelLib: Optimize hot path on vtable lookup 2019-03-24 17:32:58 +03:00
Download-Fritz
3a1cb95a6c OcAppleKernelLib: Join the VTable patching functions. 2019-03-24 13:53:05 +01: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
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
ceb67d5eae OcAppleKernelLib: Remove an unused VTable function. 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
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
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
4da6a13edd Patch VTables before symbol resolution 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
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