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>
128 lines
8.2 KiB
Plaintext
128 lines
8.2 KiB
Plaintext
capture stream packet_type context_id opnum count frag_lengths
|
|
013-loopback-subscribe-scalars 13 0 1 3 165 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:7,126:7,128:10,130:14,132:10,134:9,136:7,138:8,140:5,142:8,144:6,146:10,148:5,150:3,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
013-loopback-subscribe-scalars 13 2 1 3 165 32:165
|
|
013-loopback-subscribe-scalars 13 0 0 0 10 40:10
|
|
013-loopback-subscribe-scalars 13 0 1 0 10 100:1,104:1,108:1,112:2,128:1,84:1,92:1,96:2
|
|
013-loopback-subscribe-scalars 13 0 1 2 10 60:10
|
|
013-loopback-subscribe-scalars 13 2 0 0 10 44:10
|
|
013-loopback-subscribe-scalars 13 2 1 0 10 28:10
|
|
013-loopback-subscribe-scalars 13 2 1 2 10 92:10
|
|
013-loopback-subscribe-scalars 13 0 1 5 3 206:1,290:1,516:1
|
|
013-loopback-subscribe-scalars 13 2 1 5 3 28:3
|
|
013-loopback-subscribe-scalars 13 11 0,1 1 116:1
|
|
013-loopback-subscribe-scalars 13 12 1 84:1
|
|
013-loopback-subscribe-scalars 13 14 1 1 72:1
|
|
013-loopback-subscribe-scalars 13 15 1 56:1
|
|
013-loopback-subscribe-scalars 44 0 1 5 1 242:1
|
|
013-loopback-subscribe-scalars 44 2 1 1 28:1
|
|
014-loopback-subscribe-array-bracketed 14 0 1 3 165 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:7,126:7,128:10,130:14,132:10,134:9,136:7,138:8,140:5,142:8,144:6,146:10,148:5,150:3,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
014-loopback-subscribe-array-bracketed 14 2 1 3 165 32:165
|
|
014-loopback-subscribe-array-bracketed 14 0 0 0 10 40:10
|
|
014-loopback-subscribe-array-bracketed 14 0 1 0 10 100:1,104:1,108:1,112:2,128:1,84:1,92:1,96:2
|
|
014-loopback-subscribe-array-bracketed 14 0 1 2 10 60:10
|
|
014-loopback-subscribe-array-bracketed 14 2 0 0 10 44:10
|
|
014-loopback-subscribe-array-bracketed 14 2 1 0 10 28:10
|
|
014-loopback-subscribe-array-bracketed 14 2 1 2 10 92:10
|
|
014-loopback-subscribe-array-bracketed 14 0 1 5 3 206:1,290:1,516:1
|
|
014-loopback-subscribe-array-bracketed 14 2 1 5 3 28:3
|
|
014-loopback-subscribe-array-bracketed 14 11 0,1 1 116:1
|
|
014-loopback-subscribe-array-bracketed 14 12 1 84:1
|
|
014-loopback-subscribe-array-bracketed 14 14 1 1 72:1
|
|
014-loopback-subscribe-array-bracketed 14 15 1 56:1
|
|
014-loopback-subscribe-array-bracketed 59 0 1 5 1 242:1
|
|
014-loopback-subscribe-array-bracketed 59 2 1 1 28:1
|
|
015-loopback-subscribe-invalid 16 0 1 3 176 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:8,126:8,128:12,130:14,132:11,134:10,136:8,138:11,140:5,142:8,144:6,146:10,148:5,150:4,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
015-loopback-subscribe-invalid 16 2 1 3 176 32:176
|
|
015-loopback-subscribe-invalid 16 0 0 0 11 40:11
|
|
015-loopback-subscribe-invalid 16 0 1 0 11 100:1,104:2,108:1,112:2,128:1,84:1,92:1,96:2
|
|
015-loopback-subscribe-invalid 16 0 1 2 11 60:11
|
|
015-loopback-subscribe-invalid 16 2 0 0 11 44:11
|
|
015-loopback-subscribe-invalid 16 2 1 0 11 28:11
|
|
015-loopback-subscribe-invalid 16 2 1 2 11 92:11
|
|
015-loopback-subscribe-invalid 16 0 1 5 3 206:1,290:1,516:1
|
|
015-loopback-subscribe-invalid 16 2 1 5 3 28:3
|
|
015-loopback-subscribe-invalid 16 11 0,1 1 116:1
|
|
015-loopback-subscribe-invalid 16 12 1 84:1
|
|
015-loopback-subscribe-invalid 16 14 1 1 72:1
|
|
015-loopback-subscribe-invalid 16 15 1 56:1
|
|
015-loopback-subscribe-invalid 46 0 1 5 1 242:1
|
|
015-loopback-subscribe-invalid 46 2 1 1 28:1
|
|
016-loopback-write-test-int-advised 11 0 1 3 165 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:7,126:7,128:10,130:14,132:10,134:9,136:7,138:8,140:5,142:8,144:6,146:10,148:5,150:3,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
016-loopback-write-test-int-advised 11 2 1 3 165 32:165
|
|
016-loopback-write-test-int-advised 22 2 1 42 28:3,32:36,92:3
|
|
016-loopback-write-test-int-advised 22 0 1 3 36 124:3,126:3,128:6,132:3,134:3,136:3,138:12,150:3
|
|
016-loopback-write-test-int-advised 11 0 0 0 10 40:10
|
|
016-loopback-write-test-int-advised 11 0 1 0 10 100:1,104:1,108:1,112:2,128:1,84:1,92:1,96:2
|
|
016-loopback-write-test-int-advised 11 0 1 2 10 60:10
|
|
016-loopback-write-test-int-advised 11 2 0 0 10 44:10
|
|
016-loopback-write-test-int-advised 11 2 1 0 10 28:10
|
|
016-loopback-write-test-int-advised 11 2 1 2 10 92:10
|
|
016-loopback-write-test-int-advised 22 2 0 6 44:6
|
|
016-loopback-write-test-int-advised 11 0 1 5 3 206:1,290:1,516:1
|
|
016-loopback-write-test-int-advised 11 2 1 5 3 28:3
|
|
016-loopback-write-test-int-advised 22 0 0 0 3 40:3
|
|
016-loopback-write-test-int-advised 22 0 0 1 3 60:3
|
|
016-loopback-write-test-int-advised 22 0 1 0 3 104:3
|
|
016-loopback-write-test-int-advised 22 0 1 2 3 60:3
|
|
016-loopback-write-test-int-advised 11 11 0,1 1 116:1
|
|
016-loopback-write-test-int-advised 11 12 1 84:1
|
|
016-loopback-write-test-int-advised 11 14 1 1 72:1
|
|
016-loopback-write-test-int-advised 11 15 1 56:1
|
|
016-loopback-write-test-int-advised 60 0 1 5 1 242:1
|
|
016-loopback-write-test-int-advised 60 2 1 1 28:1
|
|
017-loopback-write-test-int-100 15 0 1 3 165 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:7,126:7,128:10,130:14,132:10,134:9,136:7,138:8,140:5,142:8,144:6,146:10,148:5,150:3,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
017-loopback-write-test-int-100 15 2 1 3 165 32:165
|
|
017-loopback-write-test-int-100 15 0 0 0 10 40:10
|
|
017-loopback-write-test-int-100 15 0 1 0 10 100:1,104:1,108:1,112:2,128:1,84:1,92:1,96:2
|
|
017-loopback-write-test-int-100 15 0 1 2 10 60:10
|
|
017-loopback-write-test-int-100 15 2 0 0 10 44:10
|
|
017-loopback-write-test-int-100 15 2 1 0 10 28:10
|
|
017-loopback-write-test-int-100 15 2 1 2 10 92:10
|
|
017-loopback-write-test-int-100 15 0 1 5 3 206:1,290:1,516:1
|
|
017-loopback-write-test-int-100 15 2 1 5 3 28:3
|
|
017-loopback-write-test-int-100 15 11 0,1 1 116:1
|
|
017-loopback-write-test-int-100 15 12 1 84:1
|
|
017-loopback-write-test-int-100 15 14 1 1 72:1
|
|
017-loopback-write-test-int-100 15 15 1 56:1
|
|
017-loopback-write-test-int-100 58 0 1 5 1 242:1
|
|
017-loopback-write-test-int-100 58 2 1 1 28:1
|
|
019-loopback-write-test-int-101-rerun 10 0 1 3 165 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:7,126:7,128:10,130:14,132:10,134:9,136:7,138:8,140:5,142:8,144:6,146:10,148:5,150:3,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
019-loopback-write-test-int-101-rerun 10 2 1 3 165 32:165
|
|
019-loopback-write-test-int-101-rerun 10 0 0 0 10 40:10
|
|
019-loopback-write-test-int-101-rerun 10 0 1 0 10 100:1,104:1,108:1,112:2,128:1,84:1,92:1,96:2
|
|
019-loopback-write-test-int-101-rerun 10 0 1 2 10 60:10
|
|
019-loopback-write-test-int-101-rerun 10 2 0 0 10 44:10
|
|
019-loopback-write-test-int-101-rerun 10 2 1 0 10 28:10
|
|
019-loopback-write-test-int-101-rerun 10 2 1 2 10 92:10
|
|
019-loopback-write-test-int-101-rerun 10 0 1 5 3 206:1,290:1,516:1
|
|
019-loopback-write-test-int-101-rerun 10 2 1 5 3 28:3
|
|
019-loopback-write-test-int-101-rerun 10 11 0,1 1 116:1
|
|
019-loopback-write-test-int-101-rerun 10 12 1 84:1
|
|
019-loopback-write-test-int-101-rerun 10 14 1 1 72:1
|
|
019-loopback-write-test-int-101-rerun 10 15 1 56:1
|
|
019-loopback-write-test-int-101-rerun 47 0 1 5 1 242:1
|
|
019-loopback-write-test-int-101-rerun 47 2 1 1 28:1
|
|
020-loopback-write-test-int-102 16 0 1 3 165 104:1,106:1,108:2,112:2,114:2,116:6,118:5,120:8,122:5,124:7,126:7,128:10,130:14,132:10,134:9,136:7,138:8,140:5,142:8,144:6,146:10,148:5,150:3,152:4,154:4,156:2,158:4,160:2,162:4,170:1,172:1,174:1,182:1
|
|
020-loopback-write-test-int-102 16 2 1 3 165 32:165
|
|
020-loopback-write-test-int-102 69 2 1 42 28:3,32:36,92:3
|
|
020-loopback-write-test-int-102 69 0 1 3 36 124:3,126:3,128:6,132:3,134:3,136:3,138:12,150:3
|
|
020-loopback-write-test-int-102 16 0 0 0 10 40:10
|
|
020-loopback-write-test-int-102 16 0 1 0 10 100:1,104:1,108:1,112:2,128:1,84:1,92:1,96:2
|
|
020-loopback-write-test-int-102 16 0 1 2 10 60:10
|
|
020-loopback-write-test-int-102 16 2 0 0 10 44:10
|
|
020-loopback-write-test-int-102 16 2 1 0 10 28:10
|
|
020-loopback-write-test-int-102 16 2 1 2 10 92:10
|
|
020-loopback-write-test-int-102 69 2 0 6 44:6
|
|
020-loopback-write-test-int-102 16 0 1 5 3 206:1,290:1,516:1
|
|
020-loopback-write-test-int-102 16 2 1 5 3 28:3
|
|
020-loopback-write-test-int-102 69 0 0 0 3 40:3
|
|
020-loopback-write-test-int-102 69 0 0 1 3 60:3
|
|
020-loopback-write-test-int-102 69 0 1 0 3 104:3
|
|
020-loopback-write-test-int-102 69 0 1 2 3 60:3
|
|
020-loopback-write-test-int-102 16 11 0,1 1 116:1
|
|
020-loopback-write-test-int-102 16 12 1 84:1
|
|
020-loopback-write-test-int-102 16 14 1 1 72:1
|
|
020-loopback-write-test-int-102 16 15 1 56:1
|
|
020-loopback-write-test-int-102 56 0 1 5 1 242:1
|
|
020-loopback-write-test-int-102 56 2 1 1 28:1
|