106 Commits

Author SHA1 Message Date
vit9696
c1ef04e47c Fix OcMachoLib compilation 2019-01-17 12:34:26 +03: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
Download-Fritz
28c65c9e9e OcMachoLib: Add forgotten initialization of Context->SymbolTable. 2019-01-15 19:14:10 +01: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
fbac1c4258 OcMachoLib: Runtime-check whether the next LC is in bounds to allow "!= NULL" loops. 2019-01-05 16:29:48 +01:00
Download-Fritz
e92ab78bfc OcMachoLib: Add forgotten change. 2019-01-05 15:38:28 +01:00
Download-Fritz
dac925cd58 Runtime-check whether the next section is in bounds to allow "!= NULL" loops. 2019-01-05 15:37:46 +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
8d8dbcc6d8 OcMachoLib: Fix a few C++ symbol cosmetics. 2019-01-05 15:29:21 +01:00
Download-Fritz
1bc4c3d379 OcMachoLib: Fix possible overflows when concating C++ symbol names. 2019-01-05 15:29:13 +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
6b4d5120b6 OcMachoLib: Do not use CONST qualifier in casts for readability. 2018-11-10 10:52:33 +01:00
Download-Fritz
619e30c5ba OcMachoLib: Retrieve symbol type by name. 2018-11-09 18:50:20 +01:00
Download-Fritz
37b0e363d9 OcMachoLib: Verify the name layout for SMCP and MetaClass symbols. 2018-11-09 18:30:23 +01:00
Download-Fritz
b22cb40043 OcMachoLib: Use new OcStringLib macros for CCX symbol name handling. 2018-11-07 14:27:27 +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
f94f6c5645 OcMachoLib: Fix Relocation iteration index overflow. 2018-11-06 09:09:01 +01:00
Download-Fritz
97da06f663 OcMachoLib: use UINT32 for FileSize and all offsets. 2018-11-06 09:08:46 +01:00
Download-Fritz
0418143198 OcMachoLib: Revert 634f560 for Segments as it's not a completed type. 2018-11-04 11:09:58 +01:00
Download-Fritz
6388838c9a OcMachoLib: Fix LC boundary verification. 2018-11-04 10:56:43 +01:00
Download-Fritz
634f560be8 OcMachoLib: Verify exact LC size when the exact type is known. 2018-11-04 10:44:09 +01:00
Download-Fritz
006cb222e4 OcMachoLib: Check symbol value sanity in MachoGetMetaclassSymbolFromSmcpSymbol64(). 2018-11-04 10:38:57 +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
b14efc6136 OcMachoLib: Catch potential Index overflow when iterating over Relocations. 2018-11-04 09:14:44 +01:00
Download-Fritz
524732e0ef OcMachoLib: Use UINT32 variables to refer to UINT32 Mach-O structure data. 2018-11-04 09:14:20 +01:00
Download-Fritz
4241912574 OcMachoLib: Publish updated Context struct to support static allocations. 2018-11-04 09:06:50 +01:00
Download-Fritz
c957f97c30 OcMachoLib: Consume OcGuardLib to verify alignment requirements. 2018-11-04 09:05:49 +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
8ddbd9fdd4 OcMachoLib: Introduce MachoGetFileSize() API. 2018-11-04 08:21:17 +01:00
Download-Fritz
3b9ad05f71 OcMachoLib: Generically take VOID * for file data in Context init. 2018-11-04 08:19:27 +01:00
Download-Fritz
9c3eb014c7 OcMachoLib: Fix MachoGetNextSegment64() to return NULL when the LC is too small. 2018-11-03 21:04:19 +01:00
Download-Fritz
46c6c16405 OcMachoLib: Enforce exact UUID LC size. 2018-11-03 20:58:42 +01:00
Download-Fritz
f7ec12d20f OcMachoLib: Do not check for LC sanity post-init. 2018-11-03 19:50:06 +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
987172c4c0 OcMachoLib: Prefer Index over Walkers when available. 2018-11-03 19:48:12 +01:00
Download-Fritz
bb0813001d OcMachoLib: Remove redundant symbol sanity check. 2018-11-03 19:47:11 +01:00
Download-Fritz
edbfcdaecb OcMachoLib: Reorder MachoInitializeContext() arguments to match OOP. 2018-11-03 19:45:51 +01:00
Download-Fritz
4c77093379 OcMachoLib: Remove redundant cast. 2018-11-03 19:45:10 +01:00
Download-Fritz
2cf8e08118 OcMachoLib: Introduce MachoGetMachHeader64(). 2018-10-21 21:57:35 +02: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