runtime-configurable identity tool

MITM

MITM is the current runtime configuration tool. Users can set capacity, device type, model, serial, volume label, GUID, and SMART values in the GUI, then use Attach to write that identity into a runtime profile.

features

The point is runtime configuration.

User-defined identity

Model, serial, firmware revision, capacity, volume label, GUID, volume serial, and SMART defaults are entered from the GUI.

No rebuild per identity

One base firmware can attach different runtime profiles. Change the GUI fields and Attach again when the identity should change.

AHCI example flow

The AHCI GUI builds a realistic SATA disk identity and filesystem layout from the fields, then applies it to firmware during Attach.

usage guide

Using the AHCI GUI EXE.

This flow uses the AHCI page in `MITM.exe`. The runtime parameters are GUI fields, not command-line flags.

  1. Launch and verify the license. Open `MITM.exe`, enter the license in the left License area, and click Verify. Continue after the state becomes Verified.
  2. Select AHCI. Choose AHCI in the controller list. The right side shows Board Status, Disk Profile, and Device Actions.
  3. Run Preflight, then Probe. Preflight confirms the host-side FT601 driver/DLL/USB/pipe path. Probe confirms the FPGA AHCI management window. Configure parameters after `AHCI management window detected`.
  4. Fill Disk Profile. Select SSD or HDD, then fill Serial, Firmware, Model, Capacity, Device Type, SATA Speed, Volume Label, Identity Seed, GUID, and SMART fields using the HDD/SSD examples below.
  5. Click Attach. Attach applies the current identity values and disk layout to firmware. Windows should enumerate the emulated AHCI disk after success.
  6. Attach again to change identity. Detach first, wait until Windows is no longer using the disk, edit the fields, and Attach again. Profile editing is locked while Disk Active.

GUI EXE runtime parameters

Two AHCI examples you can copy into the GUI.

These values match the current validation rules: Serial is 20 characters or less, Firmware is 8 characters or less, Model is 40 characters or less, and Volume Label is 15 ASCII characters or less.

real HDD style

Seagate BarraCuda 1TB style

Device TypeSATA HDD
SerialZ9A1H2KD
FirmwareCC43
ModelST1000DM010-2EP102
Capacity1 TB
SATA SpeedSATA/600
Buffer KiB65535
Queue Depth32
TRIMfalse
Rotation7200
Volume LabelDATA_HDD
Identity Seedst1000dm010-z9a1h2kd
Disk GUIDauto
Partition GUIDauto
Volume Serialauto
SMART POH4820
SMART Start/Stop630
SMART Power Cycles412
SMART Temp C34
Pending Sectors0
Offline Uncorrectable0
UDMA CRC Errors0
Spin-up Time4210
Spin Retry0
Seek Error Rate0
Load Cycle734
Power-off Retract73
Reallocation Events0
Bad Blocks0
real SSD style

Samsung 870 EVO 500GB style

Device TypeSATA SSD
SerialS6PTNX0T123456A
FirmwareSVT02B6Q
ModelSamsung SSD 870 EVO 500GB
Capacity500 GB
SATA SpeedSATA/600
Buffer KiB512
Queue Depth32
TRIMtrue
Rotation1
Volume LabelDATA_SSD
Identity Seedsamsung-870evo-s6ptnx0t
Disk GUIDauto
Partition GUIDauto
Volume Serialauto
SMART POH920
SMART Power Cycles140
SMART Reads GiB2300
SMART Writes GiB850
SMART Temp C31
Pending Sectors0
Offline Uncorrectable0
UDMA CRC Errors0
Remaining Life98
Unsafe Shutdowns3
Bad Blocks0
SATA PHY Errors0