WINDOWS.EDB
PROPERTYSTORE
ESE CARVING
GATHERTIME
Forensic ArtifactWindows SearchESE Database

Windows.edb — Windows Search Index

The Windows Search Index contains full-text content extracted from documents, emails, and source code. When the file is deleted, its words remain in the database. Freed ESE pages preserve content that no anti-forensics tool on the market thinks to clean.

Windows.edb is the Extensible Storage Engine database that powers Windows Search. It contains the full text of every document, email, PDF, and source file the operating system has ever indexed — including files that have been securely deleted from disk. The Search service extracts and stores document content independently of the file. When the file is deleted, its words remain in the database. This makes Windows.edb one of the most powerful and least understood forensic artifacts in modern Windows environments.

PropertyDetail
Full NameWindows Search Index ESE Database
LocationC:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb
FormatExtensible Storage Engine (ESE / JET Blue)
IntroducedWindows Vista (2007); replaced legacy Indexing Service
Typical Size500 MB – 8 GB depending on indexed content volume
RetentionContinuous; deleted entries pruned lazily (days to weeks); content persists in freed ESE pages
Locked ByWindows Search service (WSearch / SearchIndexer.exe)

What Is Windows.edb?

Windows.edb is the database behind Windows Search — the service that powers the search bar in the Start Menu, File Explorer, and Outlook. When a Word document is saved, when a PDF is downloaded, when an email arrives, when source code is committed to a local repository, the Windows Search indexing service (SearchIndexer.exe) reads the file, extracts its text content through IFilter protocol handlers, and stores that content in an Extensible Storage Engine (ESE) database. This is the same database engine that underpins Active Directory (ntds.dit), Exchange Server mailbox stores, and SRUM (SRUM.db).

The service was introduced in Windows Vista as Windows Desktop Search, replacing the legacy Indexing Service from Windows 2000/XP. It runs continuously in the background, re-indexing files as they are created, modified, or moved. By default, it indexes the contents of user profile directories (C:\Users\*), Outlook mailboxes, OneNote notebooks, and any locations the user has added to the indexing scope. On a system that has been in use for several years, the database can grow to several gigabytes and contain tens of thousands of indexed entries.

The critical forensic insight is this: Windows.edb contains the full text of documents that have been deleted from disk. The Search service extracts and stores document content independently of the file — when the file is deleted, its words remain in the database. The metadata record is eventually marked with a DocStatus of 1 (indicating the file is no longer present), but the extracted text in the PropertyStore often persists for days or weeks. Even after entries are purged from active tables, the ESE page structure means the data survives in freed (deallocated) pages within the database file itself — recoverable through low-level ESE page carving.

Core Forensic Value

Windows.edb contains the full text of documents that have been deleted from disk. The Search service extracts and stores document content independently of the file. When the file is deleted, its words remain in the database. Nobody includes Windows.edb in their anti-forensics checklist. CCleaner does not touch it. Eraser does not know it exists. The service runs silently in the background, reading every document you create, and keeping its own copy of the words inside them.

Location & Format

File Paths

FilePathPurpose
Windows.edbC:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edbPrimary search index database containing all metadata and extracted content
Transaction logsC:\ProgramData\Microsoft\Search\Data\Applications\Windows\*.logESE write-ahead logs; may contain uncommitted indexed content
Checkpoint fileC:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.chkTracks which transaction logs have been committed to the database
MSS storeC:\ProgramData\Microsoft\Search\Data\Applications\Windows\MSS*.logAdditional state logs for the search service

Database Format

Windows.edb uses the Extensible Storage Engine (ESE), also known as JET Blue. ESE databases use a write-ahead logging model: changes are first written to transaction log files (.log), then committed to the main .edb file during checkpoint operations. Forensically, this means uncommitted entries may exist only in the log files. A “dirty shutdown” recovery (using esentutl /r) can replay these logs into the database before parsing. ESE pages are 8 KB in Windows.edb (compared to 4 KB in some other ESE databases), and each page contains a header, data rows, and tag arrays that enable page-level carving.

Internal Table Structure

