Command reference

SakshyaYantra Forensic Suite on the command line

Every command this product contains and every parameter it accepts: 56 commands, 238 parameters. Read from the shipping build, version 7.8.10.76. The help text says what a switch does; each entry here adds when a business reaches for it and what it costs.

Before the first command

  • Reading a physical drive needs administrator rights. Working from a disk image needs none.
  • The source is opened read-only for the whole session, and the application refuses a destination on the drive being read.
  • Set the mode before the scan. A recovery-mode scan does not become evidential afterwards.
  • Everything below is available in the application as well; the command line is the scriptable surface, not a separate product.
SakshyaYantra Forensic Suite workspace
SakshyaYantra Forensic Suite in the application. Every command below has an equivalent here.
Command

recoveryantra acquire

-oalso --output

Folder to write the image into (default: ./Evidence)

When to use it. Point this at the evidence store for the case, not at the machine's own disk. On a booted rescue USB the default writes to the stick itself, which is usually what you want in the field.

What it costs. The folder must have room for the whole source. The pre-flight refuses rather than filling the disk half way through.

--retriesdefault 3

Retries for bad sectors (default 3)

When to use it. Raise it when the drive is readable but marginal and the case justifies a slow, thorough pass. Lower it to 0 or 1 when the drive is deteriorating and getting a complete-enough image quickly matters more than the last few sectors.

What it costs. Every retry is another read of a failing surface. On a drive that is physically degrading, high retry counts can cost you the areas you have not reached yet.

--force

Start even if the pre-flight checks object.

When to use it. Only when you have read the pre-flight objection and know it is wrong for your situation, for example free space reported incorrectly by a network share.

What it costs. The pre-flight exists to stop a job that cannot finish. Forcing past a genuine space or same-drive objection loses work, and on the same-drive case it can overwrite the very data being recovered.

--write-block

Engage a SOFTWARE write-block (OS read-only) on the source first. Best-effort and not a substitute for a hardware write blocker; layered with the fingerprint.

When to use it. Use on every evidential acquisition where no hardware write blocker is available. It sets the operating system's own read-only flag on the source before the first read.

What it costs. It is best effort at the operating-system level and is not equivalent to a hardware write blocker. State which one you used in the report; do not describe a software block as a hardware one.

--formatone of raw, e01

Image format: raw (.img, resumable) or E01. Asked for when omitted.

When to use it. raw when the image will be recovered from or examined on the same bench and a stopped copy must be resumable (the .map carries on); e01 when it goes to a lab that expects Expert Witness containers or when the destination is smaller than the drive and compression has to make it fit. Asked for on screen when omitted.

What it costs. An E01 copy cannot be resumed part way; a raw copy takes the drive's full size on the destination.

--boot

On the RecoverYantra bootable USB: offer the USB's own DATA partition and any other attached drive as the destination, never the drive being copied or the boot medium; record the read-only protection.

When to use it. Set by the RecoverYantra bootable USB's own launcher: the USB's DATA partition is offered first as the destination, then any other attached drive that is neither the source nor the boot medium, and the manifest records that every disk arrived read-only.

What it costs. Outside the bootable USB there is no live medium, so the flag is ignored with a note and -o decides where the image goes.

--operator

Examiner asserting lawful authority (recorded)

When to use it. Record the individual asserting lawful authority for the acquisition. Required practice for anything that may be produced in proceedings.

--authority

Lawful basis: warrant / consent / statutory power

When to use it. Record the lawful basis: warrant, consent, or a statutory power. Write what it actually is, and keep the underlying document with the case file.

What it costs. This field records the assertion. It is not legal advice and it does not create authority you do not have.

--org

Examiner's organisation (recorded)

When to use it. The examining organisation, as it should appear on the report and in the custody record.

--case

Case / FIR reference (recorded)

When to use it. Your own case or FIR reference. Set it at acquisition so every later artefact carries the same identifier.

What it costs. Adding it afterwards means the earliest records in the trail carry a different reference from the rest.

Command

recoveryantra ai

<aicmd>one of settings, key, testconn, validate, manifests · positional

When to use it. Settings, keys, connection tests, provider re-validation, and the signed provider/model manifest - each documented on its own line. AI is optional and off by default in every build.

Command

recoveryantra audit

<path>positional

Path to audit_trail.jsonl (or the folder holding it)

When to use it. Run at the close of a case, and again before disclosure, against the audit_trail.jsonl produced during the work. It proves the trail has not been edited, reordered or had entries inserted.

--manifest

A recovery_manifest.json holding the sealed receipt, so entries REMOVED from the trail are detected too

When to use it. Add the recovery manifest whenever you need to prove nothing was REMOVED from the end of the trail. The manifest holds the sealed receipt the chain alone cannot see past.

What it costs. Without it, a trail that has been cut short at the end still verifies. For evidential work treat the manifest as required.

Command

recoveryantra authenticate

<file>positional

Image to examine (omit with --list-tools)

When to use it. The image or video the authenticity workbench examines.

--models

Also run these ML models (each is refused by name if this build cannot run it)

When to use it. Also run these ML models, alongside the classical methods that always run.

What it costs. A model this build cannot run is refused by name, not silently skipped.

--list-tools

List the image & video authentication tool set (40+ tools) and exit

When to use it. List the image & video authentication tool set (40+ tools, grouped) and exit, without examining a file.

--tools

Run the whole image tool set on FILE, printing each tool's observation / interpretation / conclusion separately

When to use it. Run the whole image tool set on the file, printing each tool's observation and interpretation separately.

What it costs. The conclusion is reserved for the examiner and is never asserted by a tool.

--tool

Run one named authentication tool on FILE

When to use it. Run ONE named authentication tool on the file (e.g. ela, prnu_map, clone_keypoint).

--group

With --tools, restrict to one group (file/global/local/camera/deepfake/video/geometry)

When to use it. With --tools, restrict to one group: file, global, local, camera, deepfake, video or geometry.

--include-models

With --tools, also run the deepfake model tools (slower)

When to use it. With --tools, also run the deepfake model tools (slower - they load a classifier).

What it costs. A deepfake tool never asserts a verdict; with no pack it says so, with a pack it emits a labelled model observation.

--case

When to use it. Attach the examination to this case, so the finding sits beside the exhibit it was run against.

-oalso --output

Also write the full report here

When to use it. Also write the full authenticity report to this folder, for attaching to a file or handing to a reviewer.

Command

recoveryantra batch

<batch_cmd>one of new, add, list, status, remove, move, start, pause, stop, resume, report · positional

When to use it. Queue several drives to image and/or recover, then run them in sequence with nobody watching. `new` starts a batch; `add` queues a job on it; `list`/`status` show its progress; `remove`/`move` edit the queue before it runs; `start`/`resume` run it; `pause`/`stop` are typed in another window while it is running; `report` writes what happened across the whole batch. Use it when there are more drives on the bench than there is time to sit and watch each one.

Command

recoveryantra capabilities

--enable

Turn on an advanced method (e.g. checkm8, mtk_bootrom, qualcomm_edl)

