Files
mxaccess/analysis/network/write-window-body-diff-021-w0-vs-w1.tsv
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

37 lines
7.2 KiB
Plaintext

write_a write_value_a write_b write_value_b direction record_type record_size ordinal status frame_a frame_b time_a time_b signature16_a signature16_b bytes_differ diff_offsets byte_pairs i32_diffs ascii_a ascii_b
0 103 1 104 a_to_b control 12 0 different 4131 4315 0.171459675 0.069395065 ff ff ff ff 37 38 0b 00 00 00 00 00 ff ff ff ff 41 38 0b 00 00 00 00 00 1 4 4:37->41 4:735287->735297 ....78...... ....A8......
0 103 1 104 a_to_b control 12 1 different 4162 4317 0.182622433 0.069546223 ff ff ff ff 38 38 0b 00 00 00 00 00 ff ff ff ff 42 38 0b 00 00 00 00 00 1 4 4:38->42 4:735288->735298 ....88...... ....B8......
0 103 1 104 a_to_b control 12 2 different 4174 4327 0.184747696 0.071476698 ff ff ff ff 39 38 0b 00 00 00 00 00 ff ff ff ff 43 38 0b 00 00 00 00 00 1 4 4:39->43 4:735289->735299 ....98...... ....C8......
0 103 1 104 a_to_b control 12 3 different 4188 4340 0.274049759 0.172099590 ff ff ff ff 3a 38 0b 00 00 00 00 00 ff ff ff ff 44 38 0b 00 00 00 00 00 1 4 4:3a->44 4:735290->735300 ....:8...... ....D8......
1 104 a_to_b control 12 4 missing_a 4351 0.260247707 fe ff ff ff d8 4a 01 00 c7 4a 01 00 .....J...J..
1 104 a_to_b control 12 5 missing_a 4367 0.275054216 ff ff ff ff 45 38 0b 00 00 00 00 00 ....E8......
0 103 1 104 a_to_b control_announce 12 0 different 4119 4293 0.170109034 0.067553520 1a 00 00 00 d8 62 0b 00 00 00 00 00 1a 00 00 00 e2 62 0b 00 00 00 00 00 1 4 4:d8->e2 4:746200->746210 .....b...... .....b......
0 103 1 104 a_to_b control_announce 12 1 different 4152 4297 0.180431604 0.067930222 65 00 00 00 d9 62 0b 00 00 00 00 00 22 00 00 00 e3 62 0b 00 00 00 00 00 2 0 4 0:65->22 4:d9->e3 0:101->34 4:746201->746211 e....b...... """....b......"
0 103 1 104 a_to_b control_announce 12 2 different 4164 4301 0.183470011 0.068131447 1e 00 00 00 da 62 0b 00 00 00 00 00 43 00 00 00 e4 62 0b 00 00 00 00 00 2 0 4 0:1e->43 4:da->e4 0:30->67 4:746202->746212 .....b...... C....b......
0 103 1 104 a_to_b control_announce 12 3 different 4178 4318 0.272670269 0.070311069 1a 00 00 00 db 62 0b 00 00 00 00 00 1e 00 00 00 e5 62 0b 00 00 00 00 00 2 0 4 0:1a->1e 4:db->e5 0:26->30 4:746203->746213 .....b...... .....b......
1 104 a_to_b control_announce 12 4 missing_a 4330 0.170464754 1a 00 00 00 e6 62 0b 00 00 00 00 00 .....b......
1 104 a_to_b control_announce 12 5 missing_a 4357 0.273474693 1a 00 00 00 e7 62 0b 00 00 00 00 00 .....b......
0 103 1 104 a_to_b data 26 0 different 4121 4295 0.170266628 0.067722797 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 43 f5 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 53 f5 1 14 14:43->53 12:-180158464->-179109888 T.c@.^1@......C....... T.c@.^1@......S.......
0 103 1 104 a_to_b data 26 1 different 4180 4332 0.272846460 0.170684099 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 47 f5 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 57 f5 1 14 14:47->57 12:-179896320->-178847744 T.c@.^1@......G....... T.c@.^1@......W.......
1 104 a_to_b data 26 2 missing_a 4359 0.273638964 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 59 f5 T.c@.^1@......Y.......
0 103 1 104 a_to_b data 30 0 different 4166 4320 0.183623314 0.070454121 55 ce ff 62 b2 1b 3a 50 01 00 03 00 00 00 45 f5 55 ce ff 62 b2 1b 3a 50 01 00 03 00 00 00 55 f5 1 14 14:45->55 12:-180027392->-178978816 U..b..:P......E........... U..b..:P......U...........
0 103 1 104 a_to_b data 34 0 different 4154 4299 0.180605412 0.068046808 1c 21 18 d0 c4 6f 33 bb 01 00 03 00 00 00 68 1e 1c 21 18 d0 c4 6f 33 bb 01 00 03 00 00 00 6a 1e 3 14 22 23 14:68->6a 22:51->b3 23:ea->ec 12:510132224->510263296 20:-363790336->-323813376 .!...o3.......h.......Q.2..... .!...o3.......j.........2.....
0 103 1 104 a_to_b data 67 0 different 4154 4302 0.180605412 0.068237782 98 04 33 cb 0c b4 7c 38 01 00 03 00 00 00 01 00 98 04 33 cb 0c b4 7c 38 01 00 03 00 00 00 01 00 5 19 55 56 57 58 19:68->6a 55:20->88 56:af->60 57:f1->40 58:a7->cc 16:1744830464->1778384896 52:545259519->-2004877313 56:-1079512657->-1077133216 ..3...|8...........h.......=B.....&............. ..3...|8...........j.......=B.....&.............
0 103 1 104 b_to_a control 12 0 different 4124 4300 0.170543909 0.068119526 ff ff ff ff d8 62 0b 00 00 00 00 00 ff ff ff ff e2 62 0b 00 00 00 00 00 1 4 4:d8->e2 4:746200->746210 .....b...... .....b......
0 103 1 104 b_to_a control 12 1 different 4156 4304 0.181063652 0.068414927 ff ff ff ff d9 62 0b 00 00 00 00 00 ff ff ff ff e3 62 0b 00 00 00 00 00 1 4 4:d9->e3 4:746201->746211 .....b...... .....b......
0 103 1 104 b_to_a control 12 2 different 4168 4306 0.184028149 0.068648338 ff ff ff ff da 62 0b 00 00 00 00 00 ff ff ff ff e4 62 0b 00 00 00 00 00 1 4 4:da->e4 4:746202->746212 .....b...... .....b......
0 103 1 104 b_to_a control 12 3 different 4182 4322 0.273196936 0.070734024 ff ff ff ff db 62 0b 00 00 00 00 00 ff ff ff ff e5 62 0b 00 00 00 00 00 1 4 4:db->e5 4:746203->746213 .....b...... .....b......
1 104 b_to_a control 12 4 missing_a 4334 0.171112061 ff ff ff ff e6 62 0b 00 00 00 00 00 .....b......
1 104 b_to_a control 12 5 missing_a 4342 0.189489126 fe ff ff ff c7 4a 01 00 d7 4a 01 00 .....J...J..
1 104 b_to_a control 12 6 missing_a 4361 0.274013996 ff ff ff ff e7 62 0b 00 00 00 00 00 .....b......
0 103 1 104 b_to_a control_announce 12 0 different 4127 4308 0.171019316 0.068941116 16 00 00 00 37 38 0b 00 00 00 00 00 16 00 00 00 41 38 0b 00 00 00 00 00 1 4 4:37->41 4:735287->735297 ....78...... ....A8......
0 103 1 104 b_to_a control_announce 12 1 different 4158 4312 0.182176113 0.069282770 34 00 00 00 38 38 0b 00 00 00 00 00 34 00 00 00 42 38 0b 00 00 00 00 00 1 4 4:38->42 4:735288->735298 4...88...... 4...B8......
0 103 1 104 b_to_a control_announce 12 2 different 4170 4323 0.184352398 0.071092606 1a 00 00 00 39 38 0b 00 00 00 00 00 1a 00 00 00 43 38 0b 00 00 00 00 00 1 4 4:39->43 4:735289->735299 ....98...... ....C8......
0 103 1 104 b_to_a control_announce 12 3 different 4184 4336 0.273631096 0.171579123 16 00 00 00 3a 38 0b 00 00 00 00 00 16 00 00 00 44 38 0b 00 00 00 00 00 1 4 4:3a->44 4:735290->735300 ....:8...... ....D8......
1 104 b_to_a control_announce 12 4 missing_a 4363 0.274546623 16 00 00 00 45 38 0b 00 00 00 00 00 ....E8......
0 103 1 104 b_to_a data 22 0 different 4129 4310 0.171171427 0.069132090 43 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 53 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 1 0 0:43->53 0:2094403->2094419 C................. S.................
0 103 1 104 b_to_a data 22 1 different 4186 4338 0.273787260 0.171810150 47 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 57 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 1 0 0:47->57 0:2094407->2094423 G................. W.................
1 104 b_to_a data 22 2 missing_a 4365 0.274724960 59 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 Y.................
0 103 1 104 b_to_a data 26 0 different 4172 4325 0.184497833 0.071244001 45 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 55 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 1 0 0:45->55 0:2094405->2094421 E..................... U.....................
0 103 1 104 b_to_a data 52 0 different 4160 4314 0.182363510 0.069372416 44 6b 99 d8 ec 1b bd b5 01 00 03 00 00 00 01 00 44 6b 99 d8 ec 1b bd b5 01 00 03 00 00 00 01 00 4 30 40 41 42 30:68->6a 40:0b->e5 41:b3->96 42:74->d1 28:510132224->510263296 40:-395005173->-388917531 "Dk.................L."".([.....h...........t.O..." "Dk.................L."".([.....j.............O..."