63 Commits

Author SHA1 Message Date
vit9696
dfe7f8f5d4 analysis: Fix warnings 2019-04-03 06:37:38 +03:00
Download-Fritz
bbea9dba45 OcMachoLib: Retrieve symbol section via Section instead of Value. 2019-03-26 23:16:56 +01:00
Download-Fritz
2ac0ee8085 OcMachoLib: Correctly detect symbol definition and section type. 2019-03-26 23:16:56 +01:00
Download-Fritz
f1ab3b85e9 OcAppleKernelLib: STAB symbols are not considered defined. 2019-03-26 22:23:25 +01: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
Download-Fritz
c814d82ef1 OcMachoLib: Introduce GetSymbolbyExternReloc API. 2019-03-26 17:18:02 +01:00
Download-Fritz
ff3563866d OcMachoLib: Sanity-check symbols referenced by local relocs. 2019-03-26 17:02:02 +01:00
Download-Fritz
c934495c0f OcMachoLib: Skip when an insane symbol is hit. Don't re-sanity-check. 2019-03-26 17:01:38 +01:00
Download-Fritz
6e194294dd OcMachoLib: Assume relocation target is aligned. 2019-03-26 16:02:33 +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
3b5b866144 OcMachoLib: Consider indirect Symbol Table might be separate from Symbol Table. 2019-03-24 18:32:40 +01:00
Download-Fritz
dce8966c9e OcMachoLib: Remove superfluous 32-bit limit check. 2019-03-23 20:27:27 +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
0ce7e1ec99 OcMachoLib: Update GetSymbolByRelocOffset interface to report Relocation existance. 2019-03-23 11:51:15 +01: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
vit9696
59f86290b6 Add missing Mach-O dependencies 2019-03-19 23:16:17 +03:00
vit9696
b05b5a66d1 Implement kext patcher with symbolic resolver in OcAppleKernelLib
1. Add support for parsing ID/IDREF in OcXmlLib.
2. Add support for parsing hex numbers in OcXmlLib.
3. Fix buggy MachoSymbolGetFileOffset64 mishandling section numbers.
2019-03-18 00:57:20 +03:00
Download-Fritz
5f5c379c2c Fix a couple of type mismatches 2019-03-09 15:02:18 +01:00
vit9696
a471bd6c61 Late touches on OcMachoLib 2019-01-17 10:01:26 +03:00
vit9696
caabf0b2ab Continue fixing and refactoring OcMachoLib 2019-01-16 17:46:10 +03:00
vit9696
aca4a620ac Fix sanity of symbol retrieval code 2019-01-16 13:15:22 +03:00
vit9696
69f441b5ec Restore OcMachoLib interfaces for convenience resons 2019-01-15 23:34:01 +03:00
vit9696
a43cb1386e Start cleaning up OcMachoLib 2019-01-15 18:23:29 +03:00
Download-Fritz
793b78d103 OcMachoLib: Revise several function prorotypes and checks as part of security considerations. 2019-01-12 22:57:57 +01:00
Download-Fritz
dde6882ba3 OcMachoLib: Drop inconvenient CONST qualifiers. 2019-01-05 15:37:14 +01:00
Download-Fritz
7c8347f0ad OcMachoLib: ASSERT for UINT32 limitation assumption in the symbol code. 2019-01-05 15:29:21 +01:00
Download-Fritz
62c681dd9f OcMachoLib: Fix function prototype from last commit. 2018-11-10 10:57:46 +01:00
Download-Fritz
51c63ec135 OcMachoLib: Introduce MachoSymbolGetFileOffset64() API. 2018-11-10 10:53:11 +01:00
Download-Fritz
97718a7599 OcMachoLib: Safety improvements, including overflow checks.
* Check for offset and address overflows
* Properly sanity-check sections
* Fix an issue misusing Section->Alignment
2018-11-07 10:18:19 +01:00
Download-Fritz
97da06f663 OcMachoLib: use UINT32 for FileSize and all offsets. 2018-11-06 09:08:46 +01:00
Download-Fritz
ff6a9b83eb OcMachoLib: Ensure string index sanity when retrieving an indirect symbol's name. 2018-11-04 10:30:33 +01:00
Download-Fritz
649679570a OcMachoLib: Use MachoGetSymbolName64() internally. 2018-11-04 09:55:31 +01:00
Download-Fritz
4241912574 OcMachoLib: Publish updated Context struct to support static allocations. 2018-11-04 09:06:50 +01:00
Download-Fritz
4b4e518567 OcMachoLib: Expand internal CONST usage and remove related redundant casts. 2018-11-04 09:02:15 +01:00
Download-Fritz
df54805a92 OcMachoLib: Always return Mach-O memory as CONST. 2018-11-04 08:42:04 +01:00
Download-Fritz
358bd77828 OcMachoLib: Move check for previous retrieval of SYMTAB to the retrieval function. 2018-11-03 19:49:44 +01:00
Download-Fritz
bb0813001d OcMachoLib: Remove redundant symbol sanity check. 2018-11-03 19:47:11 +01:00
Download-Fritz
c3d4298326 OcMachoLib: Introduce symbol name retrieval functions. 2018-10-21 21:54:31 +02:00
Download-Fritz
92bbf6d606 OcMachoLib: Use incomplete type completed within the library as Context. 2018-10-21 17:19:40 +02:00
Download-Fritz
8dc4c32544 OcMachoLib: Correctly recognize symbol as local when there are no undefined symbols. 2018-10-21 15:12:54 +02:00
Download-Fritz
563e61ebcf OcMachoLib: Import MachoIsSymbolValueSane64(). 2018-10-21 15:10:56 +02:00
Download-Fritz
d6636d80ba OcMachoLib: Return non-CONST pointers. 2018-10-21 15:08:23 +02:00
Download-Fritz
aa68a1e6ee OcMachoLib: Fix lack of SYMTABs retrieval when locating a symbol by its index. 2018-10-21 14:59:32 +02:00
Download-Fritz
4265923609 OcMachoLib: No longer expose GetExternalRelocationByOffset(). 2018-10-21 14:55:01 +02:00
Download-Fritz
bcdddbd9ae OcMachoLib: Update MachoGetMetaclassSymbolFromSmcpSymbol64() to use the new public APIs. Removes MachoGetCxxSymbolByExternRelocation64(). 2018-10-21 14:53:18 +02:00
Download-Fritz
48ea3b19f1 OcMachoLib: Get C++ symbols via relocations only from the extern ones. 2018-10-21 14:39:04 +02:00
Download-Fritz
38a311d72d OcMachoLib: Introduce MachoGetSymbolByExternRelocationOffset64(). 2018-10-21 14:19:25 +02:00