Files
Joseph Doherty fe2a6db786
rust / build / test / clippy / fmt (push) Has been cancelled
Initial project state: .NET reference, design, Rust port (M0+M1), evidence
Layout:
- src/                    .NET 10 x64 reference: MxNativeCodec, MxNativeClient,
                          MxAsbClient, probes, tests, harnesses. Executable spec.
- design/                 Architectural plan for the Rust port (M0–M6), error
                          model, protocol invariants, risks (R1–R16), adversarial
                          review log (review.md).
- rust/                   Rust workspace. M0 skeleton + M1 codec parity.
                          mxaccess-codec: 215 unit tests + 2 cross-implementation
                          parity tests (byte-identical against .NET reference).
                          Other crates are M0 stubs awaiting M2+.
- captures/               Frida + netsh + pcap evidence per CLAUDE.md
                          ("captures are evidence, not throwaway logs").
- analysis/               Decompiled C# (frida/proxy/decompiled-*),
                          Ghidra exports for native DLLs (`exports/` only —
                          working state at `projects/` and AVEVA's input
                          binaries at `input/` are gitignored).
- docs/                   Reverse-engineering reference docs.
- tools/                  Setup-LiveProbeEnv.ps1 (Infisical credential fetcher),
                          Compute-Crc.ps1 (.NET parity helper).
- .github/workflows/      Rust CI: fmt + build + test + clippy on Windows.
- LICENSE                 MIT (Joseph Doherty, 2026).

Verified:
- cargo test --workspace → 217 passed (215 unit + 2 .NET parity), 0 failed
- cargo clippy --workspace -- -D warnings → clean
- cargo fmt --all -- --check → clean
- cargo publish --dry-run -p mxaccess-codec → packages cleanly

Excluded from history (see .gitignore):
- **/bin, **/obj, **/target — build artifacts
- analysis/ghidra/projects/ — Ghidra working state (regenerable)
- analysis/ghidra/input/ — AVEVA proprietary DLLs (vendor IP)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 06:21:00 -04:00

94 lines
28 KiB
JSON