When to use it. Turn on an advanced acquisition method for a case that needs it and is authorised for it. These methods interact with the device, so they are off until an examiner opts in on the record.

What it costs. Enabling is recorded in the audit trail with the operator and case. An advanced method can alter the device; decide before the exhibit is in front of you, not during.

--disable

Turn an advanced method back off

When to use it. Turn a method back off once the step that needed it is complete, so the next case starts from the conservative default.

--tools

Show the acquisition toolbox: the public methods (checkm8/mtkclient/edl/adb...), what's installed, and what is equipped for this case

When to use it. Run before an acquisition to see which external tools are actually installed on this machine and which methods are therefore available today.

What it costs. The product orchestrates the operator's own tools for advanced methods; it does not bundle exploits. A method with no tool present is not available however the case is authorised.

--operator

Examiner making the choice (recorded)

When to use it. Name the examiner making the decision. The choice belongs in the record alongside the result it produced.

--case

Case reference (recorded)

When to use it. Tie the capability decision to the case it was made for.

Command

recoveryantra case

<case_cmd>one of new, add, list, status, dedup · positional

When to use it. Group several recovered sources - a laptop disk, a backup stick, a phone image - into one case for a single customer or job, and see everything recovered across them in one place, deduplicated by hash. `new` starts a case; `add` puts a source into it; `list` shows the cases or one case's sources; `status` totals its files and duplicates; `dedup` lists files found in more than one source. Use it when a job is more than one drive and you do not want to hand back the same file three times.

Command

recoveryantra casequery

<question>positional

The question to ask over the case

When to use it. The triage question to ask over the case's own indexed data, such as who met whom and when, or whether a confession appears. Retrieval returns the case items that bear on it; a model answer, if any, is an observation, never a finding.

--case

The case folder (defaults to the most recent case)

When to use it. The case folder to query when it is not the most recent case, which is used by default. Only the case's own indexed data is searched, nothing outside it.

--reading

Your OWN reading of the case, sealed into the audit trail before any model answer is shown

When to use it. Your own reading of the case, sealed into the audit trail before any model answer is disclosed, so the record shows what the examiner concluded independently of the tool.

What it costs. It is sealed once; a later change is recorded as an edit, never as the original reading.

--inconclusive

Seal your reading as inconclusive instead of typing one

When to use it. Seal your reading as inconclusive rather than typing one, for when the case does not yet support a reading but you still want the model's words disclosed and audited.

--examiner

Who is asking, recorded with the sealed reading

When to use it. Who is asking, recorded with the sealed reading and the audited reveal so the trail names the person who saw the model's words.

--reveal

After sealing a reading, disclose the model's verbatim words (an audited event). Without a sealed reading the model's words stay sealed

When to use it. Disclose the model's verbatim words after a reading is sealed, which is an audited event recorded with who did it and when.

What it costs. The model's text is an observation, never a finding; revealing it puts a record in the audit trail that it was seen.

--limit

How many case items to retrieve as context

When to use it. How many case items to retrieve as context for the question, when the default breadth is too wide or too narrow for the case.

Command

recoveryantra cctv

--device

Recorder disk (e.g. \\.\PhysicalDrive2 or /dev/sdb)

When to use it. Point at the recorder's disk when you have the disk itself and the recorder is unavailable or its export function is broken.

What it costs. Reading a recorder disk directly is read-only, but the recorder must be powered down and the disk removed. A running recorder overwrites the oldest footage continuously.

--image

Image of the recorder disk (.dd/.img/.e01)

When to use it. Preferred over --device for any matter that may be produced. Image the recorder disk once, then work from the image.

-oalso --output

Where to write recovered clips (required when scanning a disk/image)

When to use it. A folder on the case store with room for the clips. Recorder disks are large and footage recovers as many separate files.

--min-clipdefault 65536

Ignore fragments smaller than this many bytes (default 65536)

When to use it. Raise it when a sweep is returning large numbers of very short fragments and the incident you care about is minutes long. Lower it when the event of interest is only a few seconds.

What it costs. Raising the floor discards short fragments permanently for that run. If the incident may be brief, run low first and filter afterwards.

--max-clipsdefault 100000

Stop after N clips

When to use it. Cap the run when you are sampling a large recorder to establish what is on it before committing to a full extraction.

What it costs. A capped run is not a complete extraction. Say so in the notes, and do not report the cap as the total footage present.

--identify-only

Just report which recorder this disk is, don't extract

When to use it. Run first on any unfamiliar recorder disk. It reports which recorder wrote the disk without extracting anything, which tells you how long the real job will take and whether the format is supported.

--force

Start even when the pre-flight checks say this cannot finish: too little room, or writing onto the drive being recovered.

When to use it. Only after reading the objection. See the same switch on acquire.

What it costs. Forcing past a same-drive objection can overwrite the footage you are extracting.

<cccmd>one of index, play, clips, download, custom, cut, extract, enhance, frames, report · positional

When to use it. Read the recorder's camera index, play a clip's timeline, list a scan's clips, download or cut one out, extract several, enhance a frame or a range, capture a frame pack, or build a media report. Every subcommand is documented on its own line.

Command

recoveryantra certify

<cecmd>one of draft, verify · positional

When to use it. Draft the Section 63(4) Bharatiya Sakshya Adhiniyam certificate from a case's exhibits, or re-verify one already issued.

Command

recoveryantra check

--device

Raw device path (e.g. \\.\PhysicalDrive1 or /dev/sdb)

When to use it. Run the feasibility check the moment a drive arrives, before quoting, before imaging and before any promise to the client: it measures how much of the drive is unreadable and states the chances in plain words.

What it costs. A few hundred sampled reads - seconds on a healthy drive, and one gentle attempt per area on a failing one. Far cheaper than discovering mid-copy that the job was never viable.

--image

An existing image file to check instead

When to use it. Check an existing image instead of a drive - for example to confirm a copy received from a client or another lab reads cleanly before work is billed against it.

--pdf

Also write the answer as a PDF report at this path

When to use it. Write the verdict as a PDF wherever a client, insurer or case file needs the answer on record. The report states its numbers as ranges and says it is based on a sample.

--samplesdefault 160

How many areas of the drive to test (default 160)

When to use it. More samples narrow the stated range and cost more reads of the drive. The default suits a first assessment; raise it when the estimate must be tighter than a few percent.

What it costs. Each extra sample is another read of a drive that may be dying. On clearly failing hardware, keep the default and move to the copy.

Command

recoveryantra cloud

<cloudcmd>one of steps, ingest, collect, caches · positional

When to use it. Pick what to do: `steps` shows the stages (free); `ingest` takes in a provider export the admin produced; `collect` acquires a mailbox live over the API; `caches` finds local sync caches.

Command

recoveryantra compare

<scan_a>positional

Scan A: a session id from the history, or a recovery output folder

When to use it. The FIRST scan - a session id from the history, or the path to a recovery output folder. Normally the earlier pass, so that what the second scan added reads as the gain.

<scan_b>positional

Scan B: the re-scan / deeper scan, same kind of reference

When to use it. The SECOND scan of the same source - the re-scan, the deeper scan, or the one run after a settings change. Files only in this scan are what it added, which is usually the reason for comparing at all.

