SQLite Forensics Book, now available on Amazon

More information here


  • Paul

    by Published on 4th September 2018 10:24  Number of Views: 1624 

    This short video shows how to use the speech bubbles report functionality for the Forensic Browser for SQLite. This new report option ...
    by Published on 15th May 2018 09:30

    Privacy Policy

    Sanderson Forensics is committed to ensuring that your privacy is protected. Should we ask you to provide certain information by which you can be identified when using this website, then you can be assured that it will only be used in accordance with this privacy statement.

    Sanderson Forensics may change this policy from time to time by updating this page. You should check this page from time to time to ensure that you are happy with any changes.

    What we collect

    We may collect the following information:

    • name and job title
    • contact information including email address
    • demographic information such as postcode and preferences
    • Your IP address and Browser related history

    What we do with the information we gather

    We require this information to understand your needs and provide you with a better service, and in particular for the following reasons:

    • Internal record keeping.
    • We may send you reminders when software licences have expired or are about to expire
    • We may use the information to improve our products and services.
    • We may perioidcally send emails about new products, udates to existing products and special offers or other information which we think you may find interesting using the email address which you have provided.

    Controlling your personal information

    You may choose to restrict the collection or use of your personal information in the following ways:

    if you have previously agreed to us using your personal information for direct marketing purposes, you may change your mind at any time by writing to or emailing us at [admin@sandersonforensics.com]

    We will not sell, distribute or lease your personal information to third parties unless we have your permission or are required by law to do so. We may use your personal information to send you promotional information which we think you may find interesting if you have given permission.

    You may request details of personal information which we hold about you. A small fee will be payable. If you would like a copy of the information held on you please write to us at our postal address.

    If you believe that any information we are holding on you is incorrect or incomplete, please write to or email us as soon as possible at the above address. We will promptly correct any information found to be incorrect.

    How we use cookies

    A cookie is a small file which asks permission to be placed on your computer's hard drive. The file is added and the cookie helps analyse web traffic or lets you know when you visit a particular site. Cookies allow web applications to respond to you as an individual. The web application can tailor its operations to your needs, likes and dislikes by gathering and remembering information about your preferences.

    Overall, cookies help us provide you with a better website by enabling us to monitor which pages you find useful and which you do not. A cookie in no way gives us access to your computer or any information about you, other than the data you choose to share with us.

    You can choose to accept or decline cookies. Most web browsers automatically accept cookies, but you can usually modify your browser setting to decline cookies if you prefer. This may prevent you from taking full advantage of the website.

    Links to other websites

    Our website may contain links to other websites of interest. However, once you have used these links to leave our site, you should note that we do not have any control over that other website. Therefore, we cannot be responsible for the protection and privacy of any information which you provide whilst visiting such sites and such sites are not governed by this privacy statement. You should exercise caution and look at the privacy statement applicable to the website in question.
    by Published on 23rd March 2017 15:48  Number of Views: 4604 
    Article Preview

    SQL is an extremely powerful programming language, and understanding SQL database schemas can often help immensely when creating queries on the database in question.

    The particular feature that I want to discuss in this blog is foreign keys, and I intend to show their value by example, as if I have just been asked to create a report on a database (BlackBerry Messenger master.db from an IOS device) of which I have little knowledge. To help with this let's assume I have been asked to investigate file transfers between the user of this DB and his/her contacts and create a simple report to detail the transfers.

    This example is, of course, a little contrived but it should, I hope, show the principles well.

    First, what are Foreign Keys?

    Simply put, foreign keys provide a way of ensuring that relationships between tables are valid. For example, in the case of a simple messaging database, they can ensure that for every message with a userID there is an entry for the userID in the users table.


    CREATE TABLE messages(
      message TEXT,
    by Published on 14th November 2016 17:34  Number of Views: 13819 
    Article Preview

    At a recent conference while talking about SQLite forensics I found out that some people still use non forensic tools to investigate databases with WAL files and were quite happy that they would not miss anything of importance. This is something I disagree with very, very, strongly and I hope in this article to explain the very basics of how WAL files work and show why you should not use non-forensic tools to examine SQLite databases.

    Most of the databases we examine are appended to as user interactions take place. Be it a web browser which contains tables related to browsing events whereby new URLs are appended to associated tables as and when the user navigates to them. Or a messaging application where each message to and from the user is appended to the end of a list of such messsages and new contacts are likewise added to the end of a list of contacts. In the example below we will consider ...
    by Published on 2nd November 2016 10:34  Number of Views: 11892 
    Article Preview

    I have seen a number of posts on bulletin boards recently that refer to some of the main stream software failing to be able ...
    Published on 13th September 2016 12:27  Number of Views: 16298 
    Article Preview

    In a recent forensic case involving recovered deleted sms messages from an sms.db file on an IOS mobile device none of the mainstream mobile phone forensic software made the link between sender and recipient for the recovered records of interest.

    I have been asked a few times recently about obtaining the third party of a deleted IOS SMS message that has been recovered by the Forensic Browser. The procedure is simply to create a JOIN between two (or three there are two ways of establishing the third party) tables and if the data is in the relevant tables then a link is made. Unfortunately when messages are deleted, particularly when entire conversations are deleted, the primary keys on the all-important tables are often overwritten making these joins impossible.

    When the case mentioned was looked at with the Browser neither of the JOINS described above allowed the investigators to ascertain who the third party in a deleted conversation was. So I was asked to take a look at the DB further and I managed ...
    Published on 1st September 2016 09:08  Number of Views: 13325 
    Article Preview

    Often data held within tables in databases is stored within a BLOB (Binary Large OBject) this data is often structured data that is encoded in a particular format. XML and Binary Plists are examples of these structured storage objects. Often the data in each blob in a table is in the same format and it would be useful to query these objects and include selected data in a report.

    The Structured Storage Manager does this by using a template to break down ...
    Page 1 of 7 123 ... LastLast