Guides

65 worked scenarios

Each one states the situation, how to recognise it, which product and workspace cover it, the procedure and the reason for each step, the exact commands, the options that apply and when, best practice, and what the product will not do.

8 scenarios

Everyday file loss

One computer, one card, one phone. Deletion, formatting and media that has stopped presenting its files.

Choosing what to look for, in plain language
Choosing what to look for, in plain language

Files deleted and the Recycle Bin emptied

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

Files were deleted and the Recycle Bin emptied before anybody noticed they mattered. The volume is otherwise healthy and still in use, which is the part that decides the outcome.

How to recognise it

  • The file is not in the Recycle Bin
  • The volume mounts normally and other files open
  • The machine has been used since the deletion

Procedure

  1. Stop using the drive holding the deleted filesDeleting a file releases its space. Anything written afterwards can land on it, and once that happens no tool recovers the contents.
  2. If the files are on the system drive, shut the machine down and read the disk from another machine, or work from an imageWindows writes to the system drive continuously, so a recovery run on the live system drive is racing the operating system.
  3. Scan in smart mode and review before exportingSmart mode parses the file system for original names and folders and carves free space for what the metadata no longer covers.

Commands

recoveryantra recover --device \\.\PhysicalDrive1 -o D:\Recovered

The straightforward case: a healthy second drive, recovered to separate storage.

recoveryantra recover --image case.dd -o D:\Recovered --resume

Continue an overnight scan of a large drive without starting again.

Options, and when to use them

--modeLeave at smart. fs alone misses anything the file system no longer indexes, which is usually exactly what was deleted.
--include-intactAdd only if you also want the files that are still present. For a plain deletion the default is what you want.
--reportAdd when somebody other than you needs the result.

Best practice

  • Recover to a different physical drive, never to the source
  • Preview before exporting: the preview shows whether the file is whole
  • Where the volume is NTFS and the deletion is recent, expect original names and folder structure to survive

What this will not do

  • A file whose space has been reused is gone, and is reported as such rather than written out in a broken state
  • On an SSD, TRIM usually clears deleted data within minutes. The product detects this and says so rather than running a scan that cannot succeed

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A memory card reports that it needs to be formatted

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A camera, phone or card reader reports that the card must be formatted before it can be used. This usually means the file system header is damaged, not that the photographs are gone.

How to recognise it

  • Windows offers to format the card every time it is inserted
  • The camera reports a card error
  • The card's capacity shows correctly, or shows as 0 bytes

Procedure

  1. Do not accept the format promptFormatting writes a new file system over the old one. The photographs usually survive it, but the names and folders often do not.
  2. Copy the card to an image first if it is failing or valuableA card that is producing read errors should be read once, not repeatedly.
  3. Scan the card or the image in smart modeThe file system header may be damaged while its backup copy is intact, in which case names and folders come back too.

Commands

recoveryantra recover --device \\.\PhysicalDrive2 -o D:\CardRecovery

Read the card directly when it is healthy.

recoveryantra image --device \\.\PhysicalDrive2 -o D:\card.dd --retries 1

Image a card that is producing errors, with a low retry count.

recoveryantra recover --image D:\card.dd -o D:\CardRecovery --include-intact

Recover everything from the image, present and deleted.

Options, and when to use them

--include-intactAdd it here. After a format the files were never deleted, so the deleted-only default will look almost empty.
--retriesLower it to 0 or 1 on a card that is deteriorating; each retry is another read of failing flash.
--modesmart. Card file systems keep a backup boot sector, which the product will fall back to automatically.

Best practice

  • Work from an image for anything irreplaceable
  • Check the recovered photographs open before telling the customer the job is done
  • Keep the card until the customer has confirmed the result

What this will not do

  • A card that is not detected at all by the operating system is a hardware fault, not a software case
  • Photographs the camera overwrote in normal use are gone

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A phone was reset and the photographs were not backed up

A handset was reset, or an application was removed, and photographs or messages that were never backed up are wanted. What is possible depends almost entirely on the handset and whether it is rooted.

How to recognise it

  • The handset works normally but the content is gone
  • There is no cloud backup, or the backup predates the loss
  • There may be an old computer backup

Procedure

  1. Establish what this specific handset allows before promising anythingA modern handset encrypts storage, so deleted data is not recoverable by reading the device unless it is rooted.
  2. Check for an existing computer backup firstAn iTunes or Finder backup, or an Android backup, is frequently the complete answer and takes minutes.
  3. Copy what the handset does exposePhotographs still present can be copied off directly, read-only.

Commands

recoveryantra phone --areas

List what is recoverable per application, including what is honestly not recoverable locally.

recoveryantra phone --types

The same question by data type: contacts, messages, photographs.

recoveryantra recover --ios-backup "C:\Users\me\Apple\MobileSync\Backup\xxxx" -o D:\PhoneRecovery

Recover from an existing iOS backup folder.

recoveryantra phone --store msgstore.db --deleted-only

Recover deleted messages from a database already pulled off.

Options, and when to use them

--areasRun first when scoping, so the quote matches what is actually possible on that handset.
--deleted-onlyUse when the live data is already available and only the deleted records are wanted.
--keyRequired for an encrypted store such as WhatsApp. Without the key file the store cannot be read at all.

Best practice

  • Scope with --areas before quoting, not after
  • Prefer an existing backup over touching the handset
  • Record consent for the handset in writing

What this will not do

  • A locked handset cannot be read. It must be unlocked and must trust the computer
  • On an unrooted modern handset, deleted photographs are not recoverable by any software
  • Applications listed as not locally recoverable are ephemeral or server-side

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Mobile Workbench

A USB stick or external drive shows as RAW

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

The drive appears in Windows but the volume has no recognised file system, so Windows reports it as RAW and offers to format it.

How to recognise it

  • Properties show 0 bytes used and 0 bytes free
  • Windows prompts to format on every connection
  • The drive letter appears but opening it fails

Procedure

  1. Do not formatThe prompt means Windows cannot read the volume header. It is not a statement that the drive is empty.
  2. Run a triage firstIt reports whether the drive is healthy or failing, which decides between reading it directly and imaging it.
  3. Scan with intact files includedNothing was deleted here. The volume cannot be mounted, so the deleted-only default would return almost nothing.

Commands

recoveryantra list --triage

Check the drive's health and how it is connected.

recoveryantra recover --device \\.\PhysicalDrive2 -o D:\Out --include-intact

Recover the whole volume, not only deleted files.

Options, and when to use them

--include-intactRequired for this case. Without it the result looks almost empty and the customer concludes nothing survived.
--modesmart. The file system may be recoverable from its backup copy, which returns names and folders.
--sector-sizeChange from 512 only for a 4K-native drive, where leaving it wrong prevents the volume being found at all.

Best practice

  • Always run triage before deciding how to read the drive
  • If the drive is clicking or the triage reports it is unhealthy, image it before anything else

What this will not do

  • A drive that does not appear at all is a hardware fault
  • If the volume was overwritten by a new file system and then used, the overwritten regions are gone

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Windows was reinstalled over the data

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A machine was reinstalled or reset and the previous user's documents were not moved off first. Some of the old data is usually still in the space the new installation has not yet used.

How to recognise it

  • The machine works and has a fresh Windows installation
  • The old user profile is not present
  • The drive is the same physical disk

Procedure

  1. Stop using the machine immediatelyA fresh Windows installation writes continuously. Every hour of use reduces what is left.
  2. Read the disk from another machineRecovering the system drive while Windows runs on it is racing the operating system for the same free space. Take the disk out, or image it from a second machine.
  3. Scan in smart mode to a separate driveDocuments and photographs carve well even when the old file system has been replaced.

Commands

recoveryantra image --device \\.\PhysicalDrive0 -o E:\old-system.dd --retries 1

Image the old disk once from a second machine, then work from the image.

recoveryantra recover --image E:\old-system.dd -o E:\Recovered --include-intact

Recover everything the reinstall has not yet overwritten.

Options, and when to use them

--include-intactAdd it. The old files were not deleted; their file system entries were replaced.
--modesmart, then carve if the first pass returns little. A replaced file system means names are often gone but content is not.
--workersLeave at 0 so the carve uses the available cores.

Best practice

  • Never recover onto the drive being read
  • Set expectations before starting: a reinstalled drive is a partial recovery, not a complete one
  • Prioritise the file types the customer actually named

What this will not do

  • Anything the new installation has written over is gone
  • Original folder structure is usually lost when the file system is replaced; files come back by type

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

An external drive was dropped and is now clicking

RecoverYantraSuiteImage a failing driveIn the app

A drive has suffered physical trauma and is making mechanical noise. This is the case where using the wrong approach destroys the data permanently.

How to recognise it

  • An audible repeated click or a grinding noise
  • The drive appears and disappears in the operating system
  • Reads succeed briefly and then stop

Procedure

  1. Power the drive down and stop tryingA clicking drive is a head or actuator fault. Every additional power cycle risks the heads contacting the platter.
  2. Do not run a recovery scan against itA scan reads the whole surface. On a mechanically failing drive that is the read that finishes it.
  3. Send it to a cleanroomThis is not a software case, and the product will say so.

Commands

recoveryantra list --triage

Confirms the condition and the device class. Keep it brief.

recoveryantra image --device \\.\PhysicalDrive2 -o D:\drive.dd --retries 0

ONLY if the drive is reading and the decision has been taken to attempt a single gentle pass. Not for a clicking drive.

Options, and when to use them

--retries0 or 1 for a deteriorating drive. High retry counts on a failing surface cost you the areas not yet reached.
--formatraw for speed on a marginal drive; convert to E01 later from the image if the matter needs it.

Best practice

  • Recognise a mechanical fault and stop, rather than proving it with one more attempt
  • If imaging is attempted at all, image once, with retries low, and work from the image afterwards

What this will not do

  • No software opens a physically failed drive. A drive that will not spin, or is not detected, needs a cleanroom and donor parts
  • Imaging a drive with a head fault can convert a recoverable case into an unrecoverable one

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Deleted messages are needed from an Android handset

Messages, call history or contacts have been deleted from an Android handset and are needed back. Whether this is possible depends on whether the database can be reached.

How to recognise it

  • The handset works and is unlocked
  • The messages are not in any backup
  • The handset may or may not be rooted

Procedure

  1. Establish what can be reached on this handsetWithout root, only what the handset exposes can be copied. With root, the databases themselves can be read.
  2. Read the message database, including deleted rowsA deleted row frequently survives in the database's free space or in its write-ahead log.
  3. Report recovered deleted records as recovered deleted recordsThey are flagged as such, and the flag must survive into whatever is handed over.

Commands

recoveryantra phone --areas

What is reachable on this handset.

recoveryantra phone --store mmssms.db --deleted-only

Recover only the deleted rows from the SMS database.

recoveryantra phone --deep D:\PulledPhone

Mine a whole pulled phone folder for deleted material.

Options, and when to use them

--deepUse when deleted material matters and you have a full pulled folder. It takes considerably longer than reading one store.
--appForce the profile if auto-detection picks the wrong one.
--keyRequired for WhatsApp and other encrypted stores.

Best practice

  • Take a copy of the databases and work from the copy
  • Keep the deleted flag on every record through to the export
  • Record who authorised access to the handset

What this will not do

  • A locked handset cannot be read at all
  • Where the database has been vacuumed, deleted rows are genuinely gone
  • Some applications are ephemeral or server-side and are not recoverable locally; those are named rather than attempted

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Mobile Workbench

A drive already had CHKDSK (or another repair tool) run on it before recovery was tried

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

CHKDSK can rewrite a volume's index into something that still looks like a real, working filesystem - it stops asking to be formatted - while the fields inside it now point at the wrong place. Reading it as it stands now names almost nothing; the volume's own untouched spare copy of that index is consulted automatically whenever that happens, the same way it already is when the index is gone entirely.

How to recognise it

  • The drive mounts normally and reports the right size, not RAW
  • Folders that used to hold files are now empty, or the whole drive looks empty
  • CHKDSK (run by Windows automatically, or by the customer) said it fixed something

Procedure

  1. Do not run CHKDSK, or any other repair tool, againEach run writes to the very structures a spare-copy recovery reads from; a second run can overwrite the untouched copy as well.
  2. Recover in fs or smart mode, including intact filesThe primary index is read first; if it names essentially nothing, the volume's own spare copy is tried next, automatically, before anything is reported back.
  3. Read the recovery's own note about which copy was usedWhen the spare copy was needed, the result says so plainly, together with anything CHKDSK itself had already saved into FOUND.000-style folders.

Commands

recoveryantra recover --device \\.\PhysicalDrive2 -o D:\Recovered --mode fs --include-intact

Read the volume as it stands now; the spare index is tried automatically if the primary comes back essentially empty.

recoveryantra recover --device \\.\PhysicalDrive2 -o D:\Recovered --mode smart --include-intact

Also carve by content for anything neither copy of the index reaches.

Options, and when to use them

--include-intactRequired: CHKDSK's aftermath is not a deletion, the customer's own live files need reading back too.
--modefs reads only the index (fast, includes the automatic spare-copy fallback); smart adds carving over the same region.

Best practice

  • Never word this as the customer's mistake - they tried the obvious thing before calling, which is what most customers arriving here have done
  • Say plainly which copy of the index was actually used
  • Point out any FOUND.000\FILEnnnn.CHK fragments CHKDSK itself already produced, rather than leaving them unexplained in the results

What this will not do

  • A spare copy of the INDEX only restores names and folders; file data genuinely overwritten since CHKDSK ran is not recovered by it
  • A volume that legitimately holds very little is left alone - the fallback only runs when a known, valid filesystem names essentially nothing, not merely a small number of files

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

9 scenarios

Servers, arrays and virtual infrastructure

Storage that a business runs on: RAID sets, NAS units, storage pools, virtual machine disks and machines that cannot be dismantled.

The source step: one card per connected drive
The source step: one card per connected drive

A RAID 5 array dropped a disk and the controller will not rebuild

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