What it costs. Comparing is read-only and charges nothing: it reads what the two scans already wrote. Files are matched by EXACT SHA-256 - a file with the same NAME but different bytes is reported in its own bucket and is never called the same file, because a deleted name can survive while the space under it is reused.

--export

Write the diff to this folder (scan_compare.csv/.json)

When to use it. Write the comparison into this folder - scan_compare.csv or .json - so the four buckets go into a job sheet or a report rather than staying on screen. The folder is created if it is not there.

--formatone of csv, json · default csv

Export format (default csv)

When to use it. csv (the default) writes one row per file occurrence, so a changed file appears twice with its A side and its B side and the sheet opens in Excel; json writes the whole comparison for a script.

Command

recoveryantra crosscase

<xccmd>one of ingest, lookup, correlate, forget, export, import, stats · positional

When to use it. Pick what to do: `ingest` adds a case's properties to the lab store, `lookup` finds which cases carry a value, `correlate` shows what a case shares with others, `forget` removes a case, `export`/`import` move the store, `stats` summarises it.

Command

recoveryantra db

--identify

Identify a database file and print its recovery method

When to use it. Run this first on any database file. It names the engine and the recovery method that applies, which decides whether this is a ten-minute job or a specialist one.

--coverage

List every database family we cover and the recovery tier

When to use it. Use when quoting or scoping. It lists every database family the build covers and the tier of recovery available for each.

What it costs. A family listed at identify-and-route tier is not row-level recovery. Quote against the tier, not the presence in the list.

--recover

Recover records from a database file (dBase/.dbf built; others are identified and routed to their method)

When to use it. Point at a copy of the data file when the server will not start or will not attach it, and the most recent backup is unusable.

What it costs. Work from a COPY. Take the instance offline first: extracting from files a running engine is writing to produces rows from a moment that never existed as a consistent state.

--memo

With --recover of a .dbf: the memo side-file (.dbt/.fpt)

When to use it. Required with a dBASE .dbf whose text fields live in a side file. Without it the long text fields come back empty.

--out

With --recover: write all records (deleted marked) to a CSV

When to use it. Write to CSV whenever the rows are going to be reviewed, handed to a client, or loaded into a working server.

What it costs. Deleted rows are exported flagged. Preserve that column: an un-flagged export presents recovered deleted rows as live data.

Command

recoveryantra detect

--report

Also write the report (HTML, PDF, JSON) into DIR

When to use it. Write the detection report - HTML, PDF and JSON - into this folder: every device with its state, bus, serial and sector size, the hardware Windows can see but cannot use with the code and the fix, and the Plug-and-Play inventory. Use it when a customer or a partner says a drive is not detected: the report replaces "it does not work" with what the machine actually sees.

What it costs. The folder goes through the same pre-flight as every other writing job; the report is small, so only rights and a full disk stop it.

--no-health

Skip the health read of each usable drive (faster)

When to use it. Skip the health read of each usable drive. Detection is then a listing only and returns in a second or two. Use it on a machine with many drives, or when a drive is known to be failing and you do not want even a test read against it before imaging.

--force

Write the report even if the pre-flight objects

When to use it. Write the report even when the pre-flight objects to the folder. Use it only when you have read the objection and it does not apply - a report is a few hundred kilobytes, so the usual reason is a destination the check cannot judge.

What it costs. A refusal you have not read is not one you can override safely.

Command

recoveryantra distribute

<distcmd>one of plan, node, carve · positional

When to use it. Pick what to do: `plan` shows how the work would split and what it refuses without needing nodes; `node` runs a worker that searches byte ranges; `carve` coordinates a distributed carve and writes the files here.

Command

recoveryantra ecryptfs

<tree>positional

A folder of recovered eCryptfs files (encrypted ECRYPTFS_FNEK_ENCRYPTED.* names and/or eCryptfs bodies)

When to use it. Point at the folder of recovered eCryptfs files - an Ubuntu encrypted home or a Synology encrypted share pulled off the disk. Every encrypted filename and file body under it is decrypted with the passphrase you give.

--passphrase

The eCryptfs MOUNT passphrase (not the login password, unless the two are the same)

When to use it. The eCryptfs MOUNT passphrase, which is what unwraps the file keys. On Ubuntu it is usually NOT the login password: it is the long passphrase that ecryptfs-unwrap-passphrase prints at setup.

What it costs. A file or filename this passphrase does not unlock is reported and left encrypted, never handed back as invented plaintext, so a wrong passphrase costs nothing and produces nothing.

-oalso --out

Where to write the decrypted tree

When to use it. Where to write the decrypted tree. Choose a folder off the source drive; the decrypted files are written under their recovered folder structure with their real names restored.

--force

Write even if the pre-flight objects

When to use it. Write the decrypted tree even when the pre-flight objects, for example when free space is tight at the destination. Use it only after reading the warning.

What it costs. The pre-flight is what stops a half-written output; forcing past it can leave a partially decrypted tree behind.

Command

recoveryantra find-drive

<pattern>positional

A filename, part of one, or a wildcard (e.g. IMG_2019, *.jpg)

When to use it. Search every usable attached device for a file whose name matches PATTERN, without picking a drive first. Free, no licence needed - reads each device's index in seconds, the same tier as `--list`. Use it when the customer cannot say which of several drives holds what they want.

--timeoutdefault 20.0

Give up on one drive after this long (default 20); a slow or failing drive never holds up the others

When to use it. Seconds allowed per device before moving on. A slow or failing device costs only its own row - the sweep never waits on one device at the expense of the rest.

--all

List every drive checked, including the ones with no match

When to use it. Also sweep devices that are not in a normally-usable state, where possible. Use it only once the plain sweep has come back empty.

Command

recoveryantra fixvideos

<folder>positional

Folder holding the recovered videos

When to use it. Run over a completed recovery folder when videos are listed as recovered but will not play. It repairs the index in the recovered COPY.

What it costs. It cannot restore picture data that was overwritten on the source. A clip whose media was partly lost stays partly lost.

Command

recoveryantra footage

<fcmd>one of intake, acquire, convert, watch, registry, formats · positional

When to use it. Bring footage in, decode it, batch-convert it, check the tested-recorder registry, or see what this machine's media worker can handle. Every subcommand is documented on its own line.

Command

recoveryantra geo

<geo_command>one of points, export · positional

When to use it. Map the case's location points. `points` prints them (and the track) as JSON; `export` writes GeoJSON (RFC 7946) or KML (opens in Google Earth / QGIS). Only files carrying real EXIF GPS appear - nothing is guessed from a name.

Command

recoveryantra gui

--classic

Use the classic Tkinter wizard

When to use it. Fall back to the classic interface on a machine where the modern window will not start, typically an old or minimal Windows install.

Command

recoveryantra guide

--html

Write the guide as a self-contained, searchable HTML page

When to use it. Produce the manual as a single searchable page to hand to a client, put on an internal share, or carry onto an air-gapped bench.

--markdown

Write the guide as Markdown

When to use it. Produce Markdown when the content is going into your own documentation system or version control.

Command

