138 Commits

Author SHA1 Message Date
Download-Fritz
738c81e03f OcAppleKernelLib: Zero external reloc offset after prelinking. 2019-03-27 18:45:02 +01:00
vit9696
f7f7a6795f OcAppleKernelLib: Implement workaround for linking against IOHIDSystem 2019-03-27 18:52:37 +03:00
Download-Fritz
7c8f51f6f2 OcAppleKernelLib: Remove superfluous STAB check. 2019-03-27 15:20:12 +01: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
Download-Fritz
146faf684d OcAppleKernelLib: Skip STABs during prelinked KEXT VTable enum. 2019-03-27 10:47:32 +01:00
vit9696
5d1901ac52 OcAppleKernelLib: Fix uninitialised data access caused by improper vtable construction 2019-03-27 09:37:02 +03:00
vit9696
cc254d2ae3 OcAppleKernelLib: Revert invalid 9f791d4 and change USB limit patch order 2019-03-27 08:55:35 +03:00
vit9696
786b78710b OcAppleKernelLib: Fix vtable integer overflow 2019-03-27 02:30:35 +03:00
vit9696
578ede29e8 OcAppleKernelLib: Add more debug info and increase test size 2019-03-27 01:56:13 +03:00
vit9696
1dc487c6da Add IOUSBHostFamily patch for XHCI patch 2019-03-27 01:30:29 +03:00
Download-Fritz
37e30743fd OcAppleKernelLib: Do not resolve STABs or use them for kmod_info/SMCPs. 2019-03-26 23:16:56 +01:00
PMheart
9f791d4392 OcAppleKernelLib: Corrected mistakes in PatchUsbXhciPortLimit. 2019-03-27 05:42:59 +08:00
vit9696
b9988453e3 OcMachoLib: Fix symbol type comparison 2019-03-27 00:10:21 +03:00
Download-Fritz
61244b5fca OcMachoLib and OcAppleKernelLib: Properly error-check section indices. 2019-03-26 21:20:17 +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
362d2ba795 OcAppleKernelLib: Verify VTable length only via extern relocs. 2019-03-26 17:18:22 +01:00
Download-Fritz
074c25fcc9 OcAppleKernelLib: Fix VTable patching walk. 2019-03-26 17:01:05 +01:00
Download-Fritz
f23304aeda OcAppleKernelLib: Make VTable iteration easier to read. 2019-03-26 16:40:42 +01:00
Download-Fritz
6e002e3259 OcAppleKernelLib: Slightly nicer VTable patch construction. 2019-03-26 16:35:24 +01:00
Download-Fritz
4c518b90f6 OcAppleKernelLib: Two VTables are constructed per iteration. 2019-03-26 16:34:21 +01:00
Download-Fritz
d40c3b96b5 OcAppleKernelLib: Do not mess up VTable entry order. 2019-03-26 16:02:00 +01:00
Download-Fritz
b5ccf1f93b OcMachoLib: Support local relocations when getting a symbol by offset. 2019-03-26 15:34:33 +01:00
Download-Fritz
422dd9e146 OcAppleKernelLib: Make VTable iteration more readable. 2019-03-26 12:20:01 +01:00
Download-Fritz
181c393670 OcAppleKernelLib: Make prelinked VTable generation safer. 2019-03-26 12:19:43 +01:00
Download-Fritz
b142f829e2 OcAppleKernelLib: Fix VTable handling of inlined definitions. 2019-03-26 12:18:28 +01:00
Download-Fritz
ac1a32f41e OcAppleKernelLib: Clarify SymbolNumber may not be 0 for sections.
Wrapping around to MAX_UINT32 will cause failure as NumSymbols is UINT32, however it's better to be clear.
2019-03-26 09:41:49 +01:00
Download-Fritz
8995e023aa OcAppleKernelLib: Correctly locate section relocation address. 2019-03-26 09:39:15 +01:00
Download-Fritz
780777675e OcAppleKernelLib: Include non-local VTable entries when counting. 2019-03-26 09:20:17 +01:00
Download-Fritz
a9377567c5 OcAppleKernelLib: Verify Symbol is non-NULL before adding to VTable. 2019-03-26 07:10:34 +01:00
Download-Fritz
9ed4fd0181 OcAppleKernelLib: Prevent VTable patch data from overflowing LinkBuffer. 2019-03-25 20:42:07 +01:00
Download-Fritz
e455442bd2 OcAppleKernelLib: Fix inaccurate VTable patching symbol range. 2019-03-25 20:17:00 +01:00
Download-Fritz
658fe6310a OcAppleKernelLib: Fix inaccurate VTable patch data collection. 2019-03-25 20:10:43 +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
d8d60dfd7c OcAppleKernelLib: Self-scanning symbol lookup functions 2019-03-25 19:11:22 +01:00
Download-Fritz
9884b87516 OcAppleKernelLib: Build patched VTables during prelinking. 2019-03-25 19:11:22 +01:00
Download-Fritz
ad38c49b66 OcAppleKernelLib: Ignore missing VTable resolution symbols during iteration. 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
vit9696
0badcb3cb4 OcAppleKernelLib: Cleanup kext patching code 2019-03-25 20:09:55 +03:00
vit9696
4d9d4bbd1a OcAppleKernelLib: Fix number to string conversion 2019-03-25 19:39:32 +03:00
Download-Fritz
53c59b3723 OcAppleKernelLib: Prepare new VTable patching concept.
No functional changes are intended.
2019-03-25 16:03:39 +01:00
Download-Fritz
ac47a671a0 OcAppleKernelLib: Rework IntoToHex implementation. 2019-03-25 14:44:10 +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
3a1cb95a6c OcAppleKernelLib: Join the VTable patching functions. 2019-03-24 13:53:05 +01:00
Download-Fritz
14bbce27ca OcAppleKernelLib: Skip previously patched VTables. 2019-03-24 13:47:23 +01:00
Download-Fritz
2d3d2997b5 OcAppleKernelLib: Fix SMCP storage. 2019-03-24 13:43:32 +01:00
Download-Fritz
896610d256 OcAppleKernelLib: Rework dependency symbol location. 2019-03-24 13:17:59 +01:00