An array has lost a member and the controller either refuses to rebuild or failed part way through. The data is still spread across the surviving members and can be assembled in software.

How to recognise it

  • The controller reports the array as failed or offline
  • A rebuild started and stopped, or was never offered
  • The volume no longer mounts on the host

Procedure

  1. Stop the controller from rebuilding againA second rebuild attempt onto a marginal disk is the most common way a recoverable array becomes unrecoverable.
  2. Image every surviving member before assembling anythingAssembly is read-only, but the members are usually the same age and the same model, so a second failure during the work is a real risk.
  3. Assemble from the member images and read the volumeGeometry is read from the members' own metadata where it survives.

Commands

recoveryantra image --device \\.\PhysicalDrive1 -o E:\raid\d1.dd --retries 2

Image each member in turn to the case store.

recoveryantra raid --members E:\raid\d1.dd E:\raid\d2.dd - E:\raid\d4.dd --auto -o E:\Out --include-intact

Assemble with the failed member marked absent and recover the volume.

recoveryantra raid --members E:\raid\d1.dd E:\raid\d2.dd - E:\raid\d4.dd --level 5 --chunk 65536 -o E:\Out --include-intact

State the geometry yourself when the metadata is gone.

Options, and when to use them

--autoTry first. It reads level, order and stripe size from the members, which removes the guesswork.
--membersOrder is what matters. A dash marks the missing member; a wrong order assembles a volume full of scrambled files.
--chunkThe value most often recorded wrongly in site documentation. If files open as garbage, this is the first suspect.
--include-intactRequired. Nothing here was deleted; the array stopped assembling.

Best practice

  • Image every member before touching the array
  • Label the images with the physical bay each disk came from
  • Verify by opening several recovered files of different types, not by the fact that a volume appeared

What this will not do

  • RAID 5 with two failed members cannot be reconstructed. RAID 6 tolerates two
  • A member that was rebuilt with wrong data before you arrived contributes wrong data to the assembly

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A NAS unit is offline and the data is in daily use

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A NAS has stopped serving. The unit itself may have failed while the disks are fine, which is the common case and the recoverable one.

How to recognise it

  • The web interface does not respond or reports a degraded volume
  • Shares have disappeared from the network
  • The disks spin up normally when connected directly

Procedure

  1. Take the disks out and label the bay orderNAS units store the array layout on the disks, but bay order is the cheapest thing to record and the most annoying to reconstruct.
  2. Image each diskConsumer NAS disks are usually the same batch and the same age.
  3. Assemble the array and read the volumeSynology SHR, standard Linux md arrays and LVM volumes are read from their own metadata.

Commands

recoveryantra list --triage

Check each disk's health before imaging it.

recoveryantra image --device \\.\PhysicalDrive2 -o E:\nas\d1.dd

Image each NAS disk.

recoveryantra raid --members E:\nas\d1.dd E:\nas\d2.dd --auto -o E:\Out --include-intact

Assemble and recover. Auto covers SHR and Linux md layouts.

Options, and when to use them

--autoCorrect for almost every NAS. The layout is written on the disks by the unit itself.
--include-intactRequired: this is a whole-volume recovery.
--sector-sizeChange from 512 only for 4K-native disks.

Best practice

  • Record which bay each disk came from before removing any of them
  • Recover to storage that is not part of the NAS
  • If the unit is under warranty, image first and let the vendor have the hardware afterwards

What this will not do

  • An encrypted NAS volume needs its passphrase; without it the data is not readable
  • A NAS that wrote a new configuration over the old array may have destroyed the layout, and that is not always recoverable

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A file server volume reports as RAW after a power failure

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

Power was lost during writes and the volume no longer mounts. The file system metadata is damaged; the data usually is not.

How to recognise it

  • The volume shows as RAW in Disk Management
  • chkdsk offers to fix it, or refuses to run
  • The partition table still shows the right size

Procedure

  1. Do not run a repair utility yetA repair writes to the volume. If it goes wrong there is no second attempt, and the recovery becomes much harder.
  2. Image the volume firstThe image is what protects the option of trying something else.
  3. Recover from the image with intact files includedThe file system's backup copies are consulted automatically, which often returns names and folders intact.

Commands

recoveryantra image --device \\.\PhysicalDrive1 -o E:\server.dd --format e01

Image the volume to a compressed evidence image.

recoveryantra recover --image E:\server.dd -o E:\Out --include-intact --report

Recover everything and produce a report for the client.

Options, and when to use them

--include-intactRequired. Nothing was deleted.
--formate01 compresses well on a server volume with free space, and carries the acquisition metadata.
--reportThe client will want a list of what came back.

Best practice

  • Image before any repair attempt, without exception
  • Recover first, and only consider repairing the original afterwards
  • Check the recovered folder structure against what the client expects

What this will not do

  • Regions the power failure left half-written are damaged in the data as well as the metadata
  • A volume that was subsequently reformatted by an administrator loses the old metadata entirely

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A virtual machine disk is corrupt and the backup is too old

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A VMware or Hyper-V virtual disk will not boot or will not attach, and the most recent usable backup predates work that matters.

How to recognise it

  • The hypervisor reports the disk as invalid or locked
  • The guest fails to boot after a snapshot operation
  • A -flat.vmdk or .vhdx file exists and is the expected size

Procedure

  1. Copy the virtual disk files off the datastoreWork from a copy. The datastore is live storage and the original should stay untouched.
  2. Open the virtual disk directly and read the guest file systemThe disk does not need to boot, or even attach, to have its contents read.
  3. Recover the files the business needs, not the whole guestA full guest restore is usually slower than extracting the data and putting it into a working machine.

Commands

recoveryantra recover --image E:\vm\server-flat.vmdk -o E:\Out --include-intact

Read the guest file system straight out of the virtual disk.

recoveryantra recover --image E:\vm\server.vhdx -o E:\Out --include-intact --report

The same for Hyper-V, with a report.

Options, and when to use them

--include-intactRequired. The guest's files were never deleted.
--modesmart. The guest file system is usually intact once the container can be read.
--reportUseful evidence for the change record.

Best practice

  • Copy the virtual disk off the datastore before starting
  • Where a snapshot chain exists, establish which link is the current one before reading any of them
  • Extract data rather than attempting to resurrect the guest, unless the guest itself is the deliverable

What this will not do

  • A split or snapshot chain with a missing link cannot be reassembled past the gap
  • An encrypted guest volume still needs its key

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A Storage Spaces pool will not come online

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A Windows Storage Spaces pool reports as unhealthy and its virtual disk will not attach, so the data on it is unreachable through Windows.

How to recognise it

  • The pool shows a warning in Server Manager
  • The virtual disk is detached and will not reattach
  • The member disks are all present and readable

Procedure

  1. Image every member diskReassembly reads across all of them, and pool members are commonly the same age.
  2. Reassemble the virtual disk from the member imagesThe pool database describes how slabs are laid across the members.
  3. Recover from the reassembled volumeOnce assembled it reads as an ordinary NTFS or ReFS volume.

Commands

recoveryantra image --device \\.\PhysicalDrive3 -o E:\pool\m1.dd

Image each pool member.

recoveryantra recover --slabmap E:\pool\slabmap.json -o E:\Out --include-intact

Reassemble from the slab map and recover the volume.

Options, and when to use them

--slabmapThe route for a Storage Spaces virtual disk; a plain member image on its own is not a volume.
--include-intactRequired, as with any whole-volume recovery.

Best practice

  • Image all members before assembly
  • Keep the member images together with the slab map; one without the other is not usable
  • Confirm the assembled volume yields real files before reporting success

What this will not do

  • A pool missing more members than its resiliency tolerates cannot be reassembled
  • Parity layouts must be established correctly; the product builds the candidates and keeps the one that yields a real file system

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A drive must be read in a machine that cannot be dismantled

RecoverYantraSuiteImage a drive over the networkIn the app

The data is on a machine that cannot be opened: a laptop under warranty, a server that must not be taken apart, or a site nobody can attend today.

How to recognise it

  • The machine boots, or can be booted from external media
  • The drive cannot be removed for policy or warranty reasons
  • There is a network path between the two machines

Procedure

  1. Run the agent on the target machineIt serves the drive read-only across the network.
  2. Image the drive from the working machineThe image lands on your storage, and the recovery runs against it.
  3. Verify the image before releasing the machineA short image is reported as failed rather than handed over.

Commands

recoveryantra remote agent

Run on the machine holding the drive, so it can be read across the network.

recoveryantra remote list

See which drives that machine is offering.

recoveryantra remote image

Copy the drive across to local storage.

recoveryantra recover --image E:\remote.dd -o E:\Out --include-intact

Recover from the image once it has arrived.

Options, and when to use them

--include-intactUsually required, since the machine's files were not deleted.
--reportWorth producing when the machine is going back to somebody else.

Best practice

  • Verify the image length against the source before releasing the machine
  • Run the agent only on a network you control
  • Record the start and finish times: a large drive over a slow link is an overnight job

What this will not do

  • The transfer is only as reliable as the link, and a large drive over a slow network takes as long as it takes
  • A machine that will not boot at all needs rescue media or the disk removing after all

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

A CCTV recorder disk shows as unformatted in Windows

RecoverYantraSuiteCCTV and DVR footageIn the app

A disk taken out of a security recorder shows no readable file system in Windows, because recorders use their own layout rather than NTFS.

How to recognise it

  • Windows offers to format the disk
  • The recorder itself has failed or its export function does not work
  • The footage is needed for a specific date and time

Procedure

  1. Identify the recorder before extracting anythingIt reports which recorder wrote the disk, which tells you whether the format is supported and how long the job will take.
  2. Image the disk if the footage may be needed as evidenceRecorder disks are large, so plan the storage first.
  3. Extract clips, then reviewRecorders overwrite continuously, so the oldest footage present is the boundary of what exists.

Commands

recoveryantra cctv --device \\.\PhysicalDrive2 --identify-only -o E:\Clips

Establish which recorder wrote the disk, without extracting.

recoveryantra image --device \\.\PhysicalDrive2 -o E:\dvr.dd

Image the recorder disk first where the footage matters.

recoveryantra cctv --image E:\dvr.dd -o E:\Clips --min-clip 262144

Extract clips from the image, ignoring very short fragments.

Options, and when to use them

--identify-onlyAlways run first. It costs minutes and tells you whether the rest of the job is viable.
--min-clipRaise it when the sweep returns large numbers of very short fragments; lower it when the incident is only seconds long.
--max-clipsCap a sampling run on a very large recorder, and say in the notes that the run was capped.

Best practice

  • Power the recorder down before removing the disk; a running recorder overwrites the oldest footage continuously
  • Identify first, extract second
  • Note the recorder's clock setting: recorder time is frequently wrong and the timestamps inherit it

What this will not do

  • Clips are recovered by content, so per-clip channel and start time are not always available
  • Footage the recorder has already overwritten is gone
  • A clip whose parameter sets were lost may not play, and is marked as such rather than listed as normal

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

A customer needs one exact clip off an already-recovered recorder extraction, playable and with a still for the report

RecoverYantraSuiteCCTV and DVR footageIn the app

The clips are already extracted from a recorder disk, and one customer or insurer needs a single time range from a single camera - not the whole extraction, and not the raw carved file if a shorter, playable cut will do.

How to recognise it

  • The footage has already been through `cctv --device/--image -o`
  • A customer, insurer or the other side needs one clip, one range, or a still, not the full extraction
  • The clip has to remain trustworthy: the recorder's own bytes wherever possible, and said plainly when it is not

Procedure

  1. Read the recorder's own camera indexCameras against time, read in seconds, nothing written - confirms which camera and time range you actually need before touching a single clip file.
  2. Play the clip firstFrame count, keyframes, picture size and time base - the same check a forensic examination runs before handing anything over.
  3. Hand over the whole clip, or cut a shorter rangeA full clip is downloaded byte-exact; a range is remuxed losslessly by default, so the recorder's own compressed pictures are kept rather than re-encoded.
  4. Capture a still and write the reportA still frame for a claim form, and a written report covering every clip's channel, time, codec and hash.

Commands

recoveryantra cctv index E:\dvr.dd

See every camera and its time range before choosing a clip.

recoveryantra cctv play D:\Footage\clip_00000000.h264

Confirm the clip's own timeline before handing it over.

recoveryantra cctv download D:\Footage\clip_00000000.h264 -o D:\Handover

The whole clip, byte-exact, SHA-256 verified.

recoveryantra cctv custom D:\Footage\clip_00000000.h264 --from 1200 --to 3900 -o D:\Handover

The range that matters and nothing either side of it, remuxed losslessly by default.

recoveryantra cctv extract D:\Footage --channel 3 -o D:\Handover

Everything from one camera, once the index says which channel it is.

recoveryantra cctv frames D:\Footage\clip_00000000.h264 --from 1200 --to 1206 -o D:\Handover

A few stills for the claim form or report.

recoveryantra cctv report D:\Footage -o D:\Handover

A written report of every clip's channel, time, codec and hash.

Options, and when to use them

--unitGive --from/--to in seconds instead of frames when you are working from a timestamp rather than a frame number.
--reencodeOnly when the exact frame range matters more than keeping the recorder's own bytes - every pixel becomes new, and the screen and the sidecar both say so.
--channelNarrow `cctv extract` to one camera once `cctv index` or `cctv clips` has said which channel it is.

Best practice

  • Identify and index the recorder before choosing a clip, so the range asked for is the range that actually matters
  • Prefer the lossless cut; only re-encode when the exact frame range is required and say so in the handover notes
  • Keep the original clip and every cut's provenance sidecar; a re-encoded clip is a fair representation, not the recorder's bytes

What this will not do

  • Channel and start time are only as good as the recorder's own table - a table-less disk's clips carry inferred camera labels and unknown times, never an invented channel number
  • A clip whose parameter sets were lost may not play in every viewer, and is marked as such rather than listed as normal

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

Files deleted from a cloud-synced folder are past the provider's retention