recoveryantra hashset

<hs_command>one of import, list, lookup, classify, remove · positional

When to use it. Work with known-file hash sets. `import` loads an NSRL RDS or a hash list; `list` shows the installed sets; `lookup` classifies one hash or file; `classify` runs the whole case; `remove` deletes a set. Use it to hide the operating-system and application files that are the same on every machine, and to flag files that match a known-bad set.

Command

recoveryantra hpa

--device

The physical drive (e.g. \\.\PhysicalDrive2). Must be a direct SATA connection - USB bridges do not pass ATA

When to use it. The physical drive to measure or reveal, as a device path. It must be a DIRECT SATA connection: USB bridges and virtual disks do not pass the ATA commands a Host Protected Area is measured with.

--reveal

Actually lift the HPA and image the hidden sectors (needs -o and --confirm-serial); without it, only measure

When to use it. Actually lift the Host Protected Area and image what it hid, instead of only measuring. This is one of the four operations in the whole product that WRITE to a drive, so it is deliberate and confirmed.

What it costs. It sends a volatile SET MAX ADDRESS to the drive to expose the hidden sectors, images them, then restores the original limit - and restores it even if the run is interrupted. The drive is briefly changed on purpose; a DCO, if present, is measured but never removed.

-oalso --out

Where to write the image of the hidden area (with --reveal)

When to use it. Where to write the image of the revealed hidden area. Choose a folder on another drive; the hidden sectors, their map and a hashed manifest are written there.

--confirm-serial

Type the drive's own serial number back to confirm the target (with --reveal)

When to use it. Type the target drive's own serial number back, exactly, to confirm you mean this drive before anything is written to it. The reveal is refused until it matches.

What it costs. This is the guard against revealing the wrong drive: a write to a drive's ATA limits is not something to do to the wrong one, so the serial must match what the drive reports.

--examiner

Recorded in the audit trail (with --reveal)

When to use it. A name recorded in the audit trail for the reveal, so the record says who performed it. It is written into the manifest, not onto the drive.

--force

Write the image even if the pre-flight objects

When to use it. Write the image of the hidden area even when the pre-flight objects, for example over tight free space at the destination. Use it only after reading the warning.

What it costs. The pre-flight is what stops a half-written image of the hidden area; forcing past it can leave the imaging incomplete even though the HPA is still correctly restored.

Command

recoveryantra image

--device

Raw device path (e.g. \\.\PhysicalDrive1 or /dev/sdb)

When to use it. Image the drive first whenever it is failing, whenever the original must go back to the client untouched, or whenever the matter may be produced. Every later step runs against the image.

What it costs. Imaging reads the whole drive once. On a drive that is actively dying that single pass is the best chance you get, so choose the retry policy before starting, not after.

--source

Existing image/file to re-image

When to use it. Re-image an existing file, for example to convert a raw image to E01 or to make a working copy of an evidence image.

-oalso --output

Output image path (.img or .E01)

When to use it. The image path on the case store. Name it for the exhibit, not for the machine.

--retriesdefault 3

Retries for bad sectors (default 3)

When to use it. Same trade-off as on acquire: more retries recover more marginal sectors and cost more reads of a failing surface.

--formatone of raw, e01 · default raw

raw .dd/.img (default) or compressed .E01 evidence image

When to use it. Use e01 for evidential work: it is compressed and carries the acquisition metadata other forensic tools expect. Use raw when the image will be mounted or read by tooling that only takes a flat image.

What it costs. Raw images are the size of the whole drive, including empty space.

--targeted

Filesystem-aware (read-once): image only the space the filesystems say holds data, skipping free space without reading it. Faster and gentler on a failing drive, and a smaller image. Deleted files still in free space are NOT captured - use a full image for those.

When to use it. Filesystem-aware, read-once imaging: the filesystems' own allocation maps say which space holds data, and only that is read and copied - free space is skipped without touching the drive. Use it to image a large or failing drive faster and more gently, and to get a smaller image, when the live files are what matter.

What it costs. Deleted files still sitting in free space are NOT captured - free space is exactly where they live. When deleted data matters, take a full image (omit --targeted). A filesystem we cannot read a map for is imaged in full, so it is never wrong, only sometimes not smaller.

--entropy-map

Measure the entropy of the data as it is copied and record which spans are high-entropy (encrypted or compressed) in the image's .map.json.

When to use it. Measure the entropy of the data as it is copied and record which spans are high-entropy - encrypted or compressed - in the image's .map.json. Use it to see at a glance whether a drive (or a region) is encrypted before spending time on recovery.

What it costs. Entropy cannot tell encryption from compression; a high-entropy span may be either. It is a signpost, not a verdict.

--force

Start even when the pre-flight checks say this cannot finish: too little room, or writing onto the drive being recovered.

When to use it. Only after reading the objection. See acquire.

Command

recoveryantra ingest

<ig_command>one of add, run, status, stop, retry · positional

When to use it. Add evidence to a case and process it through one pipeline with a live dashboard. `add` enqueues a source; `run` runs the stages; `status` prints the dashboard; `stop` halts at a stage boundary; `retry` re-queues a failed stage.

Command

recoveryantra keyword

<kw_command>one of create, add, lists, import, export, remove, run, tag · positional

When to use it. Manage named keyword lists and search a case with them. `create` and `add` build a list; `lists` shows them; `import` and `export` move a list as plain text; `remove` deletes one; `run` searches the case and prints the hits; `tag` marks a hit on the case.

Command

recoveryantra list

--triage

Also check each device's health (SMART + test reads), how it's connected, and what kind of device it is (CCTV recorder, phone, dashcam, card, ...) with advice on what to do

When to use it. Run before touching anything. It reports each device's health, how it is connected and what kind of device it is, which is what decides whether to recover directly or image first.

What it costs. Triage reads the drive. On a drive that is audibly failing, keep even this brief and go straight to imaging.

Command

recoveryantra mail

<path>positional

The .pst / .ost / mbox / Maildir / .eml to read

When to use it. Point at the mail store itself, including one the mail client refuses to open. Take a copy first and work from the copy.

-oalso --output

Folder to write recovered messages into

When to use it. Where the exported messages go. Never the folder holding the store being read.

--list

List what is in the mailbox without exporting it

When to use it. Run first. It shows what is in the mailbox, and whether the store read cleanly or had to be salvaged, before you commit to a full export.

What it costs. A salvaged read recovers messages but may not recover the folder structure. Knowing which you have changes what you promise.

--formatone of eml, mbox · default eml

eml = one file per message (drag into Outlook); mbox = one file (Thunderbird, Apple Mail, converters)

When to use it. Choose eml when the messages are going back into Outlook or being reviewed individually; each message is a separate file. Choose mbox when the mailbox is going into Thunderbird, Apple Mail or a review platform as a single container.

What it costs. Neither format is a .pst. The product extracts messages; it does not rebuild an Outlook store file.

Command

recoveryantra medialab

<mlcmd>one of run, recipe, filters, enhance, measure, calibrate, height, speed, pose, triangulate · positional

