90 Commits

Author SHA1 Message Date
Download-Fritz
8454cdd574 OcAppleKernelLib: Retrieve Relocation target via GetPointerByAddress API. 2019-03-23 21:03:54 +01:00
Download-Fritz
6bc824ff38 OcAppleKernelLib: Zero __LINKEDIT tail and LinkBuffer. 2019-03-23 17:59:26 +01:00
Download-Fritz
660cc9dc7f OcAppleKernelLib: Remove already performed alignment check. 2019-03-23 17:39:21 +01:00
Download-Fritz
a9c1f22db3 OcMachoLib: Optionally return MaxSize parameter for GetFileOffset.
OcAppleKernelLib: Adapt calls for security.
2019-03-23 17:36:40 +01:00
Download-Fritz
70278f9ef8 OcMachoLib and OcAppleKernelLib: Remove superfluous symbol range checks. 2019-03-23 17:35:27 +01:00
Download-Fritz
0769d63936 OcAppleKernelLib: Fix the upper boundary from last commit. 2019-03-23 16:10:04 +01:00
Download-Fritz
fccd02d540 OcAppleKernelLib: Verifiy Relocation target is in bounds before accessing. 2019-03-23 16:07:30 +01:00
vit9696
73a2be7637 Recover unnecessary command stripping 2019-03-23 18:03:07 +03:00
vit9696
72b4e55786 Fix invalid Mach-O command handling during kext injection 2019-03-23 17:17:33 +03:00
Download-Fritz
16028f123f OcAppleKernelLib: Scan own symbol table for C++ symbols too. 2019-03-23 15:05:13 +03:00
vit9696
fecc396a46 Do not set kmod header size, as it is incompatible with __TEXT permissions 2019-03-23 15:05:13 +03:00
Download-Fritz
d98cdf28ff OcAppleKernelLib: Add segment VM protection adaption. 2019-03-23 15:05:12 +03:00
Download-Fritz
96f3bff46c OcAppleKernelLib: Add symbol value sanity checks. 2019-03-23 15:05:12 +03:00
Download-Fritz
7f478c0051 OcAppleKernelLib: Update kmod_info after prelinking. 2019-03-23 15:05:12 +03:00
Download-Fritz
caf798b2c0 OcAppleKernelLib: Zero NumExternalSymbols after prelinking. 2019-03-23 15:05:12 +03:00
Download-Fritz
ae77243fd0 OcAppleKernelLib: Correctly assign symbol count. 2019-03-23 15:05:12 +03:00
Download-Fritz
e4784fdcbe OcAppleKernelLib: Correctly save LINKEDIT offsets relative to file start. 2019-03-23 15:05:12 +03:00
Download-Fritz
a59443f7f9 OcAppleKernelLib: Alignment is a power of 2. 2019-03-23 15:05:12 +03:00
Download-Fritz
212e3fbca8 OcAppleKernelLib: Use CopyMem() for potentially unaligned memory accesses. 2019-03-23 15:05:12 +03:00
Download-Fritz
9d9b96112a OcAppleKernelLib: Tolerate invalid VTable offsets. 2019-03-23 15:05:12 +03:00
Download-Fritz
a0e95fb9fb OcAppleKernelLib: Remove faulty padslot relocation sanity check. 2019-03-23 15:05:12 +03:00
Download-Fritz
dbf90dbd2a OcAppleKernelLib: Treat scattered relocs as normal ones, as done in KXLD. Check relocation skipability earlier. 2019-03-23 15:05:12 +03:00
Download-Fritz
5d434aded5 OcAppleKernelLib: Fix prelinking finalization. 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
bc3dcc55db OcAppleKernelLib: Fix symbol location recursion 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
Download-Fritz
3cec6117ec Do not error when failing to find a resolution symbol 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
6ff5a4dfc3 Remove invalid assertions 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
5f114618f1 Continue refactoring kext dependency management 2019-03-20 02:48:11 +03:00
vit9696
cba5bac94a Start importing prelinker 2019-03-19 22:31:15 +03:00