mirror of
https://github.com/radareorg/radare2.git
synced 2025-03-05 04:50:43 +00:00
Rewrite dyldcache plugin
- still supports only 64-bit caches - use MACH0_ functions - parse symbols, sections and classes - use R_DYLDCACHE_FILTER env variable to symbolicate only a subset of the cache - rebase unslid caches on-the-fly, properly slide slid caches symbols
This commit is contained in:
parent
7be0af355d
commit
a65bbfd32d
@ -243,4 +243,50 @@ typedef struct {
|
||||
uint32_t pad;
|
||||
} cache_img_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t version;
|
||||
uint32_t page_size;
|
||||
uint32_t page_starts_offset;
|
||||
uint32_t page_starts_count;
|
||||
uint32_t page_extras_offset;
|
||||
uint32_t page_extras_count;
|
||||
uint64_t delta_mask;
|
||||
uint64_t value_add;
|
||||
} cache_slide2_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t version;
|
||||
uint32_t imageExtrasCount;
|
||||
uint32_t imagesExtrasOffset;
|
||||
uint32_t bottomUpListOffset;
|
||||
uint32_t dylibTrieOffset;
|
||||
uint32_t dylibTrieSize;
|
||||
uint32_t initializersOffset;
|
||||
uint32_t initializersCount;
|
||||
uint32_t dofSectionsOffset;
|
||||
uint32_t dofSectionsCount;
|
||||
uint32_t reExportListOffset;
|
||||
uint32_t reExportCount;
|
||||
uint32_t depListOffset;
|
||||
uint32_t depListCount;
|
||||
uint32_t rangeTableOffset;
|
||||
uint32_t rangeTableCount;
|
||||
uint64_t dyldSectionAddr;
|
||||
} cache_accel_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint64_t exportsTrieAddr;
|
||||
uint64_t weakBindingsAddr;
|
||||
uint32_t exportsTrieSize;
|
||||
uint32_t weakBindingsSize;
|
||||
uint32_t dependentsStartArrayIndex;
|
||||
uint32_t reExportsStartArrayIndex;
|
||||
} cache_imgxtr_t;
|
||||
|
||||
#define DYLD_CACHE_SLIDE_PAGE_ATTRS 0xC000
|
||||
#define DYLD_CACHE_SLIDE_PAGE_ATTR_EXTRA 0x8000
|
||||
#define DYLD_CACHE_SLIDE_PAGE_ATTR_NO_REBASE 0x4000
|
||||
#define DYLD_CACHE_SLIDE_PAGE_ATTR_END 0x8000
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user