against both of the files. I haven't found any timestamp inside the pim.vol file.
Text messages are stored in: \Application Data\Microsoft\Outlook\Stores\DeviceStore\
In hex view the body of each text message is preceded by the string "IPM.SMS" or "IPM.SMStext".
It's possible to distinguish sent messages from received messages by the fact that a sent message lacks the phone number of the recipient in its structure.
Pictures are stored in: \My Documents\Zune\Content\0300\00
The file names are numeric (in hex format) and are in the order in which the pictures were saved on the phone. Even though the phone is running Window Phone 7.8, EXIF metadata shows Windows Phone 7.5. Data carving allowed me to fully recover many deleted pictures.
Bluetooth
The list of received files via bluetooth is stored in:
\Applications\Data\51F49C63-5966-4752-BB12-430455F911A8\Data\IsolatedStore\btsharing.sdf
I used the freeware utility
CompactView to open this file and read the table ReceivedFiles.
Emails
Emails are stored in .dat files under:
\Application Data\Microsoft\Outlook\Stores\DeviceStore\data
Downloaded attachments are stored under:
\Application Data\Volatile\EmailAttachments\Attachments[e-mail ID]
The .dat files contain the message body of each e-mail. The header is stored in the store.vol file. A keyword search for the term SMTP in the store.vol file allows to find all the e-mail addresses related to received and sent emails.
In the following picture I show the content of an incoming email that I'd sent to myself from another device during the testing. The email is stored inside a dat file. Its partial header is located inside the store.vol file. I don't know yet how to automate the correlation of these two blocks of information.
Internet Explorer
Browser artifacts are stored in:
Favorites: \Windows\Favorites <== URL files (both default and personal ones)
Cookies: \Windows\Profiles\guest\Cookies
History: \Windows\Profiles\guest\History\History.IE5\index.dat
Cache: \Windows\Profiles\guest\Temporary Internet Files\Content.IE5
Applications
The two paths \Applications\Data and \Applications\Install contain the same number of subfolders with the same ID names. The data folder contains app settings and user data while install is the installation folder.
In order to retrieve the name corresponding to each ID use the URL:
Some apps are preinstalled and their IDs are listed here:
I wrote a small python script wp_appid.py that automatically retrieves AppNames from AppIDs.
The app version information is sometimes stored in files named __ApplicationSettings in \Applications\Data\[App-ID]\Data\IsolatedStore. For instance this one is from the Twitter app:
Wireless Networks
\Windows\Wlan\CommonAppData\Microsoft\Wlansvc\Profiles\Interfaces\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\{Random-GUID}.xml
Creation time will correspond to the first connection to that SSID.
Adobe PDF Reader
Last opened PDF files are listed in:
\Applications\Data\BC4F319A-9A9A-DF11-A490-00237DE2DB9E\Data\IsolatedStore\ARFileOpenParms.xml
Each entry shows as well when the PDF file was opened.
Copies of opened PDF files are stored in:
\Applications\Data\BC4F319A-9A9A-DF11-A490-00237DE2DB9E\Data\IsolatedStore
WhatsApp (v2.12.72)
The app version information is stored in the file \Applications\Data\218A0EBB-1585-4C7E-A9EC-054CF4569A79\Data\IsolatedStore\version
The phone number in use is located in:
\Applications\Data\218A0EBB-1585-4C7E-A9EC-054CF4569A79\Data\IsolatedStore\settingsv2\nv\
settings.db
Messages are stored in a SQLite database:
\Applications\Data\218A0EBB-1585-4C7E-A9EC-054CF4569A79\Data\IsolatedStore\
messages.db
Pictures and video shared (received and sent) are stored in:
\Applications\Data\218A0EBB-1585-4C7E-A9EC-054CF4569A79\Data\IsolatedStore\Shared\Transfers\
Received pictures when viewed get automatically saved in:
\My Documents\Zune\Content\0300\00
Deleted messages: I successfully carved out SQLite databases with XWF. That meant thousands of deleted messages recovered.
Twitter (v3.0.1.25063)
The most interesting files are stored in:
\Applications\Data\0B792C7C-14DC-DF11-A844-00237DE2DB9E\Data\IsolatedStore
You can run strings against these files:
{Twitter UserID}.Timeline.dat <== contains tweets that appeared on the user's timeline
{Twitter UserID}.Connect.dat <== notifications for the tweets that got favorited or retweeted
{Twitter UserID}.Friends.dat
{Twitter UserID}.DirectMessages.dat <== contains direct messages
{Twitter UserID}.SavedSearches.dat <== saved searches on Twitter
OneDrive
Folder:
\Applications\Data\AD543082-80EC-45BB-AA02-FFE7F4182BA8\Data\IsolatedStore\
Under this folder there are files in JSON format with a prefix name ItemViewModel containing metadata of files stored on the user's OneDrive account. These files contain useful pieces of information that inform us if a OneDrive account is in use: DiskQuotaUsage, DisplayQuotaRemaining and DateModifiedOnClient.
In case SyncUpload is active on the phone, we'll also see additional details for uploaded files such as: filename, extension, displaysize, lastaccess, modifieddate, ownername and sharinglevel.
Timestamps are in DateTime format. In the following
article, Microsoft explains how DateTime works:
Time values are measured in 100-nanosecond units called ticks, and a particular date is the number of ticks since 12:00 midnight, January 1, 0001 A.D. (C.E.) in the GregorianCalendar calendar.
For instance, 635503790921870000 decodes to 2014-10-31 19:04:52.187000.
Here's a post on how to convert from ticks to human readable date.
Registry artifacts
The path \Windows\Registry\ contains two registry hive files: system.hv and user.hv.
Timestamps are encoded in Win64Bit Little Endian.
An old
post in the xda-developers forum explains how to convert hv files into text files by using a command line tool named
rgucomp. The result is not that good, but it's better than nothing. From the command prompt type:
- set _FLATRELEASEDIR=.
- rgucomp -nologo -o system.hv > system.txt
I'll list below some artifacts that can be extracted from the two hives. We can use them as keywords to perform searches in the unallocated space.
Account (user.hv)
The current Microsoft account configured on the phone is located in: