fe2a6db786
rust / build / test / clippy / fmt (push) Has been cancelled
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>
3.1 KiB
3.1 KiB
| 1 | conversation_a | conversation_b | payload_packets | payload_bytes | first_relative | last_relative |
|---|---|---|---|---|---|---|
| 2 | 127.0.0.1:57415 | 127.0.0.1:57433 | 1946 | 37217 | 0.049187422 | 18.582937956 |
| 3 | ::1:49704 | ::1:57385 | 452 | 36118 | 4.099331856 | 18.518697977 |
| 4 | fe80::3608:256c:365:cc73:55555 | fe80::3608:256c:365:cc73:57401 | 2 | 14170 | 14.865499735 | 14.933510065 |
| 5 | fe80::3608:256c:365:cc73:55555 | fe80::3608:256c:365:cc73:57388 | 2 | 13997 | 6.430495501 | 6.503382444 |
| 6 | fe80::3608:256c:365:cc73:443 | fe80::3608:256c:365:cc73:61633 | 16 | 6540 | 16.887420177 | 16.931259155 |
| 7 | ::1:135 | ::1:57384 | 22 | 2860 | 4.096544027 | 18.494770050 |
| 8 | fe80::3608:256c:365:cc73:55555 | fe80::3608:256c:365:cc73:57390 | 3 | 2703 | 8.060954094 | 10.766581535 |
| 9 | ::1:32571 | ::1:57395 | 4 | 2196 | 10.880584955 | 10.888675928 |
| 10 | fe80::3608:256c:365:cc73:55555 | fe80::3608:256c:365:cc73:57403 | 3 | 1941 | 16.175428152 | 18.267349720 |
| 11 | fe80::3608:256c:365:cc73:808 | fe80::3608:256c:365:cc73:56877 | 16 | 1939 | 13.154254675 | 13.163907051 |
| 12 | ::1:80 | ::1:57377 | 6 | 1821 | 2.971200466 | 2.977626324 |
| 13 | ::1:80 | ::1:57383 | 6 | 1793 | 3.738183975 | 3.744785786 |
| 14 | ::1:80 | ::1:57387 | 6 | 1793 | 4.258316040 | 4.269093513 |
| 15 | ::1:80 | ::1:57398 | 6 | 1793 | 13.739692211 | 13.746556044 |
| 16 | ::1:80 | ::1:57400 | 6 | 1793 | 14.259782553 | 14.268046618 |
| 17 | fe80::3608:256c:365:cc73:808 | fe80::3608:256c:365:cc73:55757 | 2 | 1789 | 10.181640625 | 10.182575226 |
| 18 | ::1:80 | ::1:57392 | 6 | 1788 | 8.318043947 | 8.326290846 |
| 19 | ::1:80 | ::1:57394 | 6 | 1788 | 8.462028027 | 8.468484879 |
| 20 | ::1:80 | ::1:57405 | 6 | 1784 | 16.782871246 | 16.789427042 |
| 21 | fe80::3608:256c:365:cc73:55555 | fe80::3608:256c:365:cc73:57389 | 2 | 1202 | 6.510869980 | 6.515720844 |
| 22 | ::1:808 | ::1:55800 | 2 | 1150 | 4.181292772 | 4.182344198 |
| 23 | 127.0.0.1:57608 | 127.0.0.1:57631 | 86 | 1112 | 0.099488974 | 18.232506275 |
| 24 | 127.0.0.1:57470 | 127.0.0.1:57477 | 86 | 1112 | 0.099508286 | 18.168549776 |
| 25 | 10.100.0.48:1433 | 10.100.0.48:49792 | 8 | 1028 | 2.314948559 | 12.414906502 |
| 26 | 10.100.0.48:1433 | 10.100.0.48:49805 | 12 | 1002 | 0.323045254 | 10.326808214 |
| 27 | fe80::3608:256c:365:cc73:808 | fe80::3608:256c:365:cc73:57407 | 6 | 913 | 16.908560276 | 16.933598518 |
| 28 | 127.0.0.1:57484 | 127.0.0.1:57746 | 75 | 900 | 0.000000000 | 18.538926601 |
| 29 | 127.0.0.1:57485 | 127.0.0.1:57747 | 75 | 900 | 0.000047922 | 18.538865328 |
| 30 | fe80::3608:256c:365:cc73:808 | fe80::3608:256c:365:cc73:57406 | 6 | 900 | 16.882299185 | 16.905648947 |
| 31 | 127.0.0.1:57684 | 127.0.0.1:57745 | 74 | 888 | 0.130834818 | 18.508908033 |
| 32 | ::1:80 | ::1:57376 | 2 | 332 | 2.965245247 | 2.968629837 |
| 33 | ::1:80 | ::1:57382 | 2 | 332 | 3.731887579 | 3.735263586 |
| 34 | ::1:80 | ::1:57386 | 2 | 332 | 4.249957800 | 4.254094362 |
| 35 | ::1:80 | ::1:57391 | 2 | 332 | 8.309501886 | 8.313708067 |
| 36 | ::1:80 | ::1:57393 | 2 | 332 | 8.454768181 | 8.458240747 |
| 37 | ::1:80 | ::1:57397 | 2 | 332 | 13.732917309 | 13.736122608 |
| 38 | ::1:80 | ::1:57399 | 2 | 332 | 14.251644850 | 14.255968332 |
| 39 | ::1:80 | ::1:57404 | 2 | 332 | 16.775483370 | 16.779044628 |
| 40 | ::1:49704 | ::1:49829 | 2 | 270 | 14.640398741 | 14.640705347 |
| 41 | ::1:49704 | ::1:51439 | 2 | 220 | 3.764171124 | 3.765578032 |
| 42 | fe80::3608:256c:365:cc73:808 | fe80::3608:256c:365:cc73:57381 | 1 | 52 | 3.714206219 | 3.714206219 |
| 43 | fe80::3608:256c:365:cc73:808 | fe80::3608:256c:365:cc73:57396 | 1 | 52 | 13.714852571 | 13.714852571 |
| 44 | 127.0.0.1:49248 | 127.0.0.1:63342 | 4 | 24 | 0.864134550 | 15.865798950 |
| 45 | 127.0.0.1:49787 | 127.0.0.1:49788 | 21 | 21 | 1.785775185 | 18.267004490 |
| 46 | 10.100.0.48:1433 | 10.100.0.48:49936 | 2 | 2 | 9.341529846 | 10.356706381 |
| 47 | 10.100.0.48:1433 | 10.100.0.48:49933 | 2 | 2 | 9.767561674 | 11.688196898 |
| 48 | 10.100.0.48:1433 | 10.100.0.48:49935 | 2 | 2 | 9.824790239 | 10.684834242 |
| 49 | 10.100.0.48:1433 | 10.100.0.48:49934 | 2 | 2 | 9.861648798 | 10.552848577 |