When to use it. Run a saved recipe, save or list one, or take a calibrated 2-D measurement. The Lab is in the SakshyaYantra Forensic Suite; the separate Forensic Video Lab product left the catalogue on 2026-09-16 and its work is in the Forensic Suite.

Command

recoveryantra memory

<mem_command>one of plugins, info, run, finding, scan · positional

When to use it. Analyse a memory image. `plugins` lists what can run and whether Volatility 3 is installed; `info` identifies the operating system; `run` runs one Volatility 3 plugin and prints its table; `finding` adds a row of a saved result to the case; `scan` is the in-house reader that needs no Volatility 3.

Command

recoveryantra mode

<set>one of forensic, recovery · positional

Switch mode; omit to just show the current mode

When to use it. Set forensic before an evidential job and recovery before a commercial one. Forensic hashes every item, writes the chain-of-custody manifest and keeps a flat layout; recovery skips per-file hashing, sorts the output by type and repairs damaged files on export.

What it costs. The mode changes real engine behaviour, not only the wording of the report. Set it BEFORE the scan: a recovery-mode scan does not become evidential retrospectively.

Command

recoveryantra nandrecon

<dump>positional

The raw NAND dump from the lab (spare areas included)

When to use it. The raw dump a lab read straight off the bare NAND chip, spare (OOB) areas included. It is not a disk image yet; this command is what turns it into one the recovery engine can read.

-oalso --out

Where to write the reconstructed image

When to use it. Where to write the reconstructed image, on a different drive from the dump. The rebuilt image is written whole so the ordinary recovery flow can open it like any other disk image.

--analyse

Report the geometry / scrambling / ECC / block-map findings and write nothing - run this first

When to use it. Read the dump and report the geometry, scrambling, error correction and block map it can work out, writing nothing. Run this first, before you commit to an image, because it costs nothing and tells you which figures still need supplying.

--page-size

Page size in bytes, if the lab told you

When to use it. The page size in bytes when the lab already measured it, so it is taken as fact instead of inferred. Supplying a wrong figure produces an image that looks like a disk and holds nobody's files, so give it only when you know it.

--spare-size

Spare (OOB) size in bytes, if known

When to use it. The spare (out-of-band) area size in bytes when the lab measured it. It is taken as given rather than inferred; a wrong value shifts every page and the result carves to nothing, so supply it only when known.

--pages-per-block

Pages per block, if known

When to use it. How many pages make up an erase block when the lab measured it. It is used for the block map; an image can still be built without it, in the order the chip stores rather than logical order.

--xor-key

The lab's XOR de-scramble key file, if they have one

When to use it. A file holding the controller's XOR keystream when the lab supplied one. A dump scrambled from end to end cannot be de-scrambled by analysis alone, so this file is what makes such a dump readable at all.

--xor-period

The repeating XOR period in bytes, if known

When to use it. The length in bytes at which the scrambling keystream repeats, when it is known. It narrows the de-scramble search; leave it off and the period is recovered from the dump.

--ecc-schemeone of bch, hamming

The controller's ECC scheme, if detection failed

When to use it. The controller's error-correction code, bch or hamming, when automatic detection could not settle it. It decides how spare bytes are read as correction data, so name it only when you know the controller.

--ecc-step

ECC data step size in bytes

When to use it. How many data bytes each error-correction step covers, when detection needs help. It pairs with the scheme and strength; the wrong step corrects nothing, so supply it only from the controller's datasheet.

--ecc-t

ECC strength (correctable bits per step)

When to use it. The correction strength, the number of bit errors each step can fix, when detection needs help. It has to match the controller; a value too low leaves errors, too high reads correction bytes as data.

--ecc-offset

Offset of the ECC bytes in the spare area

When to use it. Where the correction bytes begin inside each page's spare area, when it is known. It positions the read of the correction data; leave it off and the offset is inferred from the dump.

--ftl-offset

Offset of the block-address field in the spare area

When to use it. Where the logical block address sits inside the spare area, when the lab knows the controller. It is what lets the blocks be put back into the order a filesystem expects rather than the chip's own order.

--ftl-width

Width of the block-address field in bytes

When to use it. How many bytes the logical block-address field takes in the spare area, when it is known. It pairs with the offset to read the block map; an image still builds without it in physical order.

--ftl-endianone of little, big

Byte order of the block-address field

When to use it. The byte order of the block-address field, little or big, when the lab knows the controller. It only matters once the offset and width are set, and the wrong order scrambles the block map.

--force

Write an image even when the geometry is not confident (the result may be nonsense that looks like a disk)

When to use it. Write an image even when the geometry could not be confirmed, taking the best guess rather than refusing. Use it only after --analyse shows how uncertain the figures are.

What it costs. A forced image is built on unconfirmed page and block sizes, so it can look like a sound disk while holding nonsense; the run records that it was forced.

Command

recoveryantra plate

<pack>positional

A frame-pack .zip

When to use it. A frame-pack .zip - the only unit this door accepts. A video, a clip or a loose picture is refused by type.

--frames

Finding ids to submit (default: every frame in the pack)

When to use it. Which finding ids in the pack to submit; defaults to every frame in it.

What it costs. Every frame submitted leaves the machine if the request proceeds - the transfer manifest records each one's digest.

--provider

When to use it. The AI provider to ask, once the examiner's own reading is already sealed.

--model

When to use it. The model to ask, from that provider's list.

--case

When to use it. The case this submission is recorded against.

--reading

The examiner's own sealed reading, typed BEFORE any model answer is shown; omit to stop at the seal step

When to use it. The examiner's OWN reading, typed and sealed before any model answer can be shown.

What it costs. Omit it (and --unreadable) and the command stops at the seal step - there is no route to an answer without a sealed reading first.

--examiner

Examiner's name, recorded on the sealed reading (not in the grammar table; added because seal_reading requires one - documented in PARAM_GUIDANCE)

When to use it. The examiner's name, recorded on the sealed reading.

--unreadable

The examiner's reading is that the plate cannot be read (not in the grammar table; the alternative to --reading text - documented in PARAM_GUIDANCE)

When to use it. The examiner's reading is that the plate cannot be read - the alternative to typing --reading text; still a sealed reading, not a bypass of one.

--engineone of cloud, local, openalpr · default cloud

cloud = ask a VLM provider; local = the on-machine YuNet+fast-plate-ocr plate model, no internet; openalpr = the OpenALPR engine (AGPL-3.0), also on-machine and offline (documented in PARAM_GUIDANCE)

When to use it. cloud asks a VLM provider (the frame pack leaves the machine); local reads with the on-machine YuNet+fast-plate-ocr model, no internet and nothing sent; openalpr reads with the OpenALPR engine (AGPL-3.0), also on-machine and offline.

What it costs. local and openalpr both spend nothing and send nothing; local uses the bundled/signed plate model, openalpr needs OpenALPR installed (Python binding or the `alpr` command). With neither the chosen engine refuses honestly rather than guessing; the examiner's sealed reading is still the record and rides ahead of any engine read.

--countrydefault IN

Country whose plate syntax the read is checked against (IN built; documented in PARAM_GUIDANCE)