____
/ _ | Frida 17.9.1 - A world-class dynamic instrumentation toolkit
| (_| |
> _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about 'object'
. . . . exit/quit -> Exit
. . . .
. . . . More info at https://frida.re/docs/home/
. . . .
. . . . Connected to Local System (id=local)
Spawning `C:\Users\dohertj2\Desktop\mxaccess\src\MxTraceHarness\bin\Release\net481\MxTraceHarness.exe --scenario=write --tag=TestChildObject.TestFloat --type=float --values=1.25,2.5,3.75 --user-id=1 --write-delay-ms=1000 --write-interval-ms=700 --duration=4 --log=C:\Users\dohertj2\Desktop\mxaccess\captures\025-frida-write-test-float-sequence\harness.log --client=MxFridaTrace-025-frida-write-test-float-sequence`...
Spawned `C:\Users\dohertj2\Desktop\mxaccess\src\MxTraceHarness\bin\Release\net481\MxTraceHarness.exe --scenario=write --tag=TestChildObject.TestFloat --type=float --values=1.25,2.5,3.75 --user-id=1 --write-delay-ms=1000 --write-interval-ms=700 --duration=4 --log=C:\Users\dohertj2\Desktop\mxaccess\captures\025-frida-write-test-float-sequence\harness.log --client=MxFridaTrace-025-frida-write-test-float-sequence`. Resuming main thread!
[Local::MxTraceHarness.exe ]-> {"event":"hook.installed","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","base":"0x65a40000","rva":"0x12c0c","address":"0x65a52c0c","time":"2026-04-25T06:24:42.541Z"}
{"event":"hook.installed","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantB","base":"0x65a40000","rva":"0x13280","address":"0x65a53280","time":"2026-04-25T06:24:42.542Z"}
{"event":"hook.installed","module":"LmxProxy.dll","name":"CLMXProxyServer.WriteSecured.variantA","base":"0x65a40000","rva":"0x12f24","address":"0x65a52f24","time":"2026-04-25T06:24:42.542Z"}
{"event":"hook.installed","module":"LmxProxy.dll","name":"CLMXProxyServer.WriteSecured.variantB","base":"0x65a40000","rva":"0x135fe","address":"0x65a535fe","time":"2026-04-25T06:24:42.543Z"}
{"event":"hook.installed","module":"LmxProxy.dll","name":"CLMXProxyServer.AdviseSupervisory","base":"0x65a40000","rva":"0x142b4","address":"0x65a542b4","time":"2026-04-25T06:24:42.543Z"}
{"event":"hook.installed","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","base":"0x64180000","rva":"0x10996","address":"0x64190996","time":"2026-04-25T06:24:49.590Z"}
{"event":"hook.installed","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","base":"0x64180000","rva":"0x112da","address":"0x641912da","time":"2026-04-25T06:24:49.591Z"}
{"event":"hook.installed","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","base":"0x64180000","rva":"0x15169","address":"0x64195169","time":"2026-04-25T06:24:49.592Z"}
{"event":"hook.installed","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequestEx","base":"0x64180000","rva":"0x159c3","address":"0x641959c3","time":"2026-04-25T06:24:49.592Z"}
{"event":"call.enter","module":"LmxProxy.dll","name":"CLMXProxyServer.AdviseSupervisory","address":"0x65a542b4","ecx":"0xf3eb1c","args":["0x6538ff0","0x1","0x1","0xc41389c2","0x74794704"],"time":"2026-04-25T06:24:49.685Z"}
{"event":"call.leave","module":"LmxProxy.dll","name":"CLMXProxyServer.AdviseSupervisory","retval":"0x0","time":"2026-04-25T06:24:49.685Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x1","0x2","0x0","0x13a","0x95f0648","0xf3e7e0","0x782e0f40"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":1,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":314,"ptr":"0x95f0648","hex":"17 01 00 01 01 00 01 00 00 00 65 00 71 00 0a 00 00 00 00 00 08 6a 00 00 00 40 00 00 81 44 00 65 00 76 00 50 00 6c 00 61 00 74 00 66 00 6f 00 72 00 6d 00 2e 00 47 00 52 00 2e 00 54 00 69 00 6d 00 65 00 4f 00 66 00 4c 00 61 00 73 00 74 00 44 00 65 00 70 00 6c 00 6f 00 79 00 00 00 02 00 00 00 00 00 02 00 00 00 00 00 02 00 00 00 00 00 01 01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 d0 fc 5e 09 1f 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 00 00 01 00 00 00 17 01 00 01 01 00 01 00 00 00 65 00 71 00 0a 00 00 00 00 00 08 76 00 00 00 4c 00 00 81 44 00 65 00 76 00 50 00 6c 00 61 00 74 00 66 00 6f 00 72 00 6d 00 2e 00 47 00 52 00 2e 00 54 00 69 00 6d 00 65 00 4f 00 66 00 4c 00 61 00 73 00 74 00 43 00 6f 00 6e 00 66 00 69 00 67 00 43 00 68 00 61"}],"time":"2026-04-25T06:24:49.810Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x1","0x168","0xa0b1020","0xe14d710","0x95f0214","0x95f0204","0x641add04","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":360,"ptr":"0xa0b1020","hex":"01 00 3a 01 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 02 00 00 30 75 00 00 17 01 00 01 01 00 01 00 00 00 65 00 71 00 0a 00 00 00 00 00 08 6a 00 00 00 40 00 00 81 44 00 65 00 76 00 50 00 6c 00 61 00 74 00 66 00 6f 00 72 00 6d 00 2e 00 47 00 52 00 2e 00 54 00 69 00 6d 00 65 00 4f 00 66 00 4c 00 61 00 73 00 74 00 44 00 65 00 70 00 6c 00 6f 00 79 00 00 00 02 00 00 00 00 00 02 00 00 00 00 00 02 00 00 00 00 00 01 01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 d0 fc 5e 09 1f 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 00 00 01 00 00 00 17 01 00 01 01 00 01 00 00 00 65 00 71 00 0a 00 00 00 00 00 08 76 00 00 00 4c 00 00 81 44 00 65 00 76 00 50 00 6c 00 61 00 74 00 66 00 6f 00 72 00 6d"}],"time":"2026-04-25T06:24:49.812Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:49.813Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:49.813Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x2","0x2","0x0","0x27","0x96bde68","0xf3e7e0","0x782e0f40"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":2,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":39,"ptr":"0x96bde68","hex":"1f 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 00 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 00"}],"time":"2026-04-25T06:24:49.814Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x55","0xa0b1020","0xe14d710","0x96c9584","0x96c9574","0x641add04","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":85,"ptr":"0xa0b1020","hex":"01 00 27 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 02 00 00 30 75 00 00 1f 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 00 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 00"}],"time":"2026-04-25T06:24:49.815Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:49.816Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:49.816Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x5c","0x8110950","0x79dedb0","0x76ffedd8","0x95ec744","0x5c","0x8110950","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":92,"ptr":"0x8110950","hex":"01 00 2e 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 02 02 00 00 30 75 00 00 00 00 50 80 01 00 01 00 02 00 30 75 00 00 e1 29 46 93 4a c7 6d 43 b8 9b ad df bc ee f8 61 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:49.827Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:49.827Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x6c","0x811c4a8","0x79dedb0","0x76ffedd8","0x95ec744","0x6c","0x811c4a8","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":108,"ptr":"0x811c4a8","hex":"01 00 3e 00 00 00 00 00 00 00 4a 75 04 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 02 00 00 30 75 00 00 32 01 00 01 00 00 00 e1 29 46 93 4a c7 6d 43 b8 9b ad df bc ee f8 61 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 03 00 00 00 03 00 00 00 c0 00 b0 a0 e2 57 47 bd dc 01 03 00 00 00 00"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:49.829Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:49.829Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x2c2","0x7d005a8","0x79dedb0","0x76ffedd8","0x95ec744","0x2c2","0x7d005a8","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":706,"ptr":"0x7d005a8","hex":"01 00 94 02 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 02 02 00 00 30 75 00 00 40 1f 50 80 08 a6 00 00 00 40 00 00 91 44 00 65 00 76 00 50 00 6c 00 61 00 74 00 66 00 6f 00 72 00 6d 00 2e 00 47 00 52 00 2e 00 54 00 69 00 6d 00 65 00 4f 00 66 00 4c 00 61 00 73 00 74 00 44 00 65 00 70 00 6c 00 6f 00 79 00 00 00 18 00 00 00 44 00 65 00 76 00 50 00 6c 00 61 00 74 00 66 00 6f 00 72 00 6d 00 00 00 28 00 00 00 47 00 52 00 2e 00 54 00 69 00 6d 00 65 00 4f 00 66 00 4c 00 61 00 73 00 74 00 44 00 65 00 70 00 6c 00 6f 00 79 00 00 00 02 00 00 00 00 00 01 01 00 01 00 01 00 53 f2 9a 00 6a 00 0a 00 5f f1 00 00 01 6c 00 00 00 41 00 6e 00 20 00 69 00 6e 00 74 00 65 00 72 00 6e 00 61 00 6c 00 20 00 65 00 72 00 72 00 6f"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:49.864Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:49.864Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x97","0x811d5b0","0x79dedb0","0x76ffedd8","0x95ec744","0x97","0x811d5b0","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":151,"ptr":"0x811d5b0","hex":"01 00 69 00 00 00 00 00 00 00 6d ea 08 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 02 00 00 30 75 00 00 32 01 00 02 00 00 00 c4 08 77 69 27 15 52 4e 82 b3 a6 62 14 f8 61 19 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 01 00 00 00 03 00 00 00 c0 00 20 2e 5a 46 28 d3 dc 01 06 0a 00 00 00 00 a0 41 c3 55 bd dc 01 00 00 02 00 00 00 03 00 00 00 c0 00 80 18 5b 46 28 d3 dc 01 06 0a 00 00 00 80 c1 75 25 a5 bd dc 01 00 00"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:49.866Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:49.866Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x2e","0xa0b1020","0xe14d77c","0x95e7010","0x0","0x0","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":46,"ptr":"0xa0b1020","hex":"01 00 00 00 00 00 00 00 00 00 4a 75 04 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 02 00 00 30 75 00 00"}],"time":"2026-04-25T06:24:49.937Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:49.938Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x1","0x2e","0xa0b1020","0xe14d77c","0x95e7010","0x0","0x0","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":46,"ptr":"0xa0b1020","hex":"01 00 00 00 00 00 00 00 00 00 6d ea 08 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 02 00 00 30 75 00 00"}],"time":"2026-04-25T06:24:49.939Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:49.940Z"}
{"event":"call.enter","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","address":"0x65a52c0c","ecx":"0xf3eb10","args":["0x6538ff0","0x1","0x1","0x4","0x0","0x3fa00000","0x0","0x1","0xc41389c2","0x74794704"],"time":"2026-04-25T06:24:50.714Z"}
{"event":"call.leave","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","retval":"0x0","time":"2026-04-25T06:24:50.714Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x2","0x2","0x0","0x28","0x96bde68","0xf3e7e0","0x782e0f40"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":2,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":40,"ptr":"0x96bde68","hex":"37 01 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 a0 3f ff ff 00 00 00 00 00 00 00 00 64 6f b6 08 01 00 00 00"}],"time":"2026-04-25T06:24:50.767Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x56","0xa0b1020","0xe14d710","0x95e77f4","0x95e77e4","0x641add04","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":86,"ptr":"0xa0b1020","hex":"01 00 28 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 02 00 00 30 75 00 00 37 01 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 a0 3f ff ff 00 00 00 00 00 00 00 00 64 6f b6 08 01 00 00 00"}],"time":"2026-04-25T06:24:50.767Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:50.768Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:50.769Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x33","0x8110950","0x79dedb0","0x76ffedd8","0x95ec744","0x33","0x8110950","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":51,"ptr":"0x8110950","hex":"01 00 05 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 02 02 00 00 30 75 00 00 00 00 50 80 00"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:50.819Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:50.819Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x58","0x811c4a8","0x79dedb0","0x76ffedd8","0x95ec744","0x58","0x811c4a8","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":88,"ptr":"0x811c4a8","hex":"01 00 2a 00 00 00 00 00 00 00 4d 75 04 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 02 00 00 30 75 00 00 33 01 00 01 00 00 00 e1 29 46 93 4a c7 6d 43 b8 9b ad df bc ee f8 61 03 00 00 00 c0 00 10 8f cb 38 7c d4 dc 01 03 00 00 a0 3f"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:50.820Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:50.820Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x2e","0xa0b1020","0xe14d77c","0x95e7010","0x0","0x0","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":46,"ptr":"0xa0b1020","hex":"01 00 00 00 00 00 00 00 00 00 4d 75 04 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 02 00 00 30 75 00 00"}],"time":"2026-04-25T06:24:50.927Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:50.928Z"}
{"event":"call.enter","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","address":"0x65a52c0c","ecx":"0xf3eb10","args":["0x6538ff0","0x1","0x1","0x4","0x0","0x40200000","0x0","0x1","0xc41389c2","0x74794704"],"time":"2026-04-25T06:24:51.441Z"}
{"event":"call.leave","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","retval":"0x0","time":"2026-04-25T06:24:51.441Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x2","0x2","0x0","0x28","0x96bdcb8","0xf3e7e0","0x782e0f40"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":2,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":40,"ptr":"0x96bdcb8","hex":"37 01 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 20 40 ff ff 00 00 00 00 00 00 00 00 64 6f b6 08 02 00 00 00"}],"time":"2026-04-25T06:24:51.545Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x56","0xa0b1020","0xe14d710","0x96c99dc","0x96c99cc","0x641add04","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":86,"ptr":"0xa0b1020","hex":"01 00 28 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 02 00 00 30 75 00 00 37 01 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 20 40 ff ff 00 00 00 00 00 00 00 00 64 6f b6 08 02 00 00 00"}],"time":"2026-04-25T06:24:51.546Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:51.546Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:51.547Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x33","0x7d005a8","0x79dedb0","0x76ffedd8","0x95ec744","0x33","0x7d005a8","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":51,"ptr":"0x7d005a8","hex":"01 00 05 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 02 02 00 00 30 75 00 00 00 00 50 80 00"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:51.554Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:51.555Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x58","0x811d5b0","0x79dedb0","0x76ffedd8","0x95ec744","0x58","0x811d5b0","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":88,"ptr":"0x811d5b0","hex":"01 00 2a 00 00 00 00 00 00 00 51 75 04 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 02 00 00 30 75 00 00 33 01 00 01 00 00 00 e1 29 46 93 4a c7 6d 43 b8 9b ad df bc ee f8 61 03 00 00 00 c0 00 10 dd 3b 39 7c d4 dc 01 03 00 00 20 40"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:51.556Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:51.556Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x2e","0xa0b1020","0xe14d77c","0x95e7010","0x0","0x0","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":46,"ptr":"0xa0b1020","hex":"01 00 00 00 00 00 00 00 00 00 51 75 04 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 02 00 00 30 75 00 00"}],"time":"2026-04-25T06:24:51.651Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:51.652Z"}
{"event":"call.enter","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","address":"0x65a52c0c","ecx":"0xf3eb10","args":["0x6538ff0","0x1","0x1","0x4","0x0","0x40700000","0x0","0x1","0xc41389c2","0x74794704"],"time":"2026-04-25T06:24:52.163Z"}
{"event":"call.leave","module":"LmxProxy.dll","name":"CLMXProxyServer.Write.variantA","retval":"0x0","time":"2026-04-25T06:24:52.163Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x2","0x2","0x0","0x28","0x96bdd48","0xf3e7e0","0x782e0f40"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":2,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":40,"ptr":"0x96bdd48","hex":"37 01 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 70 40 ff ff 00 00 00 00 00 00 00 00 64 6f b6 08 03 00 00 00"}],"time":"2026-04-25T06:24:52.216Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x56","0xa0b1020","0xe14d710","0x95e77f4","0x95e77e4","0x641add04","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":86,"ptr":"0xa0b1020","hex":"01 00 28 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 02 00 00 30 75 00 00 37 01 00 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 70 40 ff ff 00 00 00 00 00 00 00 00 64 6f b6 08 03 00 00 00"}],"time":"2026-04-25T06:24:52.217Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:52.217Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:52.217Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x33","0x8110950","0x79dedb0","0x76ffedd8","0x95ec744","0x33","0x8110950","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":51,"ptr":"0x8110950","hex":"01 00 05 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 02 02 00 00 30 75 00 00 00 00 50 80 00"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:52.234Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:52.234Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x58","0x7d005a8","0x79dedb0","0x76ffedd8","0x95ec744","0x58","0x7d005a8","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":88,"ptr":"0x7d005a8","hex":"01 00 2a 00 00 00 00 00 00 00 54 75 04 00 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 02 00 00 30 75 00 00 33 01 00 01 00 00 00 e1 29 46 93 4a c7 6d 43 b8 9b ad df bc ee f8 61 03 00 00 00 c0 00 80 78 a3 39 7c d4 dc 01 03 00 00 70 40"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:52.235Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:52.235Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x2e","0xa0b1020","0xe14d77c","0x95e7010","0x0","0x0","0x0"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":46,"ptr":"0xa0b1020","hex":"01 00 00 00 00 00 00 00 00 00 54 75 04 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 02 00 00 30 75 00 00"}],"time":"2026-04-25T06:24:52.323Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:52.324Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x1","0x2","0x0","0x3a","0x96bd8c8","0xf3e99c","0x782e010c"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":1,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":58,"ptr":"0x96bd8c8","hex":"21 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 01 00 53 f2 9a 00 6a 00 0a 00 5f f1 00 00 01 00 00 00 22 01 00 01 00 53 f2 9a 00 6b 00 0a 00 87 3a 00 00 02 00 00 00"}],"time":"2026-04-25T06:24:56.232Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x1","0x68","0xa0b1020","0xe14d9cc","0x95e77f4","0x95e77e4","0x641add04","0x64"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":104,"ptr":"0xa0b1020","hex":"01 00 3a 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 02 00 00 30 75 00 00 21 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 01 00 53 f2 9a 00 6a 00 0a 00 5f f1 00 00 01 00 00 00 22 01 00 01 00 53 f2 9a 00 6b 00 0a 00 87 3a 00 00 02 00 00 00"}],"time":"2026-04-25T06:24:56.235Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:56.236Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:56.237Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","address":"0x64195169","ecx":"0x1","args":["0x95ec738","0x1","0x1","0x2","0x2","0x0","0x25","0x96bdc28","0xf3e99c","0x782e010c"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":2,"ptr":"0x2","hex":""},{"sizeIndex":6,"ptrIndex":7,"size":37,"ptr":"0x96bdc28","hex":"21 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 00"}],"time":"2026-04-25T06:24:56.237Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","address":"0x64190996","ecx":"0x95ec738","args":["0x1","0x1","0x2","0x53","0xa0b1020","0xe14d9cc","0x96c9584","0x96c9574","0x641add04","0x64"],"candidates":[{"sizeIndex":3,"ptrIndex":4,"size":83,"ptr":"0xa0b1020","hex":"01 00 25 00 00 00 00 00 00 00 07 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 01 00 00 00 01 00 00 00 02 00 00 00 01 02 00 00 30 75 00 00 21 01 00 f0 9b 78 72 35 c0 c4 4c a5 16 5c d4 76 bc 23 d4 05 00 36 d7 02 00 9c 00 0a 00 a6 ed 00 00 03 00 00 00"}],"time":"2026-04-25T06:24:56.241Z"}
{"event":"nmx.enter","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","address":"0x641912da","ecx":"0x95ec738","args":["0x2e","0x8110950","0x79dedb0","0x76ffedd8","0x95ec744","0x2e","0x8110950","0x206","0x3","0x8275474"],"candidates":[{"sizeIndex":5,"ptrIndex":6,"size":46,"ptr":"0x8110950","hex":"01 00 00 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 fb 7f 00 00 02 02 00 00 30 75 00 00"},{"sizeIndex":7,"ptrIndex":8,"size":518,"ptr":"0x3","hex":""},{"sizeIndex":8,"ptrIndex":9,"size":3,"ptr":"0x8275474","hex":"58 2b 14"}],"time":"2026-04-25T06:24:56.242Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.TransferData","retval":"0x0","time":"2026-04-25T06:24:56.243Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.ProcessDataReceived","retval":"0x1","time":"2026-04-25T06:24:56.243Z"}
{"event":"nmx.leave","module":"NmxAdptr.dll","name":"CNmxAdapter.PutRequest","retval":"0x0","time":"2026-04-25T06:24:56.243Z"}
Process terminated
Thank you for using Frida!