RecoverYantraSuiteCloud account recoveryIn the app

Files were removed from a OneDrive, Google Drive or Dropbox folder and the provider's own recycle bin no longer has them. The local cache on the machine may still hold copies.

How to recognise it

  • The provider's web interface shows nothing to restore
  • The deletion is older than the retention window
  • The machine that held the folder is still available

Procedure

  1. Check the provider's version history firstWhere it still holds the file, that is the complete and correct answer, and it takes minutes.
  2. Recover the local sync cache from the machineThe client keeps local copies and metadata that frequently survive the deletion.
  3. Stop using the machine while this is outstandingThe cache is on the same volume as everything else the machine writes.

Commands

recoveryantra recover --device \\.\PhysicalDrive0 -o E:\Out

Recover deleted files, including the cloud client's local cache.

recoveryantra search E:\Out "quarterly report"

Find the specific document across a large recovery.

Options, and when to use them

--modesmart. Cache files are ordinary files on the volume.
--reportUseful when the client needs to show what was and was not recoverable.

Best practice

  • Exhaust the provider's own version history before doing anything else
  • Take the machine out of use as soon as the loss is reported
  • Search rather than browse: a full-volume recovery is too large to read by eye

What this will not do

  • The provider's copy of the account is not read directly; the local cache is what is recovered here
  • A machine that has been in heavy use since the deletion will have overwritten much of the cache

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

8 scenarios

Recovery bench procedure

How a professional handles the media itself: imaging first, assembling unknown arrays, repairing what came back, and working a mixed case.

Imaging a failing drive, bad regions retried then logged
Imaging a failing drive, bad regions retried then logged

A recovered video will not play

RecoverYantraSuiteRepair broken videoIn the app

The recovery listed a video as recovered, but the file will not open, or plays sound with no picture. This is normally a missing or inconsistent index rather than missing picture data.

How to recognise it

  • The player reports an unsupported or corrupt file
  • Audio plays but the picture is absent
  • The file size looks plausible

Procedure

  1. Run the video repair over the recovery folderIt rebuilds the index in the recovered COPY, which is what most players read.
  2. If that is not enough, repair using a healthy clip from the same deviceA reference file from the same camera donates structure only; the picture data comes entirely from the damaged file.

Commands

recoveryantra fixvideos D:\Recovered

Repair the index of every unplayable video in the folder.

recoveryantra fixwith --file broken.mp4 --reference good.mp4 -o fixed.mp4

Rebuild a missing index from a healthy clip by the same device.

Options, and when to use them

--referenceMust be from the SAME camera or phone. A reference from a different device produces a file that opens and is wrong.
-oWrite the repaired copy separately when the original has to be preserved exactly as recovered.

Best practice

  • Repair the copy, never the original recovery output
  • Confirm the repaired file plays before reporting it as recovered
  • Sound-but-no-picture almost always means the index survived and the media was cut short; check the recovery for a size warning

What this will not do

  • Picture data that was overwritten on the source cannot be rebuilt by anything
  • A repaired file is reported as repaired, not as byte-exact
  • The repair workspace is in the Suite; the Imager extracts the file but does not repair it

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A client's drive is failing and every read is a risk

RecoverYantraSuiteImage a failing driveIn the app

The drive still reads but is deteriorating. The decision that matters is made in the first ten minutes: read it once, carefully, and work from the copy.

How to recognise it

  • Read errors appear in the system log
  • Throughput collapses part way through a read
  • The triage reports the drive as unhealthy

Procedure

  1. Triage briefly, then stop reading the driveTriage establishes the condition. It is not a scan and should not become one.
  2. Image once, with a retry policy chosen in advanceEvery retry is another read of a failing surface. Decide the policy before starting, not while watching it.
  3. Do all the recovery work against the imageThe original goes back to the client having been read once.

Commands

recoveryantra list --triage

Establish condition, bus and device class.

recoveryantra image --device \\.\PhysicalDrive2 -o E:\client\drive.dd --retries 1

One careful pass, with bad regions skipped and logged.

recoveryantra recover --image E:\client\drive.dd -o E:\client\Out --include-intact --report

Recover from the image, not the hardware.

Options, and when to use them

--retriesLow on a deteriorating drive. High retry counts can cost you the areas the imaging has not reached yet.
--formatraw is faster on a marginal drive; convert later if the matter needs an evidence container.
--forceOnly after reading the objection. It can override a same-drive destination, which would overwrite the data.

Best practice

  • Decide the retry policy before the first read
  • Keep the skip map: it tells you which recovered files sit over unreadable regions
  • Return the original to the client as soon as the image is verified

What this will not do

  • A drive that is mechanically failing needs a cleanroom, and imaging it can finish it
  • Regions that could not be read are absent from the image, and files over them are incomplete

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

Loose disks have arrived from an array nobody documented

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A set of disks has arrived with no controller, no documentation and no agreed order. The order and geometry have to be established before anything can be read.

How to recognise it

  • Several disks of the same model and size
  • No controller, or a controller that no longer works
  • Nobody at the client knows the configuration

Procedure

  1. Image every disk firstEverything after this is trial and error, and it must be done against copies.
  2. Try automatic detection before assuming anythingLinux md, Intel RST, Synology SHR and Windows dynamic disks all write their layout onto the members.
  3. Where the metadata is gone, test geometries and judge by the filesA correct assembly produces files that open. A wrong one produces a volume that mounts and returns rubbish.

Commands

recoveryantra image --device \\.\PhysicalDrive3 -o E:\arr\d3.dd

Image each disk, labelled with the bay it came from.

recoveryantra raid --members E:\arr\d1.dd E:\arr\d2.dd E:\arr\d3.dd --auto -o E:\Out --include-intact

Let the members' own metadata supply the geometry.

recoveryantra raid --members E:\arr\d1.dd E:\arr\d2.dd E:\arr\d3.dd --level 5 --chunk 131072 --layout left-symmetric -o E:\Out --include-intact

Test a stated geometry when the metadata is absent.

recoveryantra raid --members E:\arr\d1.dd E:\arr\d2.dd --list-volumes

On Windows dynamic disks, list the volumes the set carries.

Options, and when to use them

--autoAlways try first.
--chunkThe variable most worth testing systematically. A wrong value mounts and returns corrupt files.
--layoutOnly change for an array documented as non-standard.
--list-volumesWindows dynamic disks can carry several volumes on one set of disks.

Best practice

  • Image before experimenting, always
  • Judge an assembly by opening files of several types, never by the fact that a volume appeared
  • Write down each combination tried and the result, or you will repeat them

What this will not do

  • An array missing more members than its level tolerates cannot be assembled
  • A member that was partially rebuilt with wrong data will contribute that wrong data

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

One case arrives as a laptop, a phone and a recorder

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A single job combines several kinds of media, each needing a different acquisition method, and the client expects one answer at the end.

How to recognise it

  • Multiple exhibits with one reference number
  • Different media types with different urgency
  • A deadline that covers all of them

Procedure

  1. Triage everything before starting any of itThe failing item sets the order. Anything deteriorating goes first.
  2. Image what can be imaged; send the phone to RecoverYantra MobileHandsets are not drives and are not imaged the same way; the phone exhibit is acquired in RecoverYantra Mobile and its image or extraction comes back here for recovery.
  3. Keep one output structure per exhibitOne folder per exhibit is what keeps a mixed case reportable.

Commands

recoveryantra list --triage

Condition and class for every attached device.

recoveryantra image --device \\.\PhysicalDrive1 -o E:\case\ex1\laptop.dd

Image the laptop drive.

recoveryantra cctv --device \\.\PhysicalDrive2 --identify-only -o E:\case\ex3

Identify the recorder before committing to an extraction.

recoveryantra recover --image E:\case\ex1\laptop.dd -o E:\case\ex1\Out --include-intact --report

Recover each exhibit into its own folder, with its own report.

Options, and when to use them

--include-intactUsually required for whole-media recovery.
--reportOne per exhibit, so the case file assembles cleanly.
--identify-onlyFor the recorder, before any extraction.

Best practice

  • Triage everything first; let condition set the order
  • One folder and one report per exhibit
  • Record which method was used on which exhibit, because they differ

What this will not do

  • Each medium keeps its own limits: the phone case is bounded by what the handset allows, the recorder by what it has not overwritten
  • A mixed case takes as long as its slowest exhibit

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

An Intel RST array will not assemble after a motherboard failure

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A desktop or workstation using Intel Rapid Storage Technology has lost its motherboard. The replacement board does not recognise the array, so the volume is unreachable.

How to recognise it

  • The new board shows the disks individually
  • The RST option ROM reports the array as missing or failed
  • Both disks are healthy on their own

Procedure

  1. Image both disksThe array metadata is on the disks, so nothing is lost by working from copies.
  2. Assemble from the members' own metadataIntel RST writes its metadata block onto the members, so the array can be read without the board that made it.
  3. Recover the volumeOnce assembled it is an ordinary Windows volume.

Commands

recoveryantra image --device \\.\PhysicalDrive1 -o E:\rst\d1.dd

Image each member.

recoveryantra raid --members E:\rst\d1.dd E:\rst\d2.dd --auto -o E:\Out --include-intact

Assemble from the Intel metadata and recover.

Options, and when to use them

--autoReads the Intel metadata directly. This is the route for fake-RAID.
--include-intactRequired.
--membersOrder still matters even with automatic detection; keep the images labelled by port.

Best practice

  • Do not let the replacement board initialise or rebuild the array
  • Image both members before any assembly attempt
  • Confirm with files that open, not with a volume that appears

What this will not do

  • If the new board wrote fresh array metadata over the old, the original layout may be gone
  • A degraded RAID 0 cannot be recovered: it has no redundancy

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by SakshyaYantra Forensic Suite

Files are needed from a Time Machine backup and the Mac is gone

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

A Time Machine backup disk is available but the Mac that made it is not. Reading the disk naively returns correctly named files with no contents.

How to recognise it

  • The backup disk mounts and shows a Backups.backupdb folder
  • Files inside appear to be zero bytes
  • The original Mac is unavailable or has failed

Procedure

  1. Image the backup diskIt is usually the client's only copy at this point.
  2. Read the backup with its hard links resolvedA Time Machine backup is built from hard links. Without resolving them the files read as empty stubs.
  3. Select the moment in time that is wantedA backup holds many dated snapshots of the same machine.

Commands

recoveryantra image --device \\.\PhysicalDrive2 -o E:\tm.dd

Image the backup disk.

recoveryantra timemachine --image E:\tm.dd

Enumerate the machines and dated backups the disk holds.

recoveryantra timemachine --device \\.\PhysicalDrive2 --offset 209715200

Read the backup directly, giving the volume offset when it cannot be found automatically.

Options, and when to use them

--imagePreferred over --device: work from the copy.
--offsetOnly needed when the partition table is damaged and the volume cannot be located automatically.

Best practice

  • Image the backup disk before reading it
  • Establish which dated backup the client actually wants before extracting everything
  • Check that recovered files have real contents, not only real names

What this will not do

  • Broken hard links are reported rather than written out as empty files
  • A backup disk that was itself failing may have lost the very generation that is wanted

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A laptop will not start and its data is needed

RecoverYantraSuiteBootable rescue USBIn the app

The machine does not boot. The disk may be perfectly healthy, and the fastest safe route is often to read it without dismantling the machine.

How to recognise it

  • The machine powers on but does not reach the operating system
  • The disk is soldered, or the machine is under warranty
  • There is no spare machine to put the disk in

Procedure

  1. Prepare rescue mediaA stick that boots the machine into an environment that can read the disk read-only.
  2. Boot the machine from the stick and image the diskImaging first keeps the option of trying something else.
  3. Recover from the image on the benchThe failed machine is not the place to do the recovery work.

Commands

recoveryantra bootusb --target E:\

Lay the toolkit onto the stick.

recoveryantra bootusb --target E:\ --payload-iso D:\live-linux.iso

Make the stick genuinely bootable from a live Linux image.

recoveryantra acquire -o E:\Evidence --retries 1

From the booted stick: pick the drive from a numbered list and image it to the stick.

recoveryantra recover --image E:\Evidence\disk.dd -o F:\Out --include-intact

Recover from the image back on the bench.

Options, and when to use them

--payload-isoRequired to make the stick actually boot. Writing an ISO ERASES the stick, so use a stick with nothing on it.
--targetConfirm this is the stick and not an external evidence drive.
--retriesKeep low if the disk in the dead machine is also suspect.

Best practice

  • Check the ISO carries a USB boot record before relying on the stick at a customer site
  • Image to external storage, never back onto the machine's own disk
  • Label the image with the machine it came from before leaving site

What this will not do

  • Laying the toolkit onto a stick does not make the stick bootable; that needs an operating system on it
  • A machine that will not power on at all cannot be helped this way

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A recovered ZIP or backup archive will not open

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

An archive came back from a recovery and the archive tool refuses it. Whether this is repairable depends on whether the archive was stored in one piece.

How to recognise it

  • The archive tool reports the file as corrupt or truncated
  • The file size looks plausible
  • Other recovered files from the same scan open normally

Procedure

  1. Check what the recovery itself said about the fileArchives that will not open are flagged during the scan rather than presented as clean recoveries.
  2. Re-run against the image with carving as well as file system parsingA fragmented archive sometimes recovers whole through a different route.
  3. Search the recovery for the individual files insteadWhere the archive cannot be rebuilt, the documents inside it may have been recovered separately.

Commands

recoveryantra recover --image E:\case.dd -o E:\Out --mode smart --include-intact

Run both methods over the source.

recoveryantra search E:\Out "invoice" --category document

Look for the contents directly rather than the container.

Options, and when to use them

--modesmart runs file system parsing and carving together, which is what maximises the chance on a fragmented archive.
--categoryNarrow the search to the kind of file wanted.
--include-intactAdd when the archive was never deleted, only unreadable.

Best practice

  • Read the scan's own notes before re-running anything
  • Where the container cannot be rebuilt, go after the contents
  • Tell the client which files came from inside the archive and which did not

