Evidex Examples
Practical examples for using Evidex in forensic investigations.
Basic File Acquisition
evidex --server https://forensics.example.com \
--token my_token \
--case-id CASE-001 \
/evidence/suspicious.pdf
Directory Acquisition
evidex -s https://forensics.example.com \
-t my_token \
-c CASE-001 \
-r /evidence/documents/
Go Program
package main
import (
"fmt"
"github.com/ilexum-group/evidex/internal/acquisition"
"github.com/ilexum-group/evidex/internal/config"
"github.com/ilexum-group/evidex/internal/metadata"
"github.com/ilexum-group/evidex/internal/os"
"github.com/ilexum-group/evidex/internal/sender"
"github.com/ilexum-group/evidex/pkg/models"
)
func main() {
cfg, filePaths := config.ParseFlags()
osImpl := os.New()
custody := models.NewCustodyChainEntry("evidex", "1.0.4")
metadataMgr := metadata.NewMetadataManager(nil)
acquirer := acquisition.NewAcquirer(custody, osImpl, metadataMgr)
for _, path := range filePaths {
file, _ := acquirer.AcquireFile(path)
fmt.Printf("Acquired: %s (SHA256: %s)\n",
file.Filename, file.Hashes.SHA256)
}
pkg := acquirer.GetEvidencePackage()
s := sender.NewSender(cfg.ServerURL, cfg.AuthToken)
s.SendEvidencePackage(pkg)
}
Chain of Custody
The custody chain provides cryptographic proof of evidence integrity.