TableKey ColumnsForensic Value
SystemIndex_0AWorkID, URL (full file path), GatherTime, LastModifiedTime, DocStatus, Size, FileNamePrimary metadata table. Records every indexed file path, when it was indexed (GatherTime), its size, and whether it still exists on disk (DocStatus: 0=present, 1=deleted). Provides an independent forensic timeline separate from MFT timestamps.
SystemIndex_PropertyStoreWorkID (FK to SystemIndex_0A), PropertyID, ValueExtracted content store. Each row stores one property for one indexed file, keyed by WorkID. Contains document body text, author, title, subject, and hundreds of other extracted properties. This is where deleted document content resides.
SystemIndex_GthrWorkID, GatherTime, RetryCount, TransactionFlagsGatherer state tracking. Records when each item was last crawled and whether the crawl succeeded. GatherTime in this table provides a second independent timestamp source.
SystemIndex_GthrPthScope, Parent, NameGatherer path table. Records the directory tree structure that the indexer has crawled, including directories that have since been deleted.

Key PropertyStore PropertyIDs

PropertyIDGUID / NameContent
0x0013System.Search.AutoSummaryFull extracted body text of the document. The primary target for content recovery.
0x000CSystem.TitleDocument title as extracted from file metadata (not the filename).
0x0010System.AuthorDocument author field. For Office documents, this is the name in File > Properties.
0x000ESystem.SubjectDocument subject line. Often populated in email messages and formal documents.
0x0015System.KeywordsDocument keywords/tags extracted from metadata.
0x001ESystem.CommentComment field from document properties.
0x0004System.DateModifiedLast modified timestamp as recorded at time of indexing.
0x0006System.SizeFile size in bytes at time of indexing.
Format Note

PropertyStore values are stored in a variety of formats depending on the property type: UTF-16LE strings for text content, FILETIME values for timestamps, and integers for sizes and flags. The WorkID column is the foreign key that links PropertyStore entries back to their parent record in SystemIndex_0A. To reconstruct a deleted document’s content, query the PropertyStore for all rows matching the target WorkID.

What It Reveals

Windows.edb answers a class of investigative questions that no other single artifact can answer. It is the only standard Windows artifact that preserves the full text content of deleted documents. The following questions are directly answerable from Windows.edb data:

Timestomping Detection

GatherTime is recorded by the Windows Search service kernel component, not by the filesystem. If an attacker uses Timestomp, SetMACE, or PowerShell to manipulate MFT $STANDARD_INFORMATION timestamps, the GatherTime in Windows.edb will not change. A mismatch between the MFT modification timestamp and the GatherTime recorded in Windows.edb is strong evidence of timestamp manipulation. Compare $SI.ModifiedTime from the MFT with GatherTime from SystemIndex_0A for every file of interest.

Forensic Use Cases

1. Intellectual Property Theft — Patent Claims Recovery

A departing engineer deletes all patent draft documents, runs CCleaner, and uses Eraser to overwrite the free space. The MFT shows no recoverable entries. The Recycle Bin is empty. Standard forensic triage finds nothing. However, Windows.edb contains the full extracted text of every patent document the Search service indexed during the engineer’s tenure. The PropertyStore retains the body text (PropertyID 0x0013), the author field matches the engineer, and the original file paths point to C:\Users\[engineer]\Documents\Patents\Active\. The recovered text can be compared word-for-word against a competitor’s filing to prove misappropriation.

2. Insider Threat — Document Content After Deletion

An employee under investigation for data hoarding has deleted sensitive documents from a company laptop. The files are gone from disk, but Windows.edb reveals that the Search service had indexed 2,400 files in the employee’s user profile, of which 1,800 are now marked DocStatus=1 (deleted). The PropertyStore entries for these files contain the full text of internal strategy documents, customer lists, and pricing sheets. The GatherTime timestamps prove the documents existed on the machine for months before the mass deletion event on the employee’s last day.

3. Anti-Forensics Bypass — Content in Freed ESE Pages

A sophisticated actor stops the Windows Search service, deletes Windows.edb, and restarts the service (which creates a fresh, empty database). Standard ESE parsing of the new database finds nothing. However, a forensic examiner recovers the deleted Windows.edb file from unallocated disk space and performs ESE free page carving on it. The freed pages contain UTF-16LE strings with document content, file paths, and author names from entries that had been purged from the active tables months earlier. Free page carving typically recovers 20–40% additional content beyond what active table parsing yields.

4. Timestomping Detection — GatherTime vs. MFT Mismatch