What this will not do

  • An archive whose blocks were reused cannot be rebuilt by any tool
  • Only ZIP-family archives are opened and checked; RAR and 7z are not judged, so they are neither confirmed nor condemned

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

7 scenarios

Ransomware and incident response

Working an active incident, from identifying the strain to stating what can and cannot be recovered.

The workspace chooser, including ransomware response
The workspace chooser, including ransomware response

Files across a server were encrypted overnight

RecoverYantraSuiteRansomware triage and recoveryIn the app

Files have been renamed with an unfamiliar extension and a ransom note has appeared. The first hour decides how much comes back, because the originals many strains delete are still in free space.

How to recognise it

  • Files carry a new extension and will not open
  • A ransom note file appears in every folder
  • Scheduled backups have failed or been deleted

Procedure

  1. Take the affected machines off the network and STOP USING THEMContinued use overwrites the free space holding the deleted originals, which is the highest-value recovery available.
  2. Identify the family before planning anythingWhat is recoverable depends entirely on which strain it is.
  3. Triage, then hunt the originals, then state a verdictIn that order. The verdict is only honest once the first two are done.

Commands

recoveryantra ransomware --dir E:\hit --note-file E:\hit\README.txt

Identify the family from the encrypted files and the note.

recoveryantra ransomware --triage E:\hit

How many files are recoverable with no key, salvageable, or truly encrypted.

recoveryantra ransomware --recover-originals E:\hit

Find the originals the encryption process deleted.

recoveryantra ransomware --verdict E:\hit

The full flow fused into one stated outcome with a priority order.

Options, and when to use them

--note-fileThe note is frequently the strongest single identifier of the family.
--recover-originalsThe highest-value step and the most time critical. Run it early.
--verdictUse when a client or an insurer needs one defensible answer rather than three separate outputs.
--usnjrnlAdd when the original PATHS matter as well as the contents.

Best practice

  • Isolate first, then stop using the machines entirely
  • Preserve a copy of the ransom note and a sample encrypted file
  • Do not rename or delete the encrypted files; they are evidence and sometimes partly recoverable
  • Work from an image where the incident may be litigated

What this will not do

  • Strong encryption with a key held only by the attacker cannot be broken by anyone
  • Every hour the machines stay in use reduces what can be recovered from free space

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

The attacker deleted the backups before encrypting

RecoverYantraSuiteRansomware triage and recoveryIn the app

Backups have been deleted or encrypted as part of the attack. Windows shadow copies and file-system snapshots are frequently missed by the attacker and are the fastest complete recovery.

How to recognise it

  • Backup jobs report missing or deleted targets
  • The backup server was reachable from the compromised machine
  • The affected volumes are Windows or run on a NAS

Procedure

  1. Check for shadow copies before anything elseThey hold the volume as it was before the encryption, and reading one is far faster and more complete than carving.
  2. Check NAS and volume-manager snapshotsQNAP, Synology and LVM snapshots survive many attacks.
  3. Recover from the snapshot rather than from the encrypted volumeA snapshot recovery returns whole files with their names and folders.

Commands

recoveryantra recover --device \\.\PhysicalDrive1 --vss-list

List the Windows shadow copies present on the volume.

recoveryantra recover --device \\.\PhysicalDrive1 --vss-snapshot {c4a1b2...} -o E:\Out

Reconstruct the volume as it was at that snapshot and recover it.

recoveryantra ransomware --nas-snapshots E:\lvm-metadata.txt

Enumerate NAS and LVM snapshots from the volume metadata.

Options, and when to use them

--vss-listAlways run first on a Windows volume in an incident.
--vss-snapshotFrequently the fastest complete recovery available.
--nas-snapshotsThe equivalent question on QNAP, Synology and LVM estates, and commonly overlooked.

Best practice

  • Check snapshots before committing to any other recovery route
  • Do not let anyone run a clean-up or a reinstall until this is checked
  • Record which snapshot each recovered file came from

What this will not do

  • An attacker who deleted the shadow copies as well leaves nothing on this route, and the product will say the list is empty
  • A snapshot older than the work that matters recovers an older state, not the current one

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Large files were only partly encrypted

RecoverYantraSuiteRansomware triage and recoveryIn the app

Several strains encrypt only part of each file to work faster across a large estate. The untouched regions of large documents, databases and virtual disks are still readable.

How to recognise it

  • Very large files were processed suspiciously quickly
  • Parts of a file open or display correctly
  • The strain is identified as one that encrypts intermittently

Procedure

  1. Identify the strain and its encryption patternThe pattern determines which regions survived.
  2. Map the damage before deciding what is worth extractingTriage reports what proportion of each file is intact.
  3. Extract the untouched regionsFor a database or a virtual disk, the intact regions are frequently enough to recover the contents.

Commands

recoveryantra ransomware --dir E:\hit --list

Review the known families and their outlook.

recoveryantra ransomware --triage E:\hit

Damage assessment across the affected folder.

recoveryantra ransomware --verdict E:\hit --memory E:\memory.raw

Full flow, including a scan of a captured memory image for key material.

Options, and when to use them

--triageRun before promising anything. It separates recoverable, salvageable and genuinely encrypted.
--memoryOnly useful if memory was captured while the machine was still running. That is a reason to capture it at the scene.
--listReview the family's known behaviour before planning.

Best practice

  • Capture memory at the scene if the machine is still running
  • Salvaged partial content is labelled as partial everywhere it travels
  • Extract database and virtual-disk contents rather than trying to repair the encrypted container

What this will not do

  • The encrypted regions are not recoverable without the key
  • A partly recovered document is a partial document, and is reported as one

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A VMware ESXi estate has been encrypted

RecoverYantraSuiteRansomware triage and recoveryIn the app

A hypervisor estate has been hit. Several strains that target ESXi encrypt the small descriptor files and leave the large flat disks holding the actual data intact.

How to recognise it

  • Virtual machines will not power on
  • Datastore files carry a new extension
  • The -flat.vmdk files are still their original size

Procedure

  1. Establish the strain and its ESXi behaviourThe playbook differs by family, and some encrypt only descriptors.
  2. Check whether the flat disks survivedA flat disk of the expected size is the whole virtual machine's data.
  3. Rebuild the descriptor for each intact flat diskA rebuilt descriptor makes the surviving data readable again.

Commands

recoveryantra ransomware --esxi esxiargs

The recovery playbook for that family.

recoveryantra ransomware --rebuild-vmdk E:\vm\server.vmdk --flat-size 107374182400

Rebuild the descriptor for an intact flat disk.

recoveryantra recover --image E:\vm\server-flat.vmdk -o E:\Out --include-intact

Read the guest file system out of the recovered disk.

Options, and when to use them

--esxiNames the family so the playbook matches the strain actually present.
--rebuild-vmdkFor the common case where the descriptor was encrypted and the flat disk was not.
--flat-sizeMust be the exact byte size of the flat file, read from the file itself. A wrong size produces a descriptor that opens and misreads the disk.

Best practice

  • Take a copy of the datastore files before rebuilding anything
  • Read the exact flat-file size from the file, not from the datastore listing
  • Recover guest data first; rebuilding the estate can follow

What this will not do

  • Where the flat disks themselves were encrypted, this route does not apply
  • Strong encryption of the data remains unbreakable

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A decryptor has been found online for the identified family

RecoverYantraSuiteRansomware triage and recoveryIn the app

A published decryptor appears to exist for the strain. Running an unverified executable against the client's only remaining data is how a single incident becomes two.

How to recognise it

  • The family has been positively identified
  • A tool is available from somewhere on the internet
  • The client is under pressure to act quickly

Procedure

  1. Check the index for a legitimate published decryptorIt names the tool, the publisher and the scope, or states that none exists.
  2. Verify the downloaded file before running itCompare its hash against the catalogue entry for the tool.
  3. Test on copies, never on the only remaining dataA decryptor that behaves unexpectedly must not be able to make things worse.

Commands

recoveryantra ransomware --decryptor stop_djvu

The offline decryptor index for that family: publisher, key status and scope, or a statement that none exists.

recoveryantra ransomware --verify-tool E:\downloads\decryptor.exe

Hash the downloaded tool and check it against the catalogue.

Options, and when to use them

--decryptorRun before searching the internet, not after. It also states when no legitimate tool exists.
--verify-toolAlways. A tool from anywhere other than the named publisher is an unknown executable aimed at the client's last copy.

Best practice

  • Verify before running, on copies, with the originals preserved
  • Where the index says no decryptor exists, that is the answer; do not substitute an unverified tool
  • Record the tool, version and hash used, in the incident notes

What this will not do

  • Most modern families have no published decryptor and the index says so
  • A decryptor covers a specific time window or key set; it may not apply to this victim even for the right family

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

The affected machine is still running

RecoverYantraSuiteImage a failing driveIn the app

The machine has been found still powered on during an active incident. What is captured before it is switched off cannot be captured afterwards.

How to recognise it

  • The machine is on and the encryption may still be in progress
  • Nobody has pulled the power yet
  • The incident may be litigated or claimed against

Procedure

  1. Isolate the machine from the network without powering it offPull the cable or disable the adapter. Powering off destroys memory.
  2. Capture memory before anything elseSome strains leave key material in memory, and it is gone the moment the machine stops.
  3. Then image the diskThe disk survives a power cycle; memory does not, so it goes second.

Commands

recoveryantra image --device \\.\PhysicalDrive0 -o E:\incident\disk.dd --format e01

Image the disk to an evidence container after memory is captured.

recoveryantra ransomware --verdict E:\hit --memory E:\incident\memory.raw

Feed the captured memory into the verdict so key material can be searched for.

Options, and when to use them

--formate01 for anything that may be claimed against or litigated; it carries the acquisition metadata.
--memoryOnly has anything to work with if memory was captured before shutdown.
--forceOnly after reading the objection; the same-drive case would overwrite the evidence.

Best practice

  • Isolate without powering off
  • Memory first, disk second
  • Record the time of every step: an incident timeline is built from these
  • Do not run remediation tools on the machine before it is imaged

What this will not do

  • Memory cannot be captured after shutdown, and there is no second chance at it
  • Capturing memory writes nothing to the disk but does change memory itself; record the tool and time used

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

The estate is encrypted and nobody knows where it started

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

Multiple machines are affected and the entry point is unknown. Recovering the data and establishing the entry point are two different jobs, and confusing them costs both.

How to recognise it

  • Several machines encrypted within a short window
  • No obvious first victim
  • Insurers or regulators will ask how it started

Procedure

  1. Separate the two objectives explicitlyRecovery restores the business; investigation answers how it happened. They compete for the same machines.
  2. Preserve at least one affected machine untouchedIf everything is remediated, the question of entry point becomes unanswerable.
  3. Recover the restThe business can be restored from the machines that are not being preserved.

Commands

recoveryantra recover --image E:\incident\host3.dd -o E:\Out --include-intact --report

Recover data from an imaged host.

recoveryantra search E:\Out "invoice" --state deleted

Locate specific documents in a large recovery, separating deleted from present.

Options, and when to use them

--include-intactRequired: most files here were encrypted in place, not deleted.
--stateWhether a document was found deleted or present is frequently the point in a dispute.
--reportOne per host, so the incident file assembles.

Best practice

  • Nominate and preserve at least one machine before remediation starts
  • Image before recovering on anything that may be examined later
  • Keep one case reference across every host

What this will not do

  • Establishing an entry point needs forensic examination, which is RecoverYantra Forensics rather than Rescue
  • Machines already rebuilt cannot be examined afterwards

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

6 scenarios

Database files

Getting tables and rows out of a data file when the engine will not start or will not attach it.

Database recovery: the engines covered
Database recovery: the engines covered

SQL Server will not attach an MDF file

RecoverYantraSuiteDatabase row extractionIn the app

The database will not attach and the most recent backup has failed or is too old. The data file itself is present and the rows can be read out of its pages.

How to recognise it

  • SQL Server reports the file as corrupt or a different version
  • The instance will not start, or the database is marked suspect
  • The .mdf and possibly the .ldf are present

Procedure

  1. Take the instance offline and copy the filesExtracting from files a running engine is writing to produces rows from a state that never existed.
  2. Identify the file before planning the workIdentification names the engine and the recovery method, which decides whether this is a short job.
  3. Extract the tables and rows to CSVThe rows are then loadable into a working instance.

Commands

recoveryantra db --identify E:\copy\accounts.mdf

Name the engine and the recovery method that applies.

recoveryantra db --recover E:\copy\accounts.mdf --out E:\Out\accounts.csv

Extract records from the data file to CSV.

recoveryantra db --coverage

Review which database families are covered and at what tier.

Options, and when to use them

--identifyAlways first. It decides the plan.
--recoverWork from a COPY, with the instance offline.
--outWrite to CSV whenever the rows are going to be reviewed or loaded elsewhere. Deleted rows are exported flagged; keep the flag.
--coverageUse when scoping or quoting; the tier matters more than presence in the list.

Best practice

  • Always work from a copy, with the engine stopped
  • Check the row counts against what the business expects before reporting success
  • Preserve the deleted-row flag through to whatever is handed over

What this will not do

  • A live, running database is not repaired by this route
  • Pages that were never written to disk, or have been overwritten since, are not recoverable
  • This recovers data, not a complete server with its users, permissions and jobs

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A MySQL InnoDB tablespace is orphaned

RecoverYantraSuiteDatabase row extractionIn the app

An .ibd file exists but the MySQL instance that owned it is gone or will not start, so the table cannot be attached in the normal way.

How to recognise it

  • The server will not start, or the table is missing from the catalogue
  • The .ibd files are present in the data directory
  • There is no usable dump

Procedure

  1. Copy the tablespace files outWork from copies with the server stopped.
  2. Identify each fileIdentification confirms the engine and the format version.
  3. Extract the rowsThe table's own dictionary information is read where it survives, so columns come back named.

Commands

recoveryantra db --identify E:\copy\orders.ibd

Confirm the engine and the recovery route.

