Files
mxaccess/analysis/network/write-window-body-diff-021-w1-vs-w2.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.4 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
1 104 2 105 a_to_b control 12 0 different 4315 4521 0.069395065 0.174252987 ff ff ff ff 41 38 0b 00 00 00 00 00 ff ff ff ff 4f 38 0b 00 00 00 00 00 1 4 4:41->4f 4:735297->735311 ....A8...... ....O8......
1 104 2 105 a_to_b control 12 1 different 4317 4547 0.069546223 0.263551235 ff ff ff ff 42 38 0b 00 00 00 00 00 ff ff ff ff 50 38 0b 00 00 00 00 00 1 4 4:42->50 4:735298->735312 ....B8...... ....P8......
1 104 2 105 a_to_b control 12 2 different 4327 4559 0.071476698 0.265630722 ff ff ff ff 43 38 0b 00 00 00 00 00 ff ff ff ff 51 38 0b 00 00 00 00 00 1 4 4:43->51 4:735299->735313 ....C8...... ....Q8......
1 104 2 105 a_to_b control 12 3 different 4340 4571 0.172099590 0.277673721 ff ff ff ff 44 38 0b 00 00 00 00 00 ff ff ff ff 52 38 0b 00 00 00 00 00 1 4 4:44->52 4:735300->735314 ....D8...... ....R8......
1 104 a_to_b control 12 4 missing_b 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_b 4367 0.275054216 ff ff ff ff 45 38 0b 00 00 00 00 00 ....E8......
1 104 2 105 a_to_b control_announce 12 0 different 4293 4511 0.067553520 0.172880173 1a 00 00 00 e2 62 0b 00 00 00 00 00 1a 00 00 00 f2 62 0b 00 00 00 00 00 1 4 4:e2->f2 4:746210->746226 .....b...... .....b......
1 104 2 105 a_to_b control_announce 12 1 different 4297 4531 0.067930222 0.261359215 22 00 00 00 e3 62 0b 00 00 00 00 00 22 00 00 00 f3 62 0b 00 00 00 00 00 1 4 4:e3->f3 4:746211->746227 """....b......" """....b......"
1 104 2 105 a_to_b control_announce 12 2 different 4301 4535 0.068131447 0.261646271 43 00 00 00 e4 62 0b 00 00 00 00 00 43 00 00 00 f4 62 0b 00 00 00 00 00 1 4 4:e4->f4 4:746212->746228 C....b...... C....b......
1 104 2 105 a_to_b control_announce 12 3 different 4318 4549 0.070311069 0.264326334 1e 00 00 00 e5 62 0b 00 00 00 00 00 1e 00 00 00 f5 62 0b 00 00 00 00 00 1 4 4:e5->f5 4:746213->746229 .....b...... .....b......
1 104 2 105 a_to_b control_announce 12 4 different 4330 4561 0.170464754 0.276273012 1a 00 00 00 e6 62 0b 00 00 00 00 00 1a 00 00 00 f6 62 0b 00 00 00 00 00 1 4 4:e6->f6 4:746214->746230 .....b...... .....b......
1 104 a_to_b control_announce 12 5 missing_b 4357 0.273474693 1a 00 00 00 e7 62 0b 00 00 00 00 00 .....b......
1 104 2 105 a_to_b data 26 0 different 4295 4513 0.067722797 0.173079252 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 53 f5 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 69 f5 1 14 14:53->69 12:-179109888->-177668096 T.c@.^1@......S....... T.c@.^1@......i.......
1 104 2 105 a_to_b data 26 1 different 4332 4563 0.170684099 0.276415348 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 57 f5 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 6d f5 1 14 14:57->6d 12:-178847744->-177405952 T.c@.^1@......W....... T.c@.^1@......m.......
1 104 a_to_b data 26 2 missing_b 4359 0.273638964 54 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 59 f5 T.c@.^1@......Y.......
1 104 2 105 a_to_b data 30 0 different 4320 4551 0.070454121 0.264478683 55 ce ff 62 b2 1b 3a 50 01 00 03 00 00 00 55 f5 55 ce ff 62 b2 1b 3a 50 01 00 03 00 00 00 6b f5 1 14 14:55->6b 12:-178978816->-177537024 U..b..:P......U........... U..b..:P......k...........
1 104 2 105 a_to_b data 34 0 different 4299 4533 0.068046808 0.261560202 1c 21 18 d0 c4 6f 33 bb 01 00 03 00 00 00 6a 1e 1c 21 18 d0 c4 6f 33 bb 01 00 03 00 00 00 6d 1e 3 14 22 23 14:6a->6d 22:b3->46 23:ec->f0 12:510263296->510459904 20:-323813376->-263847936 .!...o3.......j.........2..... .!...o3.......m.......F.2.....
1 104 2 105 a_to_b data 67 0 different 4302 4537 0.068237782 0.261728048 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 6 19 55 56 57 58 59 19:6a->6d 55:88->80 56:60->c1 57:40->ce 58:cc->02 59:bf->c0 16:1778384896->1828716544 52:-2004877313->-2139095041 56:-1077133216->-1073557823 ..3...|8...........j.......=B.....&............. ..3...|8...........m.......=B.....&.............
1 104 2 105 b_to_a control 12 0 different 4300 4515 0.068119526 0.173507929 ff ff ff ff e2 62 0b 00 00 00 00 00 ff ff ff ff f2 62 0b 00 00 00 00 00 1 4 4:e2->f2 4:746210->746226 .....b...... .....b......
1 104 2 105 b_to_a control 12 1 different 4304 4539 0.068414927 0.261993885 ff ff ff ff e3 62 0b 00 00 00 00 00 ff ff ff ff f3 62 0b 00 00 00 00 00 1 4 4:e3->f3 4:746211->746227 .....b...... .....b......
1 104 2 105 b_to_a control 12 2 different 4306 4541 0.068648338 0.262209177 ff ff ff ff e4 62 0b 00 00 00 00 00 ff ff ff ff f4 62 0b 00 00 00 00 00 1 4 4:e4->f4 4:746212->746228 .....b...... .....b......
1 104 2 105 b_to_a control 12 3 different 4322 4553 0.070734024 0.264806271 ff ff ff ff e5 62 0b 00 00 00 00 00 ff ff ff ff f5 62 0b 00 00 00 00 00 1 4 4:e5->f5 4:746213->746229 .....b...... .....b......
1 104 2 105 b_to_a control 12 4 different 4334 4565 0.171112061 0.276723146 ff ff ff ff e6 62 0b 00 00 00 00 00 ff ff ff ff f6 62 0b 00 00 00 00 00 1 4 4:e6->f6 4:746214->746230 .....b...... .....b......
1 104 b_to_a control 12 5 missing_b 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_b 4361 0.274013996 ff ff ff ff e7 62 0b 00 00 00 00 00 .....b......
1 104 2 105 b_to_a control_announce 12 0 different 4308 4517 0.068941116 0.173794508 16 00 00 00 41 38 0b 00 00 00 00 00 16 00 00 00 4f 38 0b 00 00 00 00 00 1 4 4:41->4f 4:735297->735311 ....A8...... ....O8......
1 104 2 105 b_to_a control_announce 12 1 different 4312 4543 0.069282770 0.263011217 34 00 00 00 42 38 0b 00 00 00 00 00 34 00 00 00 50 38 0b 00 00 00 00 00 1 4 4:42->50 4:735298->735312 4...B8...... 4...P8......
1 104 2 105 b_to_a control_announce 12 2 different 4323 4555 0.071092606 0.265175104 1a 00 00 00 43 38 0b 00 00 00 00 00 1a 00 00 00 51 38 0b 00 00 00 00 00 1 4 4:43->51 4:735299->735313 ....C8...... ....Q8......
1 104 2 105 b_to_a control_announce 12 3 different 4336 4567 0.171579123 0.277314425 16 00 00 00 44 38 0b 00 00 00 00 00 16 00 00 00 52 38 0b 00 00 00 00 00 1 4 4:44->52 4:735300->735314 ....D8...... ....R8......
1 104 b_to_a control_announce 12 4 missing_b 4363 0.274546623 16 00 00 00 45 38 0b 00 00 00 00 00 ....E8......
1 104 2 105 b_to_a data 22 0 different 4310 4519 0.069132090 0.173957586 53 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 69 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 1 0 0:53->69 0:2094419->2094441 S................. i.................
1 104 2 105 b_to_a data 22 1 different 4338 4569 0.171810150 0.277461529 57 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 6d f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 1 0 0:57->6d 0:2094423->2094445 W................. m.................
1 104 b_to_a data 22 2 missing_b 4365 0.274724960 59 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 Y.................
1 104 2 105 b_to_a data 26 0 different 4325 4557 0.071244001 0.265325308 55 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 6b f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00 1 0 0:55->6b 0:2094421->2094443 U..................... k.....................
1 104 2 105 b_to_a data 52 0 different 4314 4545 0.069372416 0.263190746 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 5 30 40 41 42 43 30:6a->6d 40:e5->ec 41:96->45 42:d1->5d 43:e8->e9 28:510263296->510459904 40:-388917531->-379763220 "Dk.................L."".([.....j.............O..." "Dk.................L."".([.....m..........E].O..."