One of the ways that XWF helps me with my workflow so much and saves me so much time is its "like nothing else out there" method of bookmarking, or, to use the correct XWF terminology, creating and using 'Report Table associations'.
I'll use the term bookmarking, simply because it is quicker and enables the widest user base to relate to what I am talking about, but that in no way means I acknowledge that the term 'bookmarking' is better. In my head, the traditional use of a bookmark is to make a place holder in a paper book for when you come back later and is usually bought for you by your Grandma when she visits some far flung rural retreat. I don't think of the way we work as digital forensics practitioners to be like that. We crate "buckets" of relevant data and we add one or more items of interest to the bucket(s). So in my mind we should just call it "Bucketing", or categorising, but hey, I digress.
If apply the same thought processes to bookmarking files in XWF as you might do from experience of using other tools, you'll come unstuck pretty quick I'm afraid to say. But if you take the time to understand how XWF is designed here it will enable you to become really slick with it and you'll save time in the long run.
Firstly, lets understand parent and child relationships.
I've taken not an insignificant amount of time preparing the diagram below, which I think shows the parent\child hierarchy of X-Ways rather well. Please click on it and take a look. Notice the XWF screenshots next to various elements, that try to explain the differences between the bookmarking options.
![]() |
A Parent\Child XWF File Object Illustration |
Basically, when you first add evidence to XWF and it parses the filesystem, on the whole, most objects will be "literal" as seen by the filesystem. So a zip file will appear just as a zip file. A doc file will appear just as a doc file. A pst file will appear as a single pst file without thousands of child objects (the e-mails and attachments). However, once you refine the volume snapshot for your case, and depending on what options you choose, each of these single file objects will be explored and their content presented in XWF as child objects of those parent files.
I've extracted one example to show you and I'll explain each of the options in turn now.
![]() |
The options presented when creating report tables |
To bookmark a file, right click it, choose "Report Table associations" and you will be presented with a menu, the right hand side of which will look something like the illustration above.
Selected Item : Literally means the file or files (or file objects, to be more precise) that you have selected in the directory browser pane. Let us assume the file is a single word processing file called "Shrek.doc" that you have added to the bookmark (Report Table!) with this option. So, for now, your bookmark contains just Shrek.doc. Any items that XWF has found within the doc file and included in your case as additional file objects, such as embedded graphics, OLE streams etc (and for which the doc file is their parent object), which will only appear in your case if you have conducted a volume snapshot refinement with the appropriate options as mentioned above, will obviously be part of the doc file anyway, so you do not necessarily need to have them bookmarked seperatetly and in addition to (which will be the next tick box option discussed below). If you do so, you will have several bookmarked items already all from one file - the doc file itself, perhaps several OLE streams, perhaps several embedded graphics or charts or diagrams, and so on. Things could get messy! So Selected Item will, in the vast majority of cases, be the only option you need (save perhaps for the last one which is explained down below).
Selected Item & Parent File : The most useful appliance of this combination is the context of an e-mail message with lets say three word processing files attached. Lets say one of the attachments is of interest that you wish to bookmark, but the other two are not. But the context of the e-mail in which the file was attached is also of relevance but you have no desire to have the messages' parent bookmarked too (i.e. The Outlook.pst file). By selecting the attached file in the directory browser and then have 'parent file' ticked too, only the attachment and the e-mail itself will be bookmarked - not the other attachments and not the entire PST cabinet.
Selected Item & direct child object(s) : Similar to the above, but visa versa and also only to one level. Lets say you have an e-mail message that you wish to bookmark and for completeness you want the three attachments bookmarking too, but not their child objects (OLE streams, embedded graphics etc). Then this is the option to choose.
Selected Item & child objects recursively: If it's the e-mail you have selected in the directory browser, then it will be the three attachments, and all of the child objects to those attachments, too. If it's an Outlook.pst cabinet, then it will be every child e-mail and every attachment to all of those e-mails, and every child object of every attachment. So one bookmarking action could be populate with thousands of file objects immediately! Similarly, if it is a zip cabinet with 10 word processing files, then it would be the cabinet itself, all ten word processing files and all of their embedded objects. So your bookmark (Report Table!) listing in the directory browser would look like this :
MyZip.zip \Users\User\Documents\
WordFile1.doc \Users\User\Documents\MyZip.zip
EmbeddedJPG.jpg \Users\User\Documents\MyZip.zip\WordFile1.doc
WordFile2.doc \Users\User\Documents\MyZip.zip
EmbeddedJPG.jpg \Users\User\Documents\MyZip.zip\WordFile2.doc
WordFile3.doc \Users\User\Documents\MyZip.zip
EmbeddedJPG.jpg \Users\User\Documents\MyZip.zip\WordFile3.doc
...
WordFile10.doc \Users\User\Documents\MyZip.zip
EmbeddedJPG.jpg \Users\User\Documents\MyZip.zip\WordFile10.doc
Selected Item & Siblings: I must admit I have never used this option, but from what I understand of it, it will enable all other files in the same directory as the file you have selected to be bookmarked all at the same time. So if you found a JPG file called "PeterPansHoliday.JPG" in a folder called \Users\User\MyHoliday, then all the other files in MyHoliday would be associated at the same time.
Selected Item & any known duplicates : This is the most awesome feature of the system. If you have conducted a volume snapshot refinement and enabled hashing of files in your case, then any file with the same hash as the one you have selected will automatically be bookmarked too...even if you don't know it exists! In cases involving dozens of computers, perhaps from multiple locations, this can be candy floss on a stick.
A video will follow, along with some more advanced techniques that would take too much writing to explain. But it is a touch late for video antics so for now, the above will have to suffice.