recoveryantra db --recover E:\copy\orders.ibd --out E:\Out\orders.csv

Extract the rows to CSV.

Options, and when to use them

--identifyFirst, as always.
--recoverFrom a copy, with the server stopped.
--outCSV for loading into a working server.

Best practice

  • Stop the server before copying the files
  • Recover the dictionary information along with the rows where it survives, or columns come back unnamed
  • Validate a sample of rows against something the business recognises

What this will not do

  • A tablespace whose pages have been overwritten cannot be fully recovered
  • Foreign keys, indexes and permissions are not reconstructed; this recovers data

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A PostgreSQL cluster will not start

RecoverYantraSuiteDatabase row extractionIn the app

The cluster refuses to start and the heap files are present. Rows, including recently deleted ones, can be read directly out of the heap.

How to recognise it

  • The postmaster refuses to start
  • The data directory is intact
  • The most recent base backup is too old

Procedure

  1. Stop any attempt to start the cluster and copy the data directoryRepeated start attempts can make the state worse.
  2. Identify the heap filesIdentification confirms the version and the page layout.
  3. Extract rows, including dead tuples where they matterA deleted row frequently survives in the page until the table is vacuumed.

Commands

recoveryantra db --identify E:\copy\base\16384\2619

Identify a heap file and its recovery method.

recoveryantra db --recover E:\copy\base\16384\2619 --out E:\Out\rows.csv

Extract rows to CSV, deleted ones flagged.

Options, and when to use them

--identifyConfirms it is a heap file and which version.
--outDeleted rows come out flagged; preserving that flag is what stops recovered deleted data being presented as live data.

Best practice

  • Copy the data directory before anything else
  • Do not vacuum or attempt repair before extracting
  • Keep the deleted flag through every downstream step

What this will not do

  • Rows removed by a completed vacuum are gone
  • This is data extraction, not a cluster repair

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Records were deleted from a Microsoft Access database

RecoverYantraSuiteDatabase row extractionIn the app

Rows were deleted from an .mdb or .accdb and are needed back. Access marks records deleted rather than removing them until the file is compacted.

How to recognise it

  • The records are absent from the application
  • The database has not been compacted since the deletion
  • There is no recent backup

Procedure

  1. Copy the file and stop anyone using itContinued use, and above all a compact operation, removes the deleted records permanently.
  2. Identify the formatJet 4 and ACE differ, and identification settles which applies.
  3. Extract the records, including deleted onesDeleted records come back flagged as deleted.

Commands

recoveryantra db --identify E:\copy\contacts.accdb

Confirm the format and the route.

recoveryantra db --recover E:\copy\contacts.accdb --out E:\Out\contacts.csv

Extract records, deleted rows marked.

Options, and when to use them

--identifyDistinguishes Jet 4 from ACE.
--outCSV keeps the deleted flag as a column.
--memoRequired for a dBASE file with a memo side-file; without it long text fields come back empty.

Best practice

  • Stop use of the database immediately, and above all do not compact it
  • Work from a copy
  • Present recovered deleted records as recovered deleted records

What this will not do

  • A compacted database has genuinely removed the deleted records
  • An Access database protected with a password needs that password

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A MongoDB collection will not load

RecoverYantraSuiteDatabase row extractionIn the app

A WiredTiger collection file is present but the server will not start or will not read it, and the documents are needed.

How to recognise it

  • mongod fails to start or reports a corrupt collection
  • The collection-*.wt files are present
  • There is no usable dump

Procedure

  1. Copy the data directory with the server stoppedAs with any database, extract from copies.
  2. Identify the collection fileIt confirms WiredTiger and the compression in use.
  3. Extract the documentsDocuments are read out of the pages and written out for reload.

Commands

recoveryantra db --identify E:\copy\collection-0-123.wt

Confirm the engine and compression.

recoveryantra db --recover E:\copy\collection-0-123.wt --out E:\Out\docs.csv

Extract the documents.

Options, and when to use them

--identifyConfirms WiredTiger and reports the compression, which decides whether the pages can be read here.
--outWrite the extracted documents out for reload.

Best practice

  • Stop the server before copying
  • Check the document count against what the application expects
  • Where compression is not supported, the product reports it rather than returning approximate documents

What this will not do

  • A page compressed with a codec the build cannot decode yields nothing rather than approximate content
  • Indexes and server configuration are not recovered

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Deleted rows are needed from an application's SQLite database

RecoverYantraSuiteDatabase row extractionIn the app

An application stores its data in SQLite and rows have been deleted. SQLite frequently leaves deleted rows in the page or in the write-ahead log.

How to recognise it

  • The application no longer shows the records
  • The .db file and possibly a -wal file are present
  • The database has not been vacuumed

Procedure

  1. Copy the database AND its -wal and -shm files togetherThe write-ahead log frequently holds the page that still has the deleted row. Copying the .db alone loses it.
  2. Identify and extractDeleted rows are recovered from free blocks, unallocated space and superseded pages in the log.
  3. Report deleted rows as deletedThey are flagged, and the flag has to survive the export.

Commands

recoveryantra db --identify E:\copy\app.db

Confirm the format and the recovery route.

recoveryantra db --recover E:\copy\app.db --out E:\Out\rows.csv

Extract rows including recovered deleted ones.

Options, and when to use them

--identifyConfirms SQLite and reports what is present.
--outCSV, with the deleted flag preserved as a column.

Best practice

  • Copy the -wal and -shm files with the database; they are part of it
  • Do not open the database in the application first: that can checkpoint the log and lose the very pages wanted
  • Keep the deleted flag through to the deliverable

What this will not do

  • A vacuumed database has genuinely removed the deleted rows
  • Where only fragments of a row survive, the text is reported as recovered text rather than reassembled into a row that was never seen

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

5 scenarios

Mail stores

Reading and exporting mail from a store the client refuses to open.

Mail recovery: the stores covered
Mail recovery: the stores covered

Outlook reports that the file is not an Outlook data file

RecoverYantraSuiteMailbox recovery (Outlook PST/OST, mbox, Maildir)In the app

Outlook refuses to open a .pst. That message means the header or the index structures are damaged, which is exactly the case the structured reader alone cannot handle.

How to recognise it

  • Outlook reports the file is not an Outlook data file
  • The file is a plausible size
  • Repair tools have not been run, or did not help

Procedure

  1. Copy the store and work from the copyRepair tools rewrite the original. Preserve it before anything runs.
  2. List what the store contains before exportingThe listing says whether the store read cleanly or had to be salvaged, which changes what you can promise.
  3. Export the messages to a format that will openThe deliverable is readable mail, not a repaired container.

Commands

recoveryantra mail E:\copy\archive.pst --list

Show what is in the store and how it had to be read.

recoveryantra mail E:\copy\archive.pst -o E:\Out --format eml

Export one file per message, ready to drag into Outlook.

recoveryantra mail E:\copy\archive.pst -o E:\Out --format mbox

Export as a single mbox container for another client or a review platform.

Options, and when to use them

--listAlways run first. A salvaged read recovers messages but may not recover the folder structure.
--formateml for individual review or reimport into Outlook; mbox for Thunderbird, Apple Mail and review platforms.
-oNever the folder holding the store being read.

Best practice

  • Work from a copy and keep the original untouched
  • Tell the client whether the read was clean or salvaged: they differ in what they can deliver
  • Deliver an index alongside the messages; loose .eml files are not a mailbox anybody can use

What this will not do

  • The product extracts messages; it does not write back a .pst that Outlook will reopen
  • Where the folder hierarchy is lost, messages are still recovered but their folder placement may not be
  • A PST password is a check Outlook makes before opening; it does not encrypt the store

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A member of staff has left and only their OST remains

RecoverYantraSuiteMailbox recovery (Outlook PST/OST, mbox, Maildir)In the app

The mailbox has been removed from the server and the only copy is the offline store file on the machine they used. Outlook will not open an OST without its original account.

How to recognise it

  • The mailbox no longer exists on Exchange or Microsoft 365
  • A .ost file is present in the user's profile
  • Outlook will not open it

Procedure

  1. Copy the OST off the machineThe machine may be reissued, which destroys it.
  2. Read the store on its ownThe OST is read directly, without the account that created it.
  3. Export to a format the business can useUsually .eml for reimport, or mbox for review.

Commands

recoveryantra mail E:\copy\user.ost --list

Show what the offline store contains.

recoveryantra mail E:\copy\user.ost -o E:\Out --format eml

Export the messages.

Options, and when to use them

--listEstablish what is there before promising it.
--formateml for reimport into a mailbox; mbox for a review platform.

Best practice

  • Secure the OST before the machine is reissued or wiped
  • Confirm with the business who is authorised to read a former employee's mail before opening it
  • Deliver with an index

What this will not do

  • An OST that was never fully synchronised only holds what it had downloaded
  • The container is not rebuilt; messages are extracted

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Mail files came from a Mac or a Linux machine

RecoverYantraSuiteMailbox recovery (Outlook PST/OST, mbox, Maildir)In the app

Mail has arrived in a format nothing on the Windows bench will read: an Apple Mail store, a Thunderbird profile, or a Maildir tree.

How to recognise it

  • Folders full of files with no extension, or .emlx files
  • A Thunderbird or Evolution profile directory
  • No Mac or Linux machine available to open them

Procedure

  1. Point at the store or the folder holding itA directory of stores is processed as a set.
  2. List before exportingThe listing confirms the format was recognised.
  3. Export to a standard formatmbox or eml, depending on where the mail is going next.

Commands

recoveryantra mail E:\copy\Maildir --list

Confirm the format and show what is in it.

recoveryantra mail E:\copy\Maildir -o E:\Out --format mbox

Export the mailbox as a single mbox container.

Options, and when to use them

--listConfirms the store was recognised before you commit to a full export.
--formatmbox keeps the mailbox as one container; eml gives one file per message.

Best practice

  • Preserve directory structure when copying a Maildir or a profile: it carries the folder layout
  • Confirm character encoding on a sample of messages before delivering the whole set

What this will not do

  • Encrypted or password-protected profiles need their credentials
  • The container is not rebuilt in its original format

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A mailbox has to be produced for review or disclosure

RecoverYantraSuiteMailbox recovery (Outlook PST/OST, mbox, Maildir)In the app

A mailbox is required in a form a review platform or another party can load, with a record of what was produced.

How to recognise it

  • A request for a mailbox in a specified format
  • A deadline and a defined custodian
  • The original store must not be altered

Procedure

  1. Copy the store and record its hashThe production has to be traceable to the source.
  2. List the contents and record the countThe count is part of the production record.
  3. Export in the requested format with an indexThe index is what makes the production usable and checkable.

Commands

recoveryantra mail E:\copy\custodian.pst --list

Record what the store contains before producing anything.

recoveryantra mail E:\copy\custodian.pst -o E:\Production --format mbox

Produce as a single mbox container.

recoveryantra mail E:\copy\custodian.pst -o E:\Production --format eml

Produce as individual messages where that is what was asked for.

Options, and when to use them

--formatMatch what the receiving side asked for. mbox for a single container; eml for per-message production.
--listThe count and the read method belong in the production record.
-oA clean production folder, separate from the working copy.

Best practice

  • Hash the source store before and after; it must not change
  • Record whether each message came from a clean read or a salvage
  • Produce the index with the messages

What this will not do

  • Where an evidential chain of custody is required, that is RecoverYantra Forensics rather than Mail
  • Salvaged messages may lack folder placement, and the production should say so

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A mail store has to be pulled out of a recovered disk

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

The mail file itself was on a failed or formatted disk, so it has to be recovered from the media before it can be read.

How to recognise it

  • The machine holding the mailbox has failed
  • The store is not on any backup
  • The disk is readable or has been imaged

Procedure

  1. Recover the disk firstThe mail store is an ordinary file on the volume.
  2. Locate the store in the recovery outputA full-volume recovery is too large to browse.
  3. Read the recovered store and export the messagesA store recovered from free space is frequently damaged, so expect a salvage read.

Commands

recoveryantra recover --image E:\machine.dd -o E:\Out --include-intact

Recover the volume, including files that were never deleted.

recoveryantra mail E:\Out\Documents\Outlook\archive.pst --list

Check what the recovered store holds.

recoveryantra mail E:\Out\Documents\Outlook\archive.pst -o E:\Mail --format eml

Export the messages.

Options, and when to use them

--include-intactUsually required: the store was not deleted, the volume failed.
--listA recovered store is more likely to need a salvage read; the listing says which happened.
--formateml for reimport, mbox for review.

Best practice

  • Recover to separate storage, then read the store from there
  • Expect a salvaged read on a store recovered from free space, and say so when reporting
  • Check the message count against what the user expects

What this will not do

  • A store whose blocks were partly overwritten yields the messages that survived, not the whole mailbox
  • The recovered file is not repaired into a store the client can open; the messages are extracted

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

15 scenarios

Evidence and investigation

Acquisition, examination and reporting where the method has to be produced alongside the conclusion.

Forensic mode, analysing a single artifact
Forensic mode, analysing a single artifact

Prepare a fleet so any machine can be acquired without travelling

SakshyaYantra Forensic SuiteImage a drive over the networkIn the app

You are responsible for several hundred machines and you do not want the first hour of an incident spent working out how to reach one. The agent is deployed with the rest of the fleet software, before anything has happened, so acquisition is a decision rather than a project.

How to recognise it

  • Machines are spread across sites and subnets, so a network scan finds only what is near you
  • Laptops are often asleep or away when you look
  • Nobody can be sent to sit at the machine
  • The organisation owns and administers the machines