An attacker deploys malware that timestomps its own executable to appear as if it was created during the original Windows installation. The MFT $STANDARD_INFORMATION timestamps show a creation date of 2019, but Windows.edb’s GatherTime for the same file shows it was first indexed in March 2026. The GatherTime cannot be modified by user-mode timestamp manipulation tools because it is set by the Search service kernel component, not by the filesystem API. The discrepancy between the MFT timestamp and the GatherTime is conclusive evidence of timestomping.

5. Email Content Recovery

Windows Search indexes Outlook PST and OST files by default, extracting sender, recipient, subject line, and message body text. When an employee permanently deletes emails from Outlook (Shift+Delete, then empties Deleted Items, then compacts the PST), the email data is removed from the mail store. However, the Windows Search index retains the extracted text of those emails in the PropertyStore. Investigators can recover the content of deleted emails — including attachments that were indexed — without needing the PST file itself.

Acquisition Methods

Collection Warning

Windows.edb is locked by the Windows Search service (WSearch / SearchIndexer.exe) on a live system. Direct copy will fail with a sharing-violation error. Use Volume Shadow Copy (VSS), a forensic imaging tool, or a raw-disk copy utility. Always collect the transaction logs alongside the database for consistent state recovery. If collecting from a forensic image, the file is not locked and can be extracted directly.

Live System — Volume Shadow Copy

CMD / ADMIN
:: Create a new Volume Shadow Copy to access the locked Windows.edb
vssadmin create shadow /for=C:

:: Note the Shadow Copy Volume Name from the output, e.g.:
:: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3

:: Copy Windows.edb from the shadow copy (bypasses file lock)
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb" C:\Evidence\Windows.edb

:: Copy transaction logs for dirty-shutdown recovery
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\ProgramData\Microsoft\Search\Data\Applications\Windows\*.log" C:\Evidence\

:: Copy checkpoint file
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.chk" C:\Evidence\

:: Delete the shadow copy when done
vssadmin delete shadows /shadow={shadow-id} /quiet

Live System — Raw Copy Utilities

CMD / ADMIN
:: Using KAPE (Kroll Artifact Parser and Extractor)
kape.exe --tsource C: --tdest C:\Evidence\KAPE_Output --target WindowsSearchIndex

:: Using RawCopy (can bypass NTFS locks)
RawCopy.exe /FileNamePath:"C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb" /OutputPath:C:\Evidence\

:: Using Velociraptor (remote collection via VQL)
:: Artifact: Windows.KapeFiles.Targets with target "WindowsSearchIndex"
:: Or directly:
:: SELECT * FROM glob(globs="C:/ProgramData/Microsoft/Search/Data/Applications/Windows/*")

Forensic Image — Direct Extraction

BASH / FORENSICS
# Mount the forensic image (read-only)
mount -o ro,noexec,nodev /dev/sdb1 /mnt/evidence

