Every modern iOS, macOS, watchOS, and tvOS application uses Asset Catalogs to manage images, colors, icons, and other resources. When you build an app with Xcode, your
.xcassetsfolders are compiled into binary.carfiles that ship with your application. Despite being a fundamental part of every Apple app, there is little to none official documentation about this file format.In this post, I’ll walk through the process of reverse engineering the
↫ ordinal0 at dbg.re.carfile format, explain its internal structures, and show how to parse these files programmatically. This knowledge could be useful for security research and building developer tools that does not rely on Xcode or Apple’s proprietary tools.
Not only did ordinal0 reverse-engineer the file format, they also developed their own unique custom parser and compiler for .car files that don’t require any of Apple’s tools.
