Comments (11)
Some evidence from /usr/lib/dsc_extractor.bundle:
from ipsw.
Yes, it is definitely not a "UUID" I figured that out a month ago here:
Line 151 in 05af7d2
It appears to be an offset to the end of the imagesTextOffset
section (the dylib path strings) in the subCaches, but in the "primary" cache you are right it seems to point to a small amount of data that the subCache's do not contain. Good find with respects to the UUIDs!
from ipsw.
The stuff that I thought looked like bit-field flags after progClosuresTrieWithSubCachesSize
might tell you what kind of cache it is an how to interpret the (incorrect) subCacheUUID
field perhaps? Or maybe one of these fields:
uint32 unknown8;
uint32 unknown9;
from ipsw.
What I was always MOST interested in what the mysterious unknown10Offset
field. I see that it's an offset to a struct of what looks like large arrays of offsets? That might be where the patchInfo
went.
from ipsw.
Edit: this is wrong
The unknown10Offset field is already present in dyld 852.2, which is public:
https://opensource.apple.com/source/dyld/dyld-852.2/dyld3/shared-cache/dyld_cache_format.h.auto.html
Or are you saying that the existing header definition cannot be used for subcaches, and that the subcaches have other data in those places?
from ipsw.
Oh, oops, never mind. I got confused because some fields later in the header look very similar to other fields earlier in the header.
from ipsw.
So you can tell how the field should be interpreted IF the numSubCaches is greater than 0. I have updated my 010 template to reflect it. Thank you for your help!
from ipsw.
Also the "8 bytes something else." is the "end offset" of the contamination of the sub caches (so far) or the totalSize. So for subCache.1 the field is it's size
and for subCache.2 it's the size of subCache.1 + subCache.2 and so on.
from ipsw.
Ah, nice. So cumulativeSize
might be an appropriate name.
from ipsw.
Yes! That's perfect.
from ipsw.
The cumulativeSize
field is called cacheVMOffset
: https://github.com/apple-oss-distributions/dyld/blob/5c9192436bb195e7a8fe61f22a229ee3d30d8222/cache-builder/dyld_cache_format.h#L496
from ipsw.
Related Issues (20)
- Add `ipsw symbolicate` support for more crash log types HOT 1
- Different --device flags for different OS in config.yml
- config.yml for dev releases
- Unable to extract OTA payload files: AppleTV 4K HOT 2
- Unable to differentiate between OTAs and ipsws when using the appledb download method
- Unable to download IPA from App Store using 2FA enabled account HOT 6
- RSR Download functionality not working HOT 3
- Add the option to analyze kernelcache in ghidra HOT 2
- ipsw device-list command is not same with docs HOT 1
- Can't extract KEXTs HOT 1
- ipsw diff failures HOT 6
- `ipsw diff` - add machos file diffs HOT 10
- `ipsw diff` - Extract changed files / Extraction command generation HOT 5
- AUR package fails to build and other issues HOT 14
- Add support for jump tables etc in `ipsw dsc extract` command
- `ipsw diff` mount failure on iPhone ipsw HOT 3
- --no-color option doesn't seem to work HOT 1
- failed to parse plists in IPSW: failed to parse devicetree when extracting iOS 9 IPSW HOT 3
- Trying to create a nix package. `no required module provides package github.com/blacktop/ipsw/pkg/sandbox/compile` HOT 5
- ⨯ failed to mount DMGs: failed to get SystemOS DMG: no SystemOS DMG found: cryptex not found HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipsw.