01Brief
Tern Freight is a parcel courier. On Friday 6 March 2026 a pickup at Dock 4 was moved to the afternoon. The driver says the instruction reached him only after 10:00 local time; the dispatcher says he sent it earlier. The dispatcher's phone was found switched off. On Monday 9 March 2026 a file-system extraction copied the messaging application's database, chatstore.db, together with its write-ahead log, chatstore.db-wal. You received the two files and the extraction log.
Internal audit asks:
- Are the files intact and what are they: journal mode, page size, time of extraction?
- How is the WAL built: how many frames, how many belong to the current generation, where does the committed part end?
- What does the committed state show about the pickup message, and how should the rest of the WAL be reported?
You are asked about the files only: what the pair contains, which part is committed database state, and what can and cannot be said about the pickup message. Do not infer who intended what.
02Evidence files
| File | Contents | SHA-256 |
|---|---|---|
| README.txtScenario and file list | The brief in English and Turkish, handling notes and how the pair was made. | 932c132542be4ea326f32a7dea072af505c4d74b62aeddb7e2c050afbdd54fbf |
| acquisition-log.txtExtraction log | Source directory, directory listing with sizes and file-system times, and the extraction time on the examiner's clock. | a528760d5bd581619856552be654e3d70dae187b696f07ecd529778a9611133d |
| chatstore.dbSQLite main database file | The main file of the messaging application's database: eight pages of 4096 bytes. WhatsApp for Android messages (msgstore.db) → | b534c5f2faedeff403a8bb282a120a5988fa1c19f290a29e5954e2e43b72da3d |
| chatstore.db-walSQLite write-ahead log | The WAL that belongs to the main file, copied as found: committed frames, the end of an unfinished transaction and older frames left over from a previous WAL generation. | f54a0199f87b858ae4359b0b09acb8db78453030eb3a4cf04eb55c8903b79d26 |
| manifest.txtHash manifest | SHA-256 of every file above. Verify before you start. | (the manifest itself) |
The hashes above are copied from manifest.txt. Recompute them yourself, for example with the hash tool or sha256sum.
03Before you start
- Verify every file against manifest.txt and write the result in your examination log before you read anything else.
- Work on copies, and never open the original pair with a database tool: an engine that opens a main file together with its WAL can run recovery and change or delete the WAL.
- To see the main file alone, copy only chatstore.db to an empty folder. To see the committed state, copy both files together into another empty folder.
- Message times in the database are Unix epoch milliseconds (UTC); the extraction log mixes time bases. Read the basis of every time before you use it.
- The files show what the application stored, not what a person did or saw. Write each answer so that it stays true if the phone's clock was wrong.
- Note which file, page or frame supports each answer; the instructor will ask.
Keep your notes in F-02 Evidence intake form and F-04 Examination log.
04Questions
Answer from the files only. Each answer is checked in this browser; nothing is sent anywhere, and your answers are kept on this device until you clear them. 15 questions, 24 points.
Q011 pointchatstore.db-walmanifest.txt
8 hex characters, e.g. 1a2b3c4dQ021 pointchatstore.db
Q031 pointchatstore.db
A whole numberQ041 pointacquisition-log.txt
UTC to the second, e.g. 2026-03-09 05:00:00Z (an offset such as +03:00 is accepted)Q051 pointchatstore.db-walacquisition-log.txt
A whole numberQ062 pointschatstore.db-wal
A whole numberQ072 pointschatstore.db-wal
A whole numberQ082 pointschatstore.db-wal
A whole numberQ092 pointschatstore.dbchatstore.db-wal
A whole numberQ101 pointchatstore.db
A whole numberQ112 pointschatstore.dbchatstore.db-wal
A whole numberQ122 pointschatstore.dbchatstore.db-wal
UTC to the second, e.g. 2026-03-06 07:00:00Z (an offset such as +03:00 is accepted)Q132 pointschatstore.dbchatstore.db-wal
Q142 pointschatstore.dbchatstore.db-wal
Q152 pointschatstore.db-wal
05Your finding
Last step: write one paragraph that answers the three audit questions as a finding. Your instructor marks it against four criteria:
- The report separates the main file, the committed state and the frames after the last commit frame.
- Every time carries its basis: Unix epoch milliseconds, UTC, or local time with its offset.
- The wording describes what the application stored, not what a person did, intended or saw.
- No sentence calls anything 'deleted' or 'recovered' that the files only show as superseded or uncommitted.