Dynamic analysis: run 3, end-to-end capture for the decryptor

Setup

Execution timeline

| Time | Event | Observation | |—|—|—| | 13:08 | WMI executor | forced return | | 13:08 | seed hit before gate | the RSA context’s own padding seed | | 13:08 | gate | root is C:\Users\deadtrace\Desktop\samples only | | 13:09–13:11 | thread 0x16D0 | seeds 4041234356400, 4087752264900, 4098288588700, 4107556688800; blob shows e2e_big.bin, mode 2, size 0x2DC6C0 | | 13:09–13:11 | thread 0x1068 | seeds 4052181901800, 4069743706800, 4124383156800, 4173625838700; e2e_db.sqlite, mode 0, size 0x30123 | | 13:12–13:13 | thread 0x16D0 (second file) | seeds 4247816085700, 4259498741100, 4277557538300, 4287007536900; e2e_small.txt, mode 1, 50%, size 0x3000 | | 13:14 | process exited on its own | an old log file from an earlier run was also encrypted; shadow copies skipped |

Every blob was cross-checked: its four seeds regenerate exactly the keys sealed in it. The captures are in 06-decryptor/e2e/captures.txt.

Extracting outputs to the host

There is no host↔VM file bridge. Each .akira file was imported into Ghidra as a raw binary (import_file, language x86:LE:64:default, no auto-analysis, folder /decrypt_test), then read with read_memory using a large length. The tool result was saved to disk and parsed on the host. The rebuilt files are byte-identical to the transfer dumps (rechecked when the case folder was built) and are kept as 06-decryptor/e2e/*.akira.

Conclusions