Procedure

  1. Build the package with your console already in itOne MSI, carrying the pairing key, the console's address and the check-in interval. Nothing has to be typed at any desk, and there is no transform or post-install script to get wrong.
  2. Push it the way you push everything elseGroup Policy Software Installation takes MSI and nothing else; Intune and SCCM both accept one. It installs silently and runs as a service, so it is there before anyone logs in.
  3. Let the machines report inEach one says what it is - name, system, volumes, and whether it can be frozen for a live acquisition - when it starts and every few minutes after. You get a roster instead of a scan.
  4. When something happens, pick a machine and acquire itA deliberate act by an operator holding the pairing key. The agent cannot be instructed by the console, so this is never automatic.
  5. If the machine is switched off mid-copy, carry onThe shadow copy survives a restart and the agent remembers it, so the copy resumes into the same image. If that frozen moment is gone, it starts again rather than splicing two moments into one file.

Commands

recoveryantra remote package --platform windows -o D:\rollout --msi --server console.example.internal --site HQ

Build the pushable installer with the console baked in.

recoveryantra remote server --key <pairing-key>

Run on the console so machines can report in.

recoveryantra remote roster

See what has enrolled, and whether each can be frozen.

recoveryantra remote live --host 10.0.4.22 --key <pairing-key> --volume C: -o D:\cases\IR-2026-021\laptop.dd

Acquire one, through a snapshot taken on that machine.

Options, and when to use them

--msiUse it for a real rollout. The folder installers need somebody at each desk, which is not a rollout.
--serverBuild the console's address in, or the agents are silent and you are back to scanning.
--siteLabel the batch - office, department or case - so you can tell which rollout a machine came from.
--keyOne key per site or per case. Rotating a key means generating a new package; the roster shows which key each machine holds so you can see who has not been updated.
--staleOn the roster, include machines not heard from recently, when you are looking for one specific laptop.

Best practice

  • Deploy BEFORE an incident. Installing an agent on a machine you already suspect announces the investigation and changes the machine.
  • Use a different pairing key per site. One key everywhere means one leak everywhere.
  • The MSI carries the key and the server. Store it where you would store a credential, not on a share everyone can read.
  • Check the roster occasionally for machines that stopped reporting - that is how you find an agent that was removed or a machine that was rebuilt.

What this will not do

  • ENROLMENT IS REPORT-ONLY. The console cannot instruct an agent. That is deliberate: an agent that took orders from whatever answered at a hostname would make one server worth every workstation's disk.
  • A machine that is switched off does not report in. The roster shows when each was last heard from.
  • Acquisition connects from the console TO the machine, so the two must be able to reach each other. A laptop behind a home router is enrolled but not reachable until it is on the corporate network.
  • Creating a snapshot allocates space on the endpoint, so a live acquisition writes to the machine even though it never writes to the data being acquired.
  • This is for machines the organisation owns and administers.

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

A staff laptop is suspected in an incident and must not be tipped off

SakshyaYantra Forensic SuiteImage a drive over the networkIn the app

Something has happened - a leak, a suspected intrusion, a departing employee - and the machine belongs to the organisation but sits with the person. Seizing it announces the investigation, and powering it down destroys what is only in memory and in open files.

How to recognise it

  • The machine is in daily use and cannot be collected
  • The custodian must not know an examination has started
  • The organisation owns and administers the machine
  • It is on the network, or comes back to it

Procedure

  1. Record the authority firstConfirm the organisation owns and administers the machine, and record who authorised the acquisition. An authority written afterwards is not an audit trail.
  2. Have the agent already in placeThe agent is deployed with the rest of the fleet software, with a pairing key. Installing it at the moment of the incident is what tips somebody off.
  3. Ask the endpoint what it can do`remote volumes` reports the machine's volumes and whether it can be frozen, before you commit to a transfer that may take hours.
  4. Acquire through a snapshotThe snapshot is taken ON the endpoint, because a volume can only be frozen where it lives, and the frozen view is imaged across the network.
  5. Put the machine backThe snapshot is released and the endpoint is left as it was found. That happens even if the transfer failed part way.
  6. Verify, then work on the copyCheck the image before examining it. Everything after this point rests on it.

Commands

recoveryantra remote volumes --host 10.0.4.22 --key <pairing-key>

Ask the endpoint what it has and whether it can be frozen, before committing to a transfer.

recoveryantra remote live --host 10.0.4.22 --key <pairing-key> --volume C: -o D:\cases\IR-2026-014\laptop.dd

Acquire the running machine through a snapshot taken on it.

recoveryantra recover --image D:\cases\IR-2026-014\laptop.dd -o D:\cases\IR-2026-014\out --profile forensic

Examine the image, hashing every file into the manifest.

recoveryantra audit D:\cases\IR-2026-014\out

Check the audit trail is unbroken before the report goes out.

recoveryantra timeline D:\cases\IR-2026-014\out

Build the timeline from the verified copy.

Options, and when to use them

--hostThe endpoint's address, from `remote discover` or your own asset list.
--keyThe pairing key the agent was installed with. Without it the agent answers nothing at all.
--volumeThe volume ON THE ENDPOINT, in that machine's own terms: a drive letter on Windows, a mount point on Linux and macOS.
-oWhere the image lands on YOUR machine. A case folder on evidence storage, never a workstation desktop.
--keep-snapshotLeave the snapshot in place afterwards. Use when a second volume from the same machine follows, so it is frozen once rather than twice.
--portOnly when the agent was installed on a non-default port.
--profileforensic hashes every recovered file into the manifest and keeps a flat layout; recovery sorts by type and skips hashing. In an examination this is not a preference.

Best practice

  • `--keep-snapshot` leaves the snapshot in place when you expect to take a second volume from the same machine, so it is frozen only once.
  • `volumes` first, always. It tells you whether the machine can be frozen BEFORE you commit to a transfer that may take hours.
  • Run the agent with administrator rights on Windows, or Volume Shadow Copy cannot create the snapshot.

What this will not do

  • Creating the snapshot allocates space on the endpoint. A live acquisition therefore WRITES to the machine, even though it never writes to the data being acquired. Say so in the report.
  • A machine that cannot be frozen is refused, not read live. An image of a moving volume is not a point in time.
  • The Windows route is certified against a real machine. The Linux and macOS routes are implemented and not yet certified.
  • This is for machines the organisation owns and administers. It is not a way into somebody else's computer.

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

A server cannot be taken offline but its data must be captured now

SakshyaYantra Forensic SuiteImage a drive over the networkIn the app

A production server is the subject of an investigation or has been attacked. Shutting it down costs the business more than the investigation is worth, and rebooting it would destroy the state you came for.

How to recognise it

  • The machine cannot be stopped
  • Its disks cannot be removed
  • The data is changing while you look at it

Procedure

  1. Record the authority and the scopeWho asked for this, over which machine, and on what basis.
  2. Check what the server can actually doWindows offers a shadow copy. Linux can be frozen only where the filesystem is on LVM, and a plain partition cannot be. Learn that now rather than after a two-hour transfer.
  3. Acquire through a snapshotSo the image is one moment rather than a smear across however long the copy took.
  4. Release, and confirmThe snapshot is removed and the server is left as it was found.
  5. Verify, then examine the copyThe server keeps running throughout; the examination happens on the image.

Commands

recoveryantra remote volumes --host db01.internal --key <pairing-key>

Find out whether this server can be frozen at all.

recoveryantra remote live --host db01.internal --key <pairing-key> --volume /var -o /cases/db01-var.dd

Acquire the volume through a snapshot while the server keeps running.

recoveryantra recover --image /cases/db01-var.dd -o /cases/db01-out --profile forensic

Examine the image, hashing every file into the manifest.

Options, and when to use them

--hostThe server's address. Use the name your own records use, so the report matches the asset register.
--volumeA mount point on Linux, so /var rather than a device name.
-oEvidence storage with room for the whole volume. The pre-flight measures this before the copy starts.
--keyThe pairing key the agent was installed with.
--portOnly when the agent is not on the default port.
--profileforensic, so every recovered file is hashed into the manifest.

Best practice

  • Take the busiest volume first if the machine is under load - the snapshot fixes the moment, so the earlier it is taken the closer it is to the event.
  • A database on the volume is captured mid-transaction unless it is quiesced first. A snapshot freezes the disk, not the application.
  • Watch the endpoint's free space: the snapshot needs somewhere to keep what changes while it exists.

What this will not do

  • A Linux server whose filesystem is NOT on LVM cannot be frozen, and the acquisition is refused rather than taken live. Acquire it from a boot medium instead.
  • The snapshot is of the disk. Anything held only in memory is not in it.
  • The Linux route is implemented and not yet certified against a real machine.

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

A verified image is needed for proceedings

An exhibit has to be acquired in a way that will withstand scrutiny: the source unchanged, the copy provably identical, and the method recorded alongside the result.

How to recognise it

  • The matter may reach court, a tribunal or an insurer
  • The exhibit must be returned in the state it arrived
  • The examiner must be able to state their method

Procedure

  1. Record the authority before touching the exhibitOperator, lawful basis, organisation and case reference belong on the acquisition, not added afterwards.
  2. Engage a write block, hardware if availableWhere no hardware blocker is available, the software block is engaged and reported as a software block.
  3. Acquire to an evidence container and verifyThe image is hashed on read and verified on completion.

Commands

recoveryantra acquire -o E:\Case\Ex1 --write-block --operator "A Sharma" --authority warrant --org "Valuepitch" --case FIR-4471

Acquire with the authority recorded on the acquisition itself.

recoveryantra image --device \\.\PhysicalDrive2 -o E:\Case\Ex1\disk.E01 --format e01 --retries 2

Image to a compressed evidence container.

recoveryantra mode forensic

Put the bench in forensic mode BEFORE the scan, so every item is hashed and the custody manifest is written.

Options, and when to use them

--write-blockUse on every evidential acquisition without a hardware blocker. Report which one you used; do not describe a software block as hardware.
--operatorThe individual asserting lawful authority.
--authorityWarrant, consent or statutory power. The field records the assertion; it does not create the authority.
--caseSet at acquisition so every later artefact carries the same reference.
--formate01 carries the acquisition metadata other forensic tools expect.

Best practice

  • Set forensic mode before the first scan, not after
  • Record the authority at acquisition; adding it later leaves the earliest entries with a different reference
  • Photograph the exhibit and its labels before connecting anything
  • Verify the image and record the verification result

What this will not do

  • A software write block is an operating-system measure and is not equivalent to a hardware write blocker
  • Physically damaged media needs a cleanroom before it can be acquired at all

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

An investigation needs an ordered account of what happened

SakshyaYantra Forensic SuiteForensic examination and reportingIn the app

The question is not what a file contains but what happened on the machine, in what order. That answer is assembled from many artefacts, not from one.

How to recognise it

  • A defined incident window
  • A question about sequence: what ran, when, and after what
  • An acquired image to work from

Procedure

  1. Build the full timeline before filtering itNarrowing first hides the context that makes a sequence interpretable.
  2. Bound it to the incident windowAn unbounded timeline from a busy machine is too large to read.
  3. Export the relevant window for the reportThe report carries the bounded extract; the working timeline stays in the case file.

Commands

recoveryantra timeline E:\Case\Ex1\artefacts --out E:\Case\Ex1\timeline.csv

Build the combined timeline from the artefacts and write it to CSV.

recoveryantra timeline E:\Case\Ex1\artefacts --start 2026-03-01 --end 2026-03-08 --out E:\Case\Ex1\window.csv

Bound it to the incident window.

recoveryantra timeline E:\Case\Ex1\artefacts --kind prefetch --limit 200

Narrow to execution evidence while testing a hypothesis.

Options, and when to use them

--startBound the timeline once the window is known.
--endThe other bound. Set both.
--kindNarrowing hides context. Establish the sequence on the full timeline before filtering for the report.
--limitA capped timeline is a sample, not the record. Remove the cap before the run that produces the report.
--outCSV whenever the timeline goes into a report or a review platform.

Best practice

  • Full timeline first, filtered extract second
  • Record the machine's own clock setting and time zone; every timestamp inherits it
  • Keep the unfiltered export in the case file

What this will not do

  • A timeline is only as complete as the artefacts acquired
  • Timestamps can be altered; corroborate a critical sequence across more than one artefact type

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A memory image was captured and has to be examined

SakshyaYantra Forensic SuiteForensic examination and reportingIn the app

Memory was captured while the machine was running. It answers questions the disk cannot: what was executing, what was connected, and what was injected.

How to recognise it

  • A physical memory image exists
  • The question concerns running state rather than stored files
  • The kernel build of the source machine is known or discoverable

Procedure

  1. Identify the operating system and kernel firstThe kernel build decides which symbols every other plugin needs, and the answer names them.
  2. Supply the symbols for the exact kernel buildVolatility 3 refuses a run it has no matching symbols for, and names the kernel PDB or banner it needs; nothing is substituted.
  3. List processes, then narrow to the ones that matterInjected-code detection across every process on a large image produces a great deal to review.

Commands

recoveryantra memory info E:\Case\Ex1\memory.raw

Name the operating system and kernel, and the symbols it needs.

recoveryantra memory run E:\Case\Ex1\memory.raw --plugin pslist --os windows --symbols E:\symbols --out E:\Case\Ex1\pslist.json

Processes through Volatility 3, saved so a row can become a finding.

recoveryantra memory run E:\Case\Ex1\memory.raw --plugin malfind --pid 4188 --symbols E:\symbols --json

Injected code in one process, as structured output.

recoveryantra memory finding E:\Case\Ex1\pslist.json --row 12 --case E:\Case\Ex1\case

Record one process row in the case findings, exactly as returned.

recoveryantra memory scan E:\Case\Ex1\memory.raw --action psscan --limit 200

The in-house reader, where Volatility 3 is not installed: processes including terminated ones, with no symbol file needed.

Options, and when to use them

--pluginStart with pslist and netscan; move to cmdline, dlllist, handles and malfind as the question narrows.
--symbolsThe symbol packs or ISF for the EXACT kernel build. The refusal names which ones are missing.
--pidNarrow once triage says which process matters.
--outWhenever the rows may go into the case or another tool.
--limitA limited table is a sample; do not quote it as a total.

Best practice

  • Record the kernel build of the source machine at capture time
  • Never report structured findings produced without matching symbols as verified
  • Keep the raw image; analysis is repeatable, capture is not