When to use it. The country whose plate syntax the read is checked against. India is built to full depth; another country is reported as observed and not forced into a format it has no pack for.

--constraint

Plate format family to validate under: hsrp, bh, special, none (documented in PARAM_GUIDANCE)

When to use it. The plate format family to validate the read under - hsrp, bh, special, or none. Empty uses the country's default (HSRP for India).

Command

recoveryantra raid

--members

Member images in array order; use '-' for a missing member

When to use it. List the member images IN ARRAY ORDER. Use a dash for a member that is missing or has failed.

What it costs. Order matters. Getting it wrong produces a volume that looks plausible and contains scrambled files, which is worse than an obvious failure.

--auto

Read the geometry from the members' md superblocks (Linux/NAS) instead of giving --level/--chunk

When to use it. Try this first. It reads the geometry from the members' own metadata, which removes the guesswork on Linux, NAS, Intel RST and Windows dynamic disks.

What it costs. Auto-detection needs the metadata to survive. Where it does not, fall back to stating the level and chunk size yourself.

--level

RAID level when not --auto: 0, 1, 4, 5, 6, 1e, 10, 50, 60, jbod

When to use it. State the level when the metadata is gone and you know the array's configuration from documentation or the controller.

--chunkdefault 65536

Stripe/chunk size in bytes (default 65536)

When to use it. State the stripe size with --level. It is the single value most often recorded wrongly in site documentation.

What it costs. A wrong chunk size assembles an array that mounts and returns corrupt files. Verify by checking that recovered files open.

--layoutdefault left-symmetric

RAID5/6 parity layout (default left-symmetric)

When to use it. Change from the default only for an array documented as using a different parity layout.

--list-volumes

List the volumes these disks hold and stop (Windows dynamic disks can carry several)

When to use it. Run first on Windows dynamic disks. One set of disks can carry several volumes, and you need to know which one holds the data.

--volume

Which volume to recover on Windows dynamic disks, by the name Windows gave it (e.g. Volume1)

When to use it. Select the volume by the name Windows gave it, from --list-volumes.

-oalso --output · default Recovered

Folder to write recovered files

When to use it. The output folder, on separate storage from the member images.

--modedefault smart

Recovery mode (smart/fs/carve)

When to use it. As on recover: smart unless you have a reason. On a reassembled array, smart is almost always right because the file system is usually intact once the geometry is correct.

--sector-sizedefault 512

When to use it. Change from 512 only for arrays built on 4K-native drives, where leaving it wrong prevents the volume being found at all.

--include-intact

When to use it. Add when you need the whole volume out, not only what was deleted. This is the normal case for a failed array: nothing was deleted, the array stopped assembling.

Command

recoveryantra recover

--device

Raw device path (e.g. \\.\PhysicalDrive1 or /dev/sdb)

When to use it. Recover directly from the attached drive when it is healthy, the job is not evidential, and time matters.

What it costs. If the drive is failing, image it first. A direct scan reads the whole surface and can be the read that finishes a dying drive.

--image

Disk image file (.dd/.img/.iso)

When to use it. The default choice for anything evidential, anything failing, and anything where the original must be returned untouched.

--ios-backup

An iOS (iTunes/Finder) backup folder (Manifest.db)

When to use it. Point at an iTunes or Finder backup folder when the handset itself is unavailable, locked, or must not be touched.

--slabmap

Storage Spaces slab-map JSON: reassemble a pool virtual disk from member images and recover from it

When to use it. Reassemble a Storage Spaces virtual disk from member images and recover from the assembled volume.

-oalso --output

Output directory for recovered files (required unless --list)

When to use it. Always a separate drive from the source. The product refuses a destination on the drive being read.

--modeone of smart, fs, carve · default smart

smart=metadata+carving (default), fs=named files only, carve=signatures only

When to use it. Leave at smart. It parses the file system for original names and folders AND carves free space for what the metadata no longer covers. Use fs when you want named files quickly from an intact file system; use carve on formatted or badly damaged media where the metadata is gone.

What it costs. fs alone misses everything the file system no longer indexes. carve alone returns files without their original names or folders. smart is what maximises the result.

--resume

Carry on from where an earlier scan of the same source into the same output folder stopped, instead of starting again from the beginning

When to use it. Continue a scan that was stopped, on the same source into the same output folder. A large drive is an overnight job and does not need to be restarted.

What it costs. The checkpoint belongs to the DRIVE, not the path. A different disk in the same slot restarts from the beginning, with the reason stated.

--include-intact

Also recover currently-existing (non-deleted) files

When to use it. Add whenever the loss is a volume rather than a deletion: a reformatted disk, a RAW volume, a failed array. In those cases the files were never deleted and the default deleted-only view will look almost empty.

What it costs. It substantially increases the output size, because it recovers everything present as well as everything deleted.

--list

Print the drive's folder tree from its index (live and deleted files) and stop. Fast; nothing is written. -o is not needed.

When to use it. Look before you scan. Reads the filesystem index only and prints the folder tree - live and deleted files, deleted ones marked - in seconds, writing nothing. Use it first on any drive whose index is intact: it tells you whether the folder the customer wants is still named, so you can recover that alone with --only instead of reading the whole drive.

What it costs. Free, and needs no licence. What it cannot show is anything whose index entry is gone - a formatted card, a wiped table - which still needs the full scan.

--only

Recover only this folder or file (repeatable). Paths are the volume's own, e.g. --only /Users/jo/Documents/ --only /Photos/IMG_0042.jpg. Implies --mode fs and --include-intact.

When to use it. Recover one folder or file rather than everything: the customer wants the Documents folder, not four hours and a terabyte of working folder. Repeat the switch for several paths; a folder path takes everything under it, and 1:/Folder/ names the folder on partition 1 only. Paths are the volume's own, as --list prints them.

What it costs. Implies --mode fs and --include-intact. Every content check, the manifest and the organising run exactly as in a full scan; a use is still charged for the drive.

--engineone of native, photorec, auto · default native

native=built-in (default), photorec=use TestDisk's PhotoRec, auto=PhotoRec if installed

When to use it. Leave at native. Select photorec only to cross-check a result with a second implementation, which is occasionally useful in a disputed matter.

What it costs. The external engine must be installed separately and does not carry this product's validation or its verdicts.

--workers

Carving processes: 0=auto/all cores (default, byte-identical output, ~3x faster), 1=single-threaded, N=that many

When to use it. Leave at 0 so the carve uses the available cores. Set 1 when you need the machine responsive for other work, or when reproducing a result exactly for a report.

What it costs. Output is byte-identical either way; only the time changes. Below about 128 MB the product stays single-threaded because process start-up costs more than it saves.

--sector-sizedefault 512

Bytes per sector (default 512)

When to use it. Change from 512 only for 4K-native drives, where the wrong value prevents the volume being recognised.

--password

Unlock an encrypted drive. A BitLocker 48-digit recovery password, a LUKS passphrase, or a key in hexadecimal.

When to use it. Supply the BitLocker recovery password, LUKS passphrase or hex key for an encrypted volume.

What it costs. Without the correct credential the volume cannot be read by anyone. The product states that rather than returning fragments. The credential is not retained for a later resume.