# Copy Windows.edb and transaction logs
cp /mnt/evidence/ProgramData/Microsoft/Search/Data/Applications/Windows/Windows.edb /analysis/search_index/
cp /mnt/evidence/ProgramData/Microsoft/Search/Data/Applications/Windows/*.log /analysis/search_index/
cp /mnt/evidence/ProgramData/Microsoft/Search/Data/Applications/Windows/Windows.chk /analysis/search_index/

# If the database was not cleanly shut down, recover with esentutl
# (run on a Windows analysis workstation)
esentutl /r Windows /d /l /s /8 /o
Transaction Log Replay

ESE databases that were not cleanly shut down (i.e., the system was powered off or the Search service crashed) will report a “dirty shutdown” state. The database cannot be opened by most parsing tools until log replay is performed. Use esentutl /r Windows /d /l /s /8 /o on a Windows analysis workstation to replay the transaction logs into the database. Always work on a copy — never modify the original evidence. After log replay, the database will be in a “clean shutdown” state and can be parsed normally.

Parsing Tools & Analysis

ToolAuthorLicenseOutputNotes
libesedbJoachim MetzOpen source (C)CSVLinux-native ESE parser; esedbexport extracts all tables. Primary tool for large-scale PropertyStore analysis.
ESEDatabaseViewNirSoftFreewareGUI + CSV/HTMLWindows GUI for raw ESE table inspection. Useful for browsing PropertyStore records by WorkID.
WinSearchDBAnalyzerSangjin OhOpen sourceGUIPurpose-built Windows Search Index analyzer. Resolves PropertyIDs to human-readable names.
Arsenal ReconArsenal ReconCommercialGUI + exportAdvanced ESE analysis with free page carving, timeline visualization, and dirty-shutdown recovery.
bulk_extractorSimson GarfinkelOpen sourceFeature filesWith the scan_winprefetch and ESE plugins, can carve ESE page structures from raw disk images or freed pages within the database file itself.
esentutlMicrosoftBuilt-in (Windows)N/ANative Windows utility for ESE database recovery, integrity checks, and log replay. Use /r for recovery, /g for integrity check.

Exporting Tables with libesedb

BASH / FORENSICS
# Export all tables from Windows.edb using libesedb
esedbexport -m tables /analysis/search_index/Windows.edb \
    -t /analysis/search_index/export/

# List exported tables
ls /analysis/search_index/export/
# SystemIndex_0A/           ← file metadata (path, dates, DocStatus)
# SystemIndex_PropertyStore/ ← extracted content (body text, author, title)
# SystemIndex_Gthr/         ← gatherer data (GatherTime timestamps)
# SystemIndex_GthrPth/      ← gatherer path tree

Querying PropertyStore by WorkID

PYTHON / ESE ANALYSIS
# Recover deleted document content from Windows.edb PropertyStore
# Requires: libesedb-python or pre-exported CSV files

import pandas as pd

# Load the SystemIndex_0A export (file metadata table)
meta = pd.read_csv('/analysis/search_index/export/SystemIndex_0A.csv', low_memory=False)

# Filter for deleted documents (DocStatus=1) in user directories
deleted = meta[(meta['DocStatus'] == 1) &
               (meta['URL'].str.contains(r'C:\\Users\\', case=False, na=False))]

print(f'Deleted documents with index entries: {len(deleted):,}')

# Get WorkIDs for deleted patent-related files
patent_files = deleted[deleted['FileName'].str.contains(
    r'patent|claims|draft|confidential', case=False, na=False)]

print(f'Patent-related deleted files: {len(patent_files)}')
for _, row in patent_files.iterrows():
    print(f'  WorkID={row["WorkID"]}  {row["FileName"]}  {row["URL"]}')

# Load the PropertyStore export
props = pd.read_csv('/analysis/search_index/export/SystemIndex_PropertyStore.csv',
                    low_memory=False)

# For each target WorkID, extract body text (PropertyID 0x0013)
target_ids = patent_files['WorkID'].tolist()

for wid in target_ids:
    body = props[(props['WorkID'] == wid) &
                 (props['PropertyID'] == '0x0013')]
    if not body.empty:
        text = body.iloc[0]['Value']
        print(f'\n--- WorkID {wid} Body Text (first 500 chars) ---')
        print(text[:500])

Sample Output

OUTPUT
Deleted documents with index entries: 1,847
Patent-related deleted files: 7
  WorkID=14302  P-2024-003_claims_draft.docx   C:\Users\patrick\Documents\Patents\Active\P-2024-003_claims_draft.docx
  WorkID=14303  P-2024-003_technical_spec.docx  C:\Users\patrick\Documents\Patents\Active\P-2024-003_technical_spec.docx
  WorkID=14297  cache_coherency_protocol_v7.docx  C:\Users\patrick\Documents\Engineering\cache_coherency_protocol_v7.docx

--- WorkID 14302 Body Text (first 500 chars) ---
PATENT APPLICATION - CLAIMS DRAFT
Application No. P-2024-003
Title: Adaptive Bloom Filter-Based Cache Coherency Protocol for Multi-Socket Architectures

Claim 1. A method for maintaining cache coherency in a multi-socket processor system comprising:
  (a) maintaining a Bloom filter array at each socket's L3 cache controller, wherein each Bloom
      filter tracks cache line ownership with a configurable false-positive rate of 0.1% to 2.3%;
  (b) propagating invalidation requests only to sockets whose Bloom filter indicates a potential...
Reading the Output

The query identified 1,847 deleted documents with active index entries. Seven matched patent-related filename patterns. The PropertyStore contained the full body text of the patent claims draft — a document that had been securely deleted from disk, wiped from the MFT, and overwritten with Eraser. The Search service had read the document before deletion, and the indexed content survived every anti-forensics measure the subject applied.

Retention & Persistence

PropertyDetail
Active entriesEntries for files that still exist on disk are maintained continuously and updated when files change.
Deleted entry pruningWhen the indexer detects a file is gone (during periodic re-crawl), it marks DocStatus=1. The entry is not immediately removed from the database. Pruning occurs lazily — days to weeks later — depending on database size and system activity.
Freed ESE pagesWhen entries are pruned from active tables, the ESE pages they occupied are marked as free but not zeroed. Content persists in freed pages until the page is reallocated and overwritten by new data.
Free page recoveryESE free page carving typically recovers 20–40% additional content beyond what active table parsing yields. On lightly used systems, recovery rates can exceed 50%.
Survives rebootYes — the database is persistent on disk.
Survives application uninstallYes — index entries for uninstalled applications persist.
Survives user profile deletionYes — the database is in ProgramData, not in the user profile.
Database size limitNo hard limit; grows with indexed content. Typically 500 MB to 8 GB. Larger databases retain more historical entries in freed pages.
Retention Note

The retention window for active entries depends on when the indexer’s background maintenance task prunes deleted records. On systems with heavy indexing activity (many new files being created), freed pages are reallocated faster, reducing the carving window. On stable systems where few files change, freed pages can persist for months. The key principle: the larger the database and the less active the system, the more historical content survives in freed pages.

Anti-Forensics Resilience

Windows.edb is one of the most resilient forensic artifacts on a Windows system. It is protected by the operating system’s file locking mechanism, stored in a privileged system directory, and not included in the target lists of any widely distributed cleanup tool. The file is locked by SearchIndexer.exe while the operating system is running, and no consumer-grade anti-forensics tool includes it in its scope.

ToolClears Windows.edb?Explanation
CCleanerNoNo Windows Search module. Does not target ProgramData\Microsoft\Search\. Has no option to clear the search index database.
EraserNoTargets user-specified files and free space. The database is locked by the OS; Eraser cannot open it even if pointed at the path.
SDeleteNoRequires explicit path and file must not be locked. Windows.edb is locked by SearchIndexer.exe.
BleachBitNoNo Windows Search module exists. No cleaner targets this path.
cipher /wNoWipes free disk space only. Windows.edb is an active, locked file on allocated disk space.
Browser cleanupNoBrowser history cleanup has no effect on the Windows Search Index. Indexed browser cache content persists.
Windows Search resetPartialThe user can reset the search index via Settings > Search > Searching Windows > Advanced > Reset. This creates a new, empty database. However, the old database pages may persist in unallocated disk space and can be carved.
Manual deletionPossibleRequires stopping the WSearch service (elevated privileges), then deleting the file from ProgramData\Microsoft\Search\. Detectable via Event Log service stop entries (Event ID 7036) and the presence of a suspiciously small/new Windows.edb file.
Why Windows.edb Survives

Windows.edb is not in any widely distributed anti-forensics checklist. It does not appear in CCleaner, Eraser, or BleachBit interfaces. It is a system file locked by the OS while the system is running. The path is buried in ProgramData\Microsoft\Search\Data\Applications\Windows\ — a location that most users never browse. Most critically, GatherTime cannot be modified by user-mode timestamp manipulation tools. Tools like Timestomp and SetMACE modify MFT $STANDARD_INFORMATION attributes via the Windows API. GatherTime is set internally by the Search service and is not exposed through any user-accessible API.

MITRE ATT&CK Detection Mapping

Windows.edb data provides evidentiary support for detecting the following MITRE ATT&CK techniques:

TechniqueNameWindows.edb Evidence
T1005 T1005Data from Local SystemPropertyStore body text proves which documents were present on the local system, even after deletion. The URL field shows original file paths for collected data.
T1039 T1039Data from Network Shared DriveIf network locations are in the indexing scope, SystemIndex_0A records UNC paths (e.g., \\fileserver\share\confidential\) for every indexed network file. Proves the user accessed specific network shares.
T1114 T1114Email CollectionWindows Search indexes Outlook PST/OST files by default. The PropertyStore contains extracted email body text, sender, recipient, and subject — content that persists after emails are permanently deleted from the mail client.
T1070 T1070Indicator RemovalPresence of Windows.edb entries (DocStatus=1) for files that no longer exist on disk is itself evidence of file deletion (T1070.004). A cluster of DocStatus=1 entries with similar GatherTime values indicates a mass deletion event. Stopping the WSearch service to delete the database is detectable via Event ID 7036.
T1036 T1036MasqueradingGatherTime vs. MFT timestamp discrepancies reveal timestomping (T1070.006). If a malware binary has been timestomped to appear old, the GatherTime in Windows.edb will reflect its true indexing date.
T1119 T1119Automated CollectionFile paths and metadata in SystemIndex_0A can reveal patterns of automated data staging: many files from disparate directories appearing with similar GatherTime values suggests bulk copy or automated collection before exfiltration.

Related Artifacts & Case Studies

Corroborating Artifacts

ArtifactRelationship to Windows.edbCross-Correlation Value
SRUM.dbRecords per-application network transfer volumes per hourIf Windows.edb reveals the content of deleted documents, SRUM.db can prove which application exfiltrated them and how much data was transferred. Correlate GatherTime (document creation window) with SRUM BytesSent spikes.
$MFTMaster File Table with file creation/modification timestampsCompare MFT $STANDARD_INFORMATION timestamps with Windows.edb GatherTime to detect timestomping. MFT shows when the file was placed on disk; GatherTime shows when the indexer first read it.
PrefetchConfirms application execution with first/last run timestampsPrefetch proves an application ran; Windows.edb proves what documents were present on the system when it ran. Prefetch for SEARCHINDEXER.EXE itself confirms the Search service was active.
LNK FilesShortcut files created by Shell recent file accessLNK files prove a user opened a specific document; Windows.edb preserves the content of that document after it is deleted. LNK target paths should match Windows.edb URL entries.
$UsnJrnlNTFS change journal recording file creation, modification, and deletion$UsnJrnl provides sub-second precision on file operations. Correlate USN_REASON_FILE_DELETE entries with Windows.edb DocStatus=1 entries to build a precise deletion timeline.
Security.evtxEvent IDs 4663 (object access), 4688 (process creation), 7036 (service state change)Event ID 7036 for WSearch service stop/start can indicate deliberate search index manipulation. Event ID 4663 can corroborate file access patterns visible in the index.

Case Study

DFIR Case Study — The Index That Read Everything First

The Index That Read Everything First — A departing semiconductor engineer deleted every patent document, ran CCleaner and Eraser, and returned his laptop. Standard forensic triage found nothing. Windows.edb contained the full text of every patent document the Search service had indexed during the engineer’s six-year tenure — 47,841 indexed entries including 7 patent-related files. ESE free page carving recovered additional content from freed pages. The recovered patent claims matched a competitor’s filing word-for-word. The GatherTime timestamps proved the documents existed on the machine months before the deletion event.

References

  1. Joachim Metz, “libesedb — Library and tools to access the Extensible Storage Engine (ESE) Database File format” — https://github.com/libyal/libesedb
  2. NirSoft, “ESEDatabaseView — View ESE Database Files” — https://www.nirsoft.net/utils/ese_database_view.html
  3. Arsenal Recon, “Arsenal Image Mounter and ESE Analysis Tools” — https://arsenalrecon.com
  4. Microsoft, “Windows Search Overview” — https://learn.microsoft.com/en-us/windows/win32/search/windows-search
  5. SANS Institute, “Windows Forensic Artifacts — Search Index (Windows.edb)” — https://www.sans.org/blog/
  6. 13Cubed, “Windows Search Index Forensics” — https://www.youtube.com/@13Cubed
  7. Simson Garfinkel, “bulk_extractor — High Performance Digital Forensics Exploitation Tool” — https://github.com/simsong/bulk_extractor
  8. Sangjin Oh, “WinSearchDBAnalyzer — Windows Search Database Analyzer” — https://github.com/moaistory/WinSearchDBAnalyzer

Mjolnir Security — Digital Forensics & Incident Response

Mjolnir Security provides 24/7 incident response, digital forensics, and expert witness testimony. Our DFIR team specializes in Windows Search Index analysis, ESE free page carving, insider threat investigations, and trade secret misappropriation cases where standard artifacts have been destroyed.

Digital ForensicsIncident ResponseExpert WitnessESE Database AnalysisInsider ThreatTrade Secret RecoveryAnti-Forensics Bypass

mjolnirsecurity.com — 24/7: +1 833 403 5875