Dyld shared cache

From The iPhone Wiki
Jump to: navigation, search

The dyld_shared_cache

"Since iPhone OS 3.1, all system (private and public) libraries have been combined into a big cache file to improve performance. The original files are redundant and thus eliminated from the system. If you're looking for binaries or libraries inside of /System/Library/Frameworks or /System/Library/PrivateFrameworks (or other directories) and can't, this is why. OS X also uses a shared cache. Unlike iOS, OS X ships with the source binaries still on-disk, particularly so it can be updated with update_dyld_shared_cache. The cache is only vaguely documented in dyld man pages." - The iPhone Dev Wiki

The binaries inside the dyld_shared_cache can be used to create C header files from by using classdump.

With that header files using iOS Private API's is sometimes possible.

Location

In iOS 10, the dyld_shared_cache is located in /System/Library/Caches/com.apple.dyld/. The folder will contain caches for each CPU-Architecture. (eg: dyld_shared_cache_arm64.)