--force

Start even when the pre-flight checks say this cannot finish: too little room, or writing onto the drive being recovered.

When to use it. Only when you have read the pre-flight objection and established that it is wrong for your situation.

What it costs. The two objections it can override are both serious: too little room means the scan stops part way, and writing onto the drive being recovered overwrites the data you are trying to get back.

--report

Generate a recovery report after scanning (comma-separated: pdf,docx,html; default all)

When to use it. Generate the report at the end of the scan whenever the result goes to somebody else: a client, an insurer, or a case file.

--profileone of forensic, recovery

Override the mode for this run (forensic=hash+manifest+evidence, recovery=fast+by-type). Defaults to the saved global mode.

When to use it. Override the saved mode for this one run, for example a single evidential job on a bench normally used for commercial recovery.

What it costs. Setting it per run avoids the more common error, which is leaving a bench in forensic mode and hashing every file on high-volume commercial work.

--apfs-snapshots

List the APFS snapshots on the source (point-in-time views that may hold deleted/overwritten files) and stop

When to use it. Run first on any Mac volume. Snapshots are point-in-time views that often still hold the file as it was before it was deleted or overwritten.

--apfs-snapshot

Recover files as they were in this named APFS snapshot (byte-exact from the copy-on-write extents)

When to use it. Recover from the named snapshot. Where the file exists in a snapshot, this returns it byte-exact and is far better than carving for it.

--vss-list

List the Windows Volume Shadow Copies on the source (previous versions - originals from before deletion or ransomware) and stop

When to use it. Run first on any Windows volume, and always in a ransomware incident. Shadow copies hold previous versions from before the deletion or the encryption.

--vss-snapshot

Recover files as they were in this shadow copy: the snapshot-time volume is reconstructed and scanned

When to use it. Reconstruct the volume as it was at that snapshot and recover from it. This is frequently the fastest complete recovery available.

Command

recoveryantra redact

<rdcmd>one of mask, track, detect, review, export · positional

When to use it. Mask a region, track one across a range, record the examiner's review decision, or export - each documented on its own line. Export is refused until a redaction has been approved.

Command

recoveryantra remote

<rcmd>one of agent, discover, image, volumes, live, server, roster, sweep, queue, package, list · positional

When to use it. Work with a machine across the network. `agent` runs on the far machine and offers its disks read-only; `discover` and `list` find it and show what it has; `image` copies a disk that is not in use; `volumes` asks a running machine what it has and whether it can be frozen; `live` acquires a machine that is STILL IN USE, through a snapshot taken on that machine. Use the network route when the drive cannot be removed: a machine under warranty, a server that cannot be opened, a member of staff three time zones away, or a site you cannot attend.

What it costs. The transfer is only as reliable as the link. The image is verified on arrival, and a short image is reported failed rather than handed over as complete. `live` additionally creates a snapshot on the far machine, which allocates space there - so a live acquisition writes to the endpoint even though it never writes to the data being acquired, and every result records that. A volume that cannot be frozen is refused rather than read while it moves. Live acquisition is built into Enterprise, Forensics and the Suite.

Command

recoveryantra report

--case

The case folder

When to use it. Point at the case folder you want to hand to another tool or lab. `report` exports it in a standardized interchange format rather than a PDF, so an examiner on different software can load the same evidence, timeline and provenance. The case folder is read only.

--formatone of case-uco · default case-uco

Export format (default case-uco)

When to use it. Choose the interchange format for the export; today that is CASE-UCO, the community standard the major forensic tools read, so findings travel to another examiner without being retyped. Leave it at the default unless a receiving lab asks for a specific one.

-oalso --output

Path to write the export to

When to use it. Where to write the exported file. Choose a path outside the case folder and the evidence drive so the export never lands among the files it describes; writing it does not change the case.

--force

Write even if the pre-flight objects

When to use it. Write the export even when the pre-flight raises an objection, such as too little free space at the destination. Use it only after you have read the warning and accept it.

What it costs. The pre-flight is what stops a half-written export or a destination that cannot hold the file; forcing past it can leave an incomplete export that another tool will reject as malformed.

Command

recoveryantra review

<rvcmd>one of open, frames, bookmark, motion, correct, annotate, package, verify · positional

When to use it. Open an asset's timeline, build a frame pack from a range, bookmark one frame, read the gaps and field order, or verify a pack already built. Documented per subcommand.

Command

recoveryantra stego

<path>positional

The image or file to analyse

When to use it. The image or file to examine for hidden data, run whenever an exhibit might carry a concealed payload - a picture that is larger than its content explains, a file a suspect treated as important, or anything flagged for a second look. Reading only; the exhibit is never changed.

--extract

Also carve out and save any hidden data that is found

When to use it. Add this when the examination should also carve out and save what it finds, so recovered appended data, embedded files and LSB payloads land in a folder you can open, not only in the on-screen verdict.

What it costs. It writes new files to the output folder; it never alters the exhibit, and an unconfirmed carve is labelled so it is not mistaken for proven.

--out

Folder to write recovered hidden data into (with --extract)

When to use it. Where the recovered hidden data is written when extraction is on, used when the default folder beside the exhibit is not where the case keeps its working files. Choose a case folder, never the exhibit's own media.

--json

Print the full report as JSON instead of as text

When to use it. Print the full report as JSON instead of text, used when another tool or a case script consumes the result rather than a person reading it.

Command

recoveryantra steps

<workflow>positional

Workflow id (e.g. forensics, data_recovery); omit to list them by category

When to use it. Show the full procedure for one job - every stage, what it is for, the safety gates that cannot be skipped, and the command that carries each one out. Use it when a technician is doing a job for the first time, when a job is done rarely enough that nobody remembers the order, or when a reviewer asks why the work was done the way it was.

--categoryone of recovery, forensics

Show only one category's workflows

When to use it. Show only data recovery, or only forensics. The two follow different orders because they are for different things: a recovery is judged on how much comes back, an examination on whether you can prove what you did. Verification therefore ends a recovery and sits in the MIDDLE of an examination, before any analysis. Use this to hand a new examiner only the sequence that applies to them.

--commands

Print only the commands, in order, ready to copy

When to use it. Print only the commands, in order, ready to paste. Use it to build a runbook, to script a job that is done the same way every time, or to check a script somebody else wrote actually follows the procedure.

--standards

Show the published practice each step comes from

When to use it. Show the published practice each stage comes from - ISO/IEC 27037, NIST SP 800-86, the ACPO principles. Use it when a client, an auditor or a court asks why a step exists, and when training staff who need to know the procedure is not this vendor's opinion.

Command

recoveryantra timeline

<paths>positional

Artefact files or a folder to walk

When to use it. Point at the artefact files or the folder holding them. Use when the question is the sequence of events rather than the content of a file.

--out

Write the timeline to this file (else a summary is printed)

When to use it. Write to CSV whenever the timeline is going into a report or a review platform.

--formatone of csv, json · default csv

Export format for --out: csv (l2tcsv-compatible, the log2timeline/Timesketch CSV) or json