What this will not do

  • Memory cannot be captured after shutdown
  • Without matching symbols Volatility 3 cannot read the kernel structures, and the product says which symbols are missing

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Chain of custody has to hold from acquisition to report

SakshyaYantra Forensic SuiteForensic examination and reportingIn the app

The handling of the exhibit will be examined as closely as the findings. The record has to show that nothing was inserted, removed or reordered.

How to recognise it

  • The matter is contested, or likely to be
  • Several people will handle the exhibit
  • Disclosure is expected

Procedure

  1. Work in forensic mode from the first actionIt hashes every item and writes the custody manifest. A recovery-mode scan does not become evidential afterwards.
  2. Verify the audit trail at the close of the caseThe trail is hash chained, so an edit, an insertion or a reorder is detectable.
  3. Verify again with the manifest before disclosureThe chain alone cannot see a trail that was cut short at the end; the manifest holds the sealed receipt that catches it.

Commands

recoveryantra mode forensic

Set before any acquisition or scan.

recoveryantra audit E:\Case\Ex1\audit_trail.jsonl

Verify the chain and name the first break, if any.

recoveryantra audit E:\Case\Ex1\audit_trail.jsonl --manifest E:\Case\Ex1\recovery_manifest.json

Verify including the sealed receipt, so truncation is caught too.

Options, and when to use them

<set>forensic. It changes real engine behaviour, not only the report wording, and it must be set before the scan.
--manifestTreat as required for evidential work. Without it, a trail cut short at the end still verifies.
<path>Run at the close of the case and again before disclosure.

Best practice

  • Set forensic mode before the first action on the exhibit
  • Run the audit verification twice: at close and before disclosure
  • Record every transfer of the exhibit between people
  • Keep the manifest with the trail; one without the other proves less

What this will not do

  • The product records what it did. It cannot record handling that happened outside it, which is why the physical custody record still matters
  • A verified chain shows the record is intact; it does not by itself establish that the acquisition was lawful

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

The question is what was run on this machine

SakshyaYantra Forensic SuiteForensic examination and reportingIn the app

Whether a particular program executed, and when, is answered from several independent Windows artefacts rather than from one.

How to recognise it

  • A question about whether something was run
  • An acquired image of a Windows machine
  • A defined period of interest

Procedure

  1. Collect the execution artefacts togetherPrefetch, ShimCache, BAM, SRUM, Jump Lists and AmCache each record different aspects, and they corroborate each other.
  2. Put them on one timelineSequence is what makes execution evidence interpretable.
  3. Corroborate before concludingA single artefact is weaker than two that agree.

Commands

recoveryantra recover --image E:\Case\Ex1\disk.E01 -o E:\Case\Ex1\Out --include-intact

Recover the artefact files from the image.

recoveryantra timeline E:\Case\Ex1\Out --kind prefetch --out E:\Case\Ex1\exec.csv

Extract the execution artefacts onto a timeline.

recoveryantra search E:\Case\Ex1\Out "tool.exe" --state deleted

Find references to a specific binary, separating deleted from present.

Options, and when to use them

--kindNarrow to execution evidence once the full timeline has given you the context.
--stateWhether an artefact was found deleted or present is frequently the point.
--include-intactRequired: the artefacts were not deleted.

Best practice

  • Corroborate across at least two artefact types before stating that something executed
  • Record the time zone and clock setting of the source machine
  • Preserve the artefact files themselves, not only the parsed output

What this will not do

  • Execution artefacts record that a program ran, not who was at the keyboard
  • Some artefacts are cleared by normal maintenance, so absence is not proof that something did not run

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A handset has to be acquired for an investigation

A handset is an exhibit. What can be acquired depends on the device, and what may be acquired depends on the authority, and both have to be settled before it is connected.

How to recognise it

  • A handset submitted as an exhibit
  • A warrant, consent or statutory power
  • An unknown model and state

Procedure

  1. Record the authority before connecting anythingOperator, lawful basis, organisation and case reference.
  2. Establish what this device actually allowsThe plan is gated on the device: a modern handset frequently does not permit a full-filesystem acquisition, and the plan says so.
  3. Decide on advanced methods deliberately, on the recordAdvanced methods can alter the device, so they are off until an examiner opts in and that choice is recorded.

Commands

recoveryantra capabilities --tools --operator "A Sharma" --case FIR-4471

See which acquisition methods are actually available on this bench today.

recoveryantra phone --areas --operator "A Sharma" --authority warrant --case FIR-4471

What is recoverable on this device, recorded against the case.

recoveryantra phone --ffs-dfu "CPID:8015 ECID:.. SRTG:[..]"

Establish from the device's own identifiers whether a full-filesystem acquisition is possible.

recoveryantra capabilities --enable checkm8 --operator "A Sharma" --case FIR-4471

Opt in to an advanced method for this case, on the record.

Options, and when to use them

--toolsRun before the exhibit is in front of you. A method with no tool installed is not available however the case is authorised.
--enableRecorded in the audit trail. An advanced method can alter the device, so decide in advance.
--ffs-dfuThe answer for a modern handset is often no, and an unknown chip is never assumed vulnerable.
--authorityThis step in particular should never run without a recorded lawful basis.

Best practice

  • Settle authority and method before the handset is connected
  • Put the device in airliner mode or a shielded bag to stop remote wipe
  • Record the device state as received: locked, unlocked, powered on
  • Disable the advanced method again once the step is complete

What this will not do

  • A locked modern handset's passcode is not recoverable by software; that is silicon and a hardware laboratory, and the product says so
  • Advanced methods are orchestrated through the operator's own tools; no exploit is bundled

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantra Mobile

A device credential is needed from an Android image

SakshyaYantra Forensic SuiteRecover files from disks, cards and imagesIn the app

An Android image has been lawfully acquired and the device credential is needed to reach protected material within it.

How to recognise it

  • A lawfully acquired Android image
  • Recorded authority covering credential recovery
  • The image contains /data/system

Procedure

  1. Confirm the authority covers this step specificallyCredential recovery is examined closely if the matter is contested.
  2. Work against the acquired imageThis operates on an image already lawfully acquired. It is not a route into a handset that cannot already be read.
  3. Record the attempt and the resultBoth belong in the case record, including an unsuccessful attempt.

Commands

recoveryantra unlock E:\Case\Ex2\data\system --max-pin 6 --operator "A Sharma" --authority warrant --case FIR-4471

Attempt the numeric credential with the authority recorded.

recoveryantra unlock E:\Case\Ex2\data\system --wordlist E:\lists\common.txt --operator "A Sharma" --authority warrant --case FIR-4471

Attempt a non-numeric password from a word list.

Options, and when to use them

--max-pinRaising it beyond 6 costs time that grows sharply with each digit.
--wordlistFor a password rather than a numeric PIN.
--authorityNever run this step without a recorded lawful basis.
--caseTies the step to the same custody record as the acquisition.

Best practice

  • Confirm the authority covers credential recovery before starting
  • Record unsuccessful attempts as well as successful ones
  • Keep the image unchanged; this reads it

What this will not do

  • This works on an image already acquired. It is not a way into a handset that cannot be read
  • A long or complex credential may not be recoverable in any reasonable time

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

The tool has to be validated before it is used on a case

SakshyaYantra Forensic SuiteForensic examination and reportingIn the app

A quality process, an accreditation, or a client requires evidence that the tool performs as claimed on this bench, at this version.

How to recognise it

  • A new bench, or a version upgrade
  • A scheduled validation under the quality process
  • A client or accreditation body asking for evidence

Procedure

  1. Run the shipping engine against known ground truthThe validation runs the same build that will do the work.
  2. Keep the dated report in the quality recordsThe date and the version are what make it evidence.
  3. Describe it accuratelyIt is modelled on the NIST CFTT specifications. It is not a NIST certification and the report says so.

Commands

recoveryantra validate --out E:\Quality\2026-08

Run every group and write the dated report.

recoveryantra validate DFR CARV WB --out E:\Quality\2026-08

Run selected groups.

recoveryantra validate --federated --out E:\Quality\2026-08

Add the Federated-Testing-styled conformance report grouped by tool category.

Options, and when to use them

<groups>Run on a new bench, after an upgrade, and on your quality schedule. It is modelled on CFTT and is not an accreditation.
--outThe quality records store, not the case folder.
--federatedWhen accreditation or a client requires test cases grouped by tool category.

Best practice

  • Validate after every version change, not only at installation
  • Keep every dated report; the series is what shows the process is real
  • Quote the report accurately: modelled on CFTT, not certified by NIST

What this will not do

  • This is a self-validation harness. It is not a third-party accreditation and must never be described as one
  • It validates the engine's behaviour against ground truth, not the examiner's competence
  • RecoverYantra Lab also carries the validate command, but not the forensic workspace this scenario opens

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A recorder export has to become evidence a court can rely on

A station has a DVR export on a pen drive - the recorder's own container, an overlay clock burnt into the picture, and no hash. It has to be read, decoded and recorded so that every frame later shown can be traced to this file and this examiner.

How to recognise it

  • A vendor container or a .dav/.h264 export a normal player refuses
  • An overlay clock in the picture that may not match the case time
  • No hash, no record of who received it or when

Procedure

  1. Probe before decodingTwo readers are run on purpose; where the parser and the decoder disagree the intake says so, and the recorder registry says whether this make and model was tested.
  2. Decode through the ladder to another driveContainer, index, stream, then salvage. The rung that produced each frame is recorded; a salvaged frame is marked, never passed off as normal.
  3. Record the intake in the case with the examiner namedThe source hash, the decode result and the typed name become the exhibit record. One use of the licence is spent here - one source, however many frames.

Commands

recoveryantra footage formats

What this build can read, before anything is promised.

recoveryantra footage acquire E:\Exhibits\E3\ch07.dav -o F:\Case-176\decoded

Decode the export through the ladder to a folder on another drive.

recoveryantra footage intake F:\Case-176\decoded --case F:\Case-176 --examiner "S. Menon"

Record the intake; the examiner's name is typed and recorded.

Options, and when to use them

-oAlways a folder on a different drive from the exhibit.
--caseThe case folder; the intake record, the audit trail and every later finding land here.
--examinerTyped and recorded by the software, not authenticated by an account system - and the report says so.

Best practice

  • Hash the source before decoding; the intake record carries it
  • Keep the recorder's overlay clock as text, separate from the decoder's clock and the case clock
  • The registry entry, or its absence, goes in the record

What this will not do

  • A recorder the registry has not tested decodes the same way but the record says it was untested
  • Overlay text is supplied by the examiner, not read by the software

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A few frames of footage have to leave the machine for a report

An investigating officer needs the three frames that show the vehicle, with their times, in a form a court and a defence expert can check. The video itself must not leave.

How to recognise it

  • A specific moment in a long recording
  • A request for stills with the time on them
  • A defence expert who will ask which frame, from which file

Procedure

  1. Open the asset on the frame server and step to the framePresentation ticks, the decoded index and the overlay text are three fields; the review never merges them into one time.
  2. Bookmark what you see in your own wordsThe bookmark is a finding record in the case, tied to the frame by ordinal and digest.
  3. Capture a frame pack and verify itPNG frames, each with its times, its source hash and extent and its own SHA-256, plus a hashed manifest. Verify it before it leaves.

Commands

recoveryantra review open F:\Case-176\decoded\ch07.mp4

The timeline summary: frames, keyframes, gaps, the time base.

recoveryantra review bookmark F:\Case-176\decoded\ch07.mp4 --ordinal 1412 --case F:\Case-176

Record the bookmark in the case at frame 1412.

recoveryantra review frames F:\Case-176\decoded\ch07.mp4 --from 1410 --to 1416 --interval 2 -o F:\Case-176\packs

Four frames, every second one, as a frame pack.

recoveryantra review verify F:\Case-176\packs\pack_001.zip

Re-hash every frame and the manifest.

Options, and when to use them

--ordinalThe decoded index of the frame, as the review shows it.
--fromThe first frame of the range, by decoded index.
--toThe last. A single frame is from and to the same number.
--intervalEvery Nth frame between the two; 1 takes them all.
-oA folder on another drive; the pack is written there and verified from there.

Best practice

  • The frame pack is the only unit that leaves the machine - never the video
  • Verify the pack before it is attached to anything
  • State the overlay time as text and the case time separately, each with its own uncertainty

What this will not do

  • A frame the decoder salvaged is marked as such in the pack
  • The pack carries no interpretation; the examiner's reading is a separate, sealed record

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A bystander's face must be masked before footage is disclosed

Footage has to go to a party who may not see everyone in it. The mask must hold on every frame, a named person must have checked it, and the original must stay untouched.

How to recognise it

  • A disclosure order with named exclusions
  • A face or a plate that moves across the frame
  • A reviewer who will sign for the redaction

Procedure

  1. Mask the region across the framesPixels in the frame, from one ordinal to another, followed across frames when it moves. The mask is a record with its own chain.
  2. A named reviewer types the decisionApprove or reject, with a name and a note, into the hash-chained audit trail. Recorded by the software, not authenticated.
  3. Export the redacted copyRefused until the decision says approve. The copy carries the mask chain and its hashes; the original stays as received.

Commands

recoveryantra redact track F:\Case-176\decoded\ch07.mp4 --region 412,88,96,120 --from 1400 --to 1520 --case F:\Case-176

Mask the region and follow it from frame 1400 to 1520.

recoveryantra redact review --case F:\Case-176 --decision approve --reviewer "A. Rao" --note "checked every frame"

The typed decision.

recoveryantra redact export --case F:\Case-176 -o F:\Disclosure

The redacted copy, refused until an approve decision exists.

Options, and when to use them

--regionx, y, width, height in pixels of the frame.
--decisionapprove or reject; the export is refused until an approve is recorded.
--reviewerThe name goes into the audit trail and the report.
-oA folder on another drive for the redacted copy.

Best practice

  • Check every masked frame before typing approve
  • Keep the unredacted original in the case, never in the disclosure folder
  • Name the reviewer in the report

