2227 Commits

Author SHA1 Message Date
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
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
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
Download-Fritz
c5b89cd21e OcAppleKernelLib: Fix VTable indices. 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
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
Download-Fritz
160ca68cdc OcAppleKernelLib: Fix VTable count 2019-03-23 15:05:12 +03:00
vit9696
4db96a0161 Set and initialiase number of entries in a vtable 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
72797bbc9c Implement ugly hack to prelinked hex value printing 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
46ff4d4c40 OcAppleKernelLib: Fix ASSERT from last commit 2019-03-23 15:05:12 +03:00
Download-Fritz
402ad92363 OcAppleKernelLib: Fix InternalPrepareCreateVtablesPrelinked64 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
Download-Fritz
0ce7e1ec99 OcMachoLib: Update GetSymbolByRelocOffset interface to report Relocation existance. 2019-03-23 11:51:15 +01:00
Michael Belyaev
eda77537cc Added lost file 2019-03-22 15:08:43 +03:00
Michael Belyaev
43cffc0a49 Move patches into CommonPatches.c 2019-03-22 14:18:32 +03:00
Download-Fritz
b18a2feeec OcMachoLib: Allow for relocation of external symbols. 2019-03-22 11:52:43 +01:00
Download-Fritz
67e445f97b OcMachoLib: Do not assume DySymtab is available 2019-03-21 21:19:31 +01:00
Michael Belyaev
d59b78fad4 Add AppleIntelCPUPowerManagement patches 2019-03-21 20:03:59 +03:00
vit9696
b7734fc3d5 Fix FSBFrequency and thread count detection on Penryn 2019-03-20 23:29:46 +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
vit9696
dcbb94fa5c Cache discovered kexts and implement PRELINKED_KEXT structure 2019-03-20 00:54:51 +03:00
vit9696
59f86290b6 Add missing Mach-O dependencies 2019-03-19 23:16:17 +03:00
vit9696
cba5bac94a Start importing prelinker 2019-03-19 22:31:15 +03:00
vit9696
a9b3b67c63 Implement load and kmod address calculation in kext inject 2019-03-19 21:34:15 +03:00