summaryrefslogtreecommitdiff
path: root/view/sharedcache/api/sharedcachecore.h
diff options
context:
space:
mode:
authorWeiN76LQh <WeiN76LQh@github.com>2024-11-26 00:09:03 +0000
committerkat <kat@vector35.com>2024-12-26 10:42:56 -0500
commita9245348accd81263e106896f7b98ed5bc4afe5c (patch)
treeaf85e95e848bba8d84a40141e7cb321d8a123705 /view/sharedcache/api/sharedcachecore.h
parent2cce2ab6c79879a4d64df1fc7375e2c871565f8f (diff)
[SharedCache] Add the ability to manually trigger Objective-C processing
A problem with processing Objective-C sections at the time a library is loaded is that some of the references within those sections may refer to unload sections. This results in things like selectors not being correctly typed and named. This commit provides a way for users to manually trigger Objective-C parsing against sections for a specific library or all libraries, via the API. Combined with the previous commit a user can use the API to batch load a number of libraries and skip Objective-C processing for each one and then run it across the entire of the DSC once they are all loaded. Further improvement would be to provide a way to trigger Objective-C processing through the UI.
Diffstat (limited to 'view/sharedcache/api/sharedcachecore.h')
-rw-r--r--view/sharedcache/api/sharedcachecore.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/view/sharedcache/api/sharedcachecore.h b/view/sharedcache/api/sharedcachecore.h
index 967a7d0b..155f39de 100644
--- a/view/sharedcache/api/sharedcachecore.h
+++ b/view/sharedcache/api/sharedcachecore.h
@@ -123,6 +123,9 @@ extern "C"
SHAREDCACHE_FFI_API bool BNDSCViewLoadImageWithInstallName(BNSharedCache* cache, char* name, bool skipObjC);
SHAREDCACHE_FFI_API bool BNDSCViewLoadSectionAtAddress(BNSharedCache* cache, uint64_t name);
SHAREDCACHE_FFI_API bool BNDSCViewLoadImageContainingAddress(BNSharedCache* cache, uint64_t address, bool skipObjC);
+
+ SHAREDCACHE_FFI_API void BNDSCViewProcessObjCSectionsForImageWithInstallName(BNSharedCache* cache, char* name, bool deallocName);
+ SHAREDCACHE_FFI_API void BNDSCViewProcessAllObjCSections(BNSharedCache* cache);
SHAREDCACHE_FFI_API char* BNDSCViewGetNameForAddress(BNSharedCache* cache, uint64_t address);
SHAREDCACHE_FFI_API char* BNDSCViewGetImageNameForAddress(BNSharedCache* cache, uint64_t address);