What this will not do

  • A mask that is not followed across frames leaks when the subject moves; use track for a moving subject
  • The export is a derived item and says so in its provenance

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A recording's authenticity is challenged

The other side says the clip was cut, re-encoded or generated. The laboratory has to say what the file's structure and statistics support and what they do not - as evidence, not as a score.

How to recognise it

  • A claim of editing, re-encoding or synthesis
  • A file whose history is unknown
  • A court that will ask which method said what

Procedure

  1. Run every method and read the refusalsStructure, codec history, double compression, frame statistics and the optional model packs each report a result or a refusal; a method that cannot judge this file says so.
  2. Read the ranked hypothesesEach names the methods that support it and the ones that oppose it. The software ranks the evidence; the examiner writes the conclusion.
  3. Put the record in the caseThe examination record, with every method's output and the file's digest, is written to the case folder for the report.

Commands

recoveryantra authenticate E:\Exhibits\E5\clip.mp4 --case F:\Case-176

Every method, the ranking, the record in the case.

recoveryantra authenticate E:\Exhibits\E5\clip.mp4 --models deepfake-v3 -o F:\Case-176\auth

Add a signed local model pack and write the report data to a folder.

Options, and when to use them

--modelsNamed model packs, each recorded by version in the output; without them only the structural methods run.
--caseThe case folder the examination record is written to.
-oA folder for the method outputs and the ranked hypotheses.

Best practice

  • Report the methods that opposed the conclusion as well as those that supported it
  • Name the model pack and its version wherever a model contributed
  • Hash the file before the first method runs

What this will not do

  • A model output is an observation, never a finding on its own
  • A file re-encoded by a well-behaved tool can defeat some methods; the record says which ran and which refused

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

4 scenarios

Sanitisation and disposal

Removing data on purpose, and being able to prove it was removed.

Certified erasure: standard, verification, certificate
Certified erasure: standard, verification, certificate

Drives are leaving the organisation and must be provably erased

RecoverYantra WipeSecure erase and certificateIn the app

Storage is being retired, sold or returned on lease, and the organisation needs a record that each drive was cleared before it left.

How to recognise it

  • An asset disposal list
  • A policy requiring evidence of sanitisation
  • Drives that still work and hold live data

Procedure

  1. Confirm the drive is the one on the disposal listThe serial number has to be typed back before anything is erased.
  2. Sanitise to the standard, then verifyVerification is what the certificate's central claim rests on.
  3. Keep the certificate with the asset recordA certificate stored only on the erased machine is no record at all.

Commands

recoveryantra erase \\.\PhysicalDrive3 --confirm WD-WCC4N1234567 --out E:\Disposal --examiner "A Sharma"

Sanitise, verify with the recovery engine, and issue a signed certificate.

recoveryantra erase \\.\PhysicalDrive3 --confirm WD-WCC4N1234567 --firmware --out E:\Disposal --examiner "A Sharma"

Also issue the drive's own firmware sanitise to reach NIST Purge where the drive supports it.

Options, and when to use them

--confirmThe drive's own serial number. There is no override; this is the step that prevents erasing the wrong disk.
--passesLeave at 1. NIST SP 800-88 Rev. 1 is explicit that one pass suffices on modern media.
--patternLeave at zero. A zeroed drive can be PROVEN clean; random fill cannot be distinguished from data that was encrypted.
--firmwareReaches Purge where the drive supports it, including remapped and spare blocks an overwrite cannot address.
--outThe records store, not the drive being erased.

Best practice

  • Match the serial number to the disposal list before typing it
  • Store certificates centrally, indexed by asset tag
  • Erase before the drive leaves your physical control, not after

What this will not do

  • No software reaches the standard's Destroy level; that requires physical destruction
  • On flash, the certificate records the level actually reached, which may be lower than requested where the controller does not expose the spare area

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

A compliance policy requires certified sanitisation

RecoverYantra WipeSecure erase and certificateIn the app

An auditor or a contract requires that sanitisation be to a named standard and evidenced, not asserted.

How to recognise it

  • An audit or contractual requirement naming a standard
  • A need for per-device evidence
  • A defined retention period for the records

Procedure

  1. Establish which level the policy requiresClear and Purge are different levels with different methods.
  2. Sanitise to that level and verify with the recovery engineThe verification is the difference between a certificate and a claim.
  3. File the signed certificate against the assetThe signature is what makes the record checkable later.

Commands

recoveryantra erase \\.\PhysicalDrive4 --confirm S3Z2NB0K123456 --firmware --purge-method crypto --out E:\Compliance --examiner "A Sharma"

Sanitise using a named firmware method where policy specifies one.

recoveryantra audit E:\Compliance\audit_trail.jsonl

Verify that the disposal record has not been altered.

Options, and when to use them

--purge-methodForce a specific firmware method when the policy names one. Forcing a weaker method than the drive supports lowers the level reached, and the certificate will say so.
--examinerThe person accountable for the disposal under your policy.
--no-verifyOnly for bulk passes over drives that will be physically destroyed anyway. An unverified certificate must never be presented to an auditor as a verified one.
<path>Verify the disposal audit trail at the close of each batch.

Best practice

  • Record the level ACHIEVED, which is what the certificate states, not the level requested
  • Verify the audit trail for each batch
  • Keep certificates for the retention period the policy sets

What this will not do

  • The certificate states the level reached and its limits; it does not assert that recovery is impossible by any means
  • Destroy level requires physical destruction and no software provides it

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

The drive is an SSD and an overwrite is not sufficient

RecoverYantra WipeSecure erase and certificateIn the app

Flash storage remaps blocks internally, so an overwrite issued by the host does not reach the spare and remapped areas. The controller has to do the work.

How to recognise it

  • The device is an SSD, NVMe or flash module
  • Policy requires Purge rather than Clear
  • The drive supports a firmware sanitise command

Procedure

  1. Establish what the drive itself supportsThe strongest method the drive advertises is used unless one is forced.
  2. Issue the firmware sanitiseThe controller clears areas an overwrite cannot address.
  3. Verify and read the certificate carefullyThe certificate records the level actually reached, which may be lower than requested.

Commands

recoveryantra erase \\.\PhysicalDrive5 --confirm 1234567890 --firmware --out E:\Disposal --examiner "A Sharma"

Firmware sanitise plus verification and certificate.

recoveryantra erase \\.\PhysicalDrive5 --confirm 1234567890 --firmware --purge-method block --out E:\Disposal --examiner "A Sharma"

Force a specific firmware method where the strongest is known to be unreliable on that model.

Options, and when to use them

--firmwareThe route to Purge on flash. Some drives make this non-interruptible once started.
--purge-methodForce a method only when policy names one or the advertised strongest is known unreliable on that model.
--patternStill zero. Random fill would make the verification weaker, not stronger.

Best practice

  • Do not interrupt a firmware sanitise once it has started
  • Read the certificate's stated level rather than assuming the request was met
  • Where the drive does not support a firmware sanitise, escalate to physical destruction rather than over-claiming

What this will not do

  • Where the controller does not expose the spare area, the certificate says the spare and remapped blocks are not guaranteed cleared
  • A drive that does not support firmware sanitise cannot reach Purge by overwriting

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

The working folder holds a client's recovered data after the job

RecoverYantra WipeSecure erase and certificateIn the app

A completed recovery leaves the client's data on the bench. It should not stay there once the deliverable has been accepted.

How to recognise it

  • A completed and accepted job
  • Recovered data still in the working folder
  • A policy or contract on retention

Procedure

  1. Confirm the client has the deliverable and accepted itSanitising the working copy before acceptance removes your only second chance.
  2. Sanitise the working folderOne pass, and the stated limits are reported every time.
  3. Record the disposal against the jobThe record is what answers a later question about retention.

Commands

recoveryantra wipe E:\Jobs\4471\work

Sanitise the working folder, with confirmation.

recoveryantra wipe E:\Jobs\4471\work --yes

For scripted end-of-job cleanup where the folder is chosen by the script.

Options, and when to use them

--passesLeave at 1. As on erase, more passes cost time and add nothing measurable.
--yesScripted cleanup only. Removing the confirmation removes the last check that the right folder was named.
<folder>On flash, copy-on-write file systems and anything backed up, overwriting a folder does not guarantee every copy is gone.

Best practice

  • Sanitise only after the client has accepted the deliverable
  • Do not use the unattended form interactively
  • Record the date the working copy was disposed of

What this will not do

  • On flash and copy-on-write file systems, overwriting a folder does not reach every copy, and the limits are stated every time
  • Backups of the bench, if any, still hold the data

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

Also covered by RecoverYantraSuite

3 scenarios

Cases that cross the boundaries

Work that does not fit one product, or changes character part way through.

Preparing rescue media for a machine that will not start
Preparing rescue media for a machine that will not start

A job arrives and its type is not yet known

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

Work arrives before it can be classified. Committing to a route before the media has been examined is how a job ends up needing a tool that is not on the bench.

How to recognise it

  • A customer description that does not match a category cleanly
  • Media of unknown type or condition
  • A deadline that does not allow a second procurement

Procedure

  1. Triage the media before deciding anythingCondition and device class decide the route, and both are measured rather than assumed.
  2. Image anything that is failing, before classifying it furtherThe condition question outranks the category question.
  3. Then take the route the triage indicatesRecorder, phone, array and plain volume each go a different way.

Commands

recoveryantra list --triage

Condition, connection and device class for everything attached.

recoveryantra wizard --list

The guided procedures available in this build.

recoveryantra image --device \\.\PhysicalDrive2 -o E:\intake\ex1.dd --retries 1

Image first where the triage says the media is deteriorating.

recoveryantra recover --image E:\intake\ex1.dd -o E:\intake\Out --include-intact --report

Recover once the route is settled.

Options, and when to use them

--triageRun before touching anything. On an audibly failing drive keep even this brief and go straight to imaging.
--listShows the guided procedures this product carries.
--retriesLow while the condition is still uncertain.
--reportProduce one per exhibit from the start.

Best practice

  • Condition first, category second
  • Image anything uncertain before investigating it further
  • Record the intake state of every exhibit before work begins

What this will not do

  • Triage reads the drive. On a mechanically failing drive even that is a risk, and the answer is a cleanroom rather than more reads
  • A job that turns out to need a workspace this build lacks needs a different product, and the product will name it

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

A commercial recovery turns into an investigation

SakshyaYantra Forensic SuiteForensic examination and reportingIn the app

Part way through a routine recovery something is found that changes the nature of the job. What has already been done determines whether the work remains usable.

How to recognise it

  • A finding that suggests deliberate deletion, fraud or misuse
  • A client who now wants the result to be defensible
  • Work already done in recovery mode

Procedure

  1. Stop and preserve the current stateDo not continue in recovery mode once the character of the job has changed.
  2. Switch to forensic mode before the next actionIt hashes every item and writes the custody manifest. A recovery-mode scan does not become evidential retrospectively.
  3. Record the point at which the change happenedBeing explicit about what was done under which mode is what keeps the earlier work usable.

Commands

recoveryantra mode forensic

Switch the bench before the next action.

recoveryantra recover --image E:\case.dd -o E:\Case\Out --profile forensic --include-intact --report

Re-run in the forensic profile so every item is hashed and the manifest is written.

recoveryantra audit E:\Case\Out\audit_trail.jsonl --manifest E:\Case\Out\recovery_manifest.json

Verify the trail before disclosure.

Options, and when to use them

<set>forensic. It changes real engine behaviour, not only the wording of the report, and must be set before the scan.
--profileOverride the saved mode for this run, which is the cleaner route on a bench normally used for commercial work.
--manifestRequired for evidential work: without it a trail cut short at the end still verifies.

Best practice

  • Switch mode before the next action, not at the end
  • Record exactly what was done before the switch and under what mode
  • Preserve the original image; re-running against it is what makes the earlier work recoverable

What this will not do

  • Work already completed in recovery mode was not hashed per file, and saying so plainly is better than implying otherwise
  • Only the Suite and Forensics carry the forensic workspace

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.

An encrypted volume is blocking the recovery

RecoverYantraSuiteRecover files from disks, cards and imagesIn the app

The volume is encrypted with BitLocker, LUKS, FileVault or VeraCrypt. Without the credential there is nothing to recover, and with it the job is ordinary.

How to recognise it

  • The volume shows as encrypted or unrecognised
  • A recovery key or passphrase may exist somewhere in the organisation
  • The data is needed

Procedure

  1. Find the credential before doing anything elseFor BitLocker this is frequently in Active Directory, a Microsoft account, or a printed recovery sheet.
  2. Unlock and recover in one step where the volume type supports itThe recovery runs against the decrypted view.
  3. For a container file, unlock it separatelyVeraCrypt and TrueCrypt containers are handled by their own command.

Commands

recoveryantra recover --device \\.\PhysicalDrive1 --password "123456-654321-..." -o E:\Out --include-intact

Unlock a BitLocker volume with its recovery password and recover.

recoveryantra veracrypt E:\container.hc --json E:\Out\unlock.json

Unlock a VeraCrypt container, prompting for the password rather than leaving it in shell history.

recoveryantra veracrypt E:\container.hc --truecrypt --hidden

A legacy TrueCrypt volume, or the hidden volume within one.

Options, and when to use them

--passwordWithout the correct credential the volume cannot be read by anyone. The credential is not retained for a later resume.
--pimSupply the Personal Iterations Multiplier if the volume was created with one; without it the correct password still fails.
--cipherRestricting to a known cipher cuts unlock time. Restricting to the wrong one makes a correct password look wrong.
--hiddenOnly where a hidden volume exists and you are authorised to access it.

Best practice

  • Exhaust the organisation's own key escrow before anything else
  • Omit the password on the command line so it is not left in shell history
  • Record which credential source was used

What this will not do

  • Where the key is genuinely unknown, no software recovers the contents, and the product says so rather than returning fragments
  • Camellia and Kuznyechik containers are identified but not decrypted

Hit one of these limits? The situation chooser names the product or the method that gets past each one, case by case.