When to use it. Choose the export format for --out: csv writes an l2tcsv file (the log2timeline/Timesketch CSV every timeline tool reads), json writes a machine-readable sibling.

--start

Only events on/after this time (ISO)

When to use it. Bound the timeline to the period in question. On a busy machine the unbounded timeline is too large to read.

--end

Only events on/before this time (ISO)

When to use it. The other bound. Set both when the incident window is known.

--kind

Only this artefact kind (substring)

When to use it. Narrow to one artefact type when testing a specific hypothesis, for example execution evidence only.

What it costs. Narrowing hides context. Establish the sequence on the full timeline before filtering it for the report.

--source

Only rows from this evidence source (substring)

When to use it. Narrow to one evidence source (an artefact file or, in a case, an exhibit) when you already know which object the question is about.

--text

Only rows whose text matches (substring)

When to use it. Filter to rows mentioning a filename, a user or a device.

--limit

Cap the number of rows

When to use it. Cap the number of rows while you are still working out which period and which artefacts matter.

What it costs. A capped timeline is a sample, not the record. Remove the cap before the run that produces the report.

--offset

Skip this many rows first (paging, with --limit)

When to use it. Page deeper into a large timeline together with --limit; the first --offset rows are skipped.

--histogramone of year, month, day, hour, minute

Instead of rows, print the event count per time bucket (the data behind the zoomable view)

When to use it. Print the event count per time bucket (year/month/day/hour/minute) instead of rows - the shape of activity that tells you which window to zoom into before you read individual events.

--json

Print the listing (or histogram) as JSON to stdout

When to use it. Emit the listing (or the histogram) as JSON for a report generator or another tool, rather than the human summary.

--l2t

Also fold in an existing log2timeline/psort l2tcsv export before filtering

When to use it. Fold an existing log2timeline/psort l2tcsv export in beside the native events, so a full plaso run and our artefact parsers share one timeline.

Command

recoveryantra unlock

<system_dir>positional

The image's /data/system folder (holding gesture.key / password.key / locksettings.db)

When to use it. Point at the /data/system folder from an Android image when the device credential is needed and you are authorised to recover it.

What it costs. This works on an IMAGE you have already lawfully acquired. It is not a way into a handset you cannot already read.

--wordlist

Optional word list for a non-numeric password

When to use it. Supply a word list when the credential is a password rather than a numeric PIN.

--max-pindefault 6

Longest PIN to try (default 6; raising it costs time)

When to use it. Raise beyond 6 only when the case justifies the additional time, which grows sharply with each digit.

--operator

Examiner asserting lawful authority (recorded)

When to use it. The examiner asserting lawful authority.

--authority

Lawful basis: warrant / consent / statutory power

When to use it. The lawful basis. This step in particular should never be run without one recorded.

--org

Examiner's organisation (recorded)

When to use it. The examining organisation, recorded against a step that in most jurisdictions will be examined closely if the matter is contested.

--case

Case / FIR reference (recorded)

When to use it. The case reference, so this step appears in the same custody record as the acquisition it was run against.

Command

recoveryantra validate

<groups>positional

Which groups to run (DFR CARV WB AUD IMG SS); default all

When to use it. Run the shipping engine against known ground truth. Do this on a new bench, after an upgrade, and on a schedule your quality process sets.

What it costs. This is modelled on the NIST CFTT specifications. It is not a NIST certification and the report says so; describe it accurately.

--out

Folder to write validation_report_<time>.json/.txt into

When to use it. Write the dated validation report to the quality records store.

--federated

Also print/write a NIST-Federated-Testing-styled conformance report (test cases grouped by FT tool category; modelled on CFTT FT, not NIST-issued)

When to use it. Add the Federated-Testing-styled conformance report when your accreditation or client requires test cases grouped by tool category.

Command

recoveryantra veracrypt

<container>positional

Volume file or image (a raw device path also works)

When to use it. A VeraCrypt or TrueCrypt volume file, or a device path. Use when the data is inside an encrypted container and the password is lawfully available.

--password

Volume password (omit to be prompted, so it is not left in shell history)

When to use it. Omit it to be prompted. Typing a password on the command line leaves it in shell history and in process listings.

What it costs. On a shared or logged bench, treat the prompt as the only acceptable route.

--pim

Personal Iterations Multiplier (0 = VeraCrypt default)

When to use it. Supply the Personal Iterations Multiplier if the volume was created with one. Without the correct value the correct password still fails.

--cipher

Restrict to one cipher/cascade (e.g. AES, Serpent, AES-Twofish-Serpent). Omit to try all.

When to use it. Restrict to one cipher when it is known, which cuts the unlock time considerably.

What it costs. Restricting to the wrong cipher makes a correct password look wrong.

--prf

Restrict to one PRF (sha512/sha256/blake2s/whirlpool/streebog). Omit to try the usable ones.

When to use it. Restrict the hash function when it is known, for the same reason.

--truecrypt

Treat as a legacy TrueCrypt volume (different iteration counts and TRUE magic)

When to use it. Set for a legacy TrueCrypt volume; the iteration counts and the header magic differ.

--hidden

Unlock the hidden volume (header at offset 65536)

When to use it. Unlock the hidden volume rather than the outer one, where a hidden volume exists and you are authorised to access it.

--json

Also write the structured result (no key material) here

When to use it. Write the structured result for the case file. No key material is written.

Command

recoveryantra view

<view_command>one of registry, plist, sqlite, hex, interpret, bookmark · positional

When to use it. Open an artefact in a structured viewer without leaving the case: `registry` browses a hive, `plist` shows a property list, `sqlite` browses a database and its deleted rows, `hex` pages raw bytes, `interpret` decodes the bytes at an offset, `bookmark` marks bytes on the case. Every view prints JSON.

Command

recoveryantra which

<situation>positional

What is happening, in plain words (e.g. "drive is clicking"); omit to list every situation

When to use it. Describe what is happening in your own words - "drive is clicking", "formatted the wrong disk", "Outlook will not open it" - and get the feature to use, why that one rather than the obvious alternative, a worked example, the commands, and what NOT to do. Use it when somebody hands you a job and you are not sure which part of the product it belongs to, and give it to new staff before you give them anything else.

--all

Show every situation, grouped, rather than searching

When to use it. List every situation, grouped, instead of searching. Use it to see the whole range at once - useful when scoping what a product will cover for a customer, and for training.

What it costs. Situations the product you are running does not include are marked, so the list stays honest about what this build can actually do.

Command

recoveryantra wizard

<name>positional

Workflow id (e.g. data_recovery); omit to list them

When to use it. Print the guided steps for a workflow. Useful for a new operator, or for a procedure your team runs rarely enough to want the sequence in front of them.

--list

List the available guided workflows

When to use it. List the guided workflows available in this product.

Command

recoveryantra yara

<yara_command>one of import, starter, list, enable, disable, remove, scan, tag · positional

When to use it. Scan a case's evidence with YARA rules and manage the rule sets. `import` and `starter` bring rules in; `list`, `enable`, `disable` and `remove` manage them; `scan` runs them; `tag` marks a hit.

In practice

22 scenarios that use SakshyaYantra Forensic Suite