

IPad, iPhone, iPod Touch – doesn’t matter.įamiliarity with your jailbreak, every jailbreak is different and may provide different sets of utilities. Jailbroken iOS Test Device (the newer iOS the better, generally!) I hope this article will help most investigators and researches up and running with dynamic iOS testing. Even then I will caveat it to very specific instances of my testing platform. If I’m not absolutely sure, I test – always. You cannot be sure about a certain artifact on what it contains or what certain pieces mean without testing (and not just once, but over and over and on multiple devices and operating systems!) I probably do this more than most forensic investigators but it is something I obsess about. I chose a small example to begin with as some of these can be very large. This “contents” blob contains the protobuf of the mapped location. This plist has GUID keys that contain a “contents” subkey. I will focus on GeoHistory.mapsdata plist file from iOS which stores historical locations that were mapped. These can be found in quite a few different Maps related plist files. The Maps application on both macOS and iOS use many protobufs to store location data. I will parse out some protobufs from different applications to give you an idea of what is stored in them - Maps, Locations, Health, and Notes. To parse a given buffer I will use the following command: protoc -decode_raw <

What is a plist file extenstion install#
On a Mac, I would do a ‘brew install protobuf’ to get protoc installed. proto file you can use this as well, but I have yet to give that a go. To parse these protobufs, I use protoc from Google to get a raw output. Unfortunately, we likely do not have this file as it is most likely server-side or inaccessible therefore we need to reverse engineer the contents and meaning of the items stored in this blob. The kicker with protobufs is that there is an accompanying *.proto file that contains the definition to what is contained in these buffers. Some are fairly straight forward, others are less so. In this article I’ll introduce you to some of the Apple-specific protobufs that I’ve come across.

It took me a long time to also notice that they were being stored on Apple devices! Native applications, 3rdparty applications, they are used EVERYWHERE! A great example was found by my friend Phill Moore in the iOS Spotify application to keep track of items listened to.
What is a plist file extenstion android#
I started noticing them more and more on Android devices, not just in the network traffic but also storing data on disk as well. Since I was looking at an Android device, a protobuf made perfect sense. It is a super-efficient way of storing and transferring data. It is a “language-neutral, platform-neutral extensible mechanism for serializing structured data” created by Google. Ok, so what the heck is a protobuf? It actually stands for Protocol Buffer, but everyone calls them protobufs.
