Difference between revisions of "Dyld shared cache"

From The iPhone Wiki
Jump to: navigation, search
(Added a page about the dyld_shared_cache)
 
m (Location)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
   
== DYLD_SHARED_CACHE ==
+
== 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.
+
"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.
 
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.
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.
 
  +
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." - [http://iphonedevwiki.net/index.php/Dyld_shared_cache The iPhone Dev Wiki]
   
  +
The binaries inside the dyld_shared_cache can be used to create C header files from by using [http://stevenygard.com/projects/class-dump/ classdump].
== Extracted dyld_shared_caches
 
  +
[https://github.com/coffeebreakerz/iOS1031-dyld_shared_cache iOS 10.3.1 ARM64]
 
  +
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.)

Latest revision as of 03:26, 14 September 2017

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.)