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

7.2 KiB

1write_awrite_value_awrite_bwrite_value_bdirectionrecord_typerecord_sizeordinalstatusframe_aframe_btime_atime_bsignature16_asignature16_bbytes_differdiff_offsetsbyte_pairsi32_diffsascii_aascii_b
201031104a_to_bcontrol120different413143150.1714596750.069395065ff ff ff ff 37 38 0b 00 00 00 00 00ff ff ff ff 41 38 0b 00 00 00 00 00144:37->414:735287->735297....78..........A8......
301031104a_to_bcontrol121different416243170.1826224330.069546223ff ff ff ff 38 38 0b 00 00 00 00 00ff ff ff ff 42 38 0b 00 00 00 00 00144:38->424:735288->735298....88..........B8......
401031104a_to_bcontrol122different417443270.1847476960.071476698ff ff ff ff 39 38 0b 00 00 00 00 00ff ff ff ff 43 38 0b 00 00 00 00 00144:39->434:735289->735299....98..........C8......
501031104a_to_bcontrol123different418843400.2740497590.172099590ff ff ff ff 3a 38 0b 00 00 00 00 00ff ff ff ff 44 38 0b 00 00 00 00 00144:3a->444:735290->735300....:8..........D8......
61104a_to_bcontrol124missing_a43510.260247707fe ff ff ff d8 4a 01 00 c7 4a 01 00.....J...J..
71104a_to_bcontrol125missing_a43670.275054216ff ff ff ff 45 38 0b 00 00 00 00 00....E8......
801031104a_to_bcontrol_announce120different411942930.1701090340.0675535201a 00 00 00 d8 62 0b 00 00 00 00 001a 00 00 00 e2 62 0b 00 00 00 00 00144:d8->e24:746200->746210.....b...........b......
901031104a_to_bcontrol_announce121different415242970.1804316040.06793022265 00 00 00 d9 62 0b 00 00 00 00 0022 00 00 00 e3 62 0b 00 00 00 00 0020 40:65->22 4:d9->e30:101->34 4:746201->746211e....b......"....b......
1001031104a_to_bcontrol_announce122different416443010.1834700110.0681314471e 00 00 00 da 62 0b 00 00 00 00 0043 00 00 00 e4 62 0b 00 00 00 00 0020 40:1e->43 4:da->e40:30->67 4:746202->746212.....b......C....b......
1101031104a_to_bcontrol_announce123different417843180.2726702690.0703110691a 00 00 00 db 62 0b 00 00 00 00 001e 00 00 00 e5 62 0b 00 00 00 00 0020 40:1a->1e 4:db->e50:26->30 4:746203->746213.....b...........b......
121104a_to_bcontrol_announce124missing_a43300.1704647541a 00 00 00 e6 62 0b 00 00 00 00 00.....b......
131104a_to_bcontrol_announce125missing_a43570.2734746931a 00 00 00 e7 62 0b 00 00 00 00 00.....b......
1401031104a_to_bdata260different412142950.1702666280.06772279754 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 43 f554 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 53 f511414:43->5312:-180158464->-179109888T.c@.^1@......C.......T.c@.^1@......S.......
1501031104a_to_bdata261different418043320.2728464600.17068409954 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 47 f554 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 57 f511414:47->5712:-179896320->-178847744T.c@.^1@......G.......T.c@.^1@......W.......
161104a_to_bdata262missing_a43590.27363896454 8f 63 40 e2 5e 31 40 01 00 03 00 00 00 59 f5T.c@.^1@......Y.......
1701031104a_to_bdata300different416643200.1836233140.07045412155 ce ff 62 b2 1b 3a 50 01 00 03 00 00 00 45 f555 ce ff 62 b2 1b 3a 50 01 00 03 00 00 00 55 f511414:45->5512:-180027392->-178978816U..b..:P......E...........U..b..:P......U...........
1801031104a_to_bdata340different415442990.1806054120.0680468081c 21 18 d0 c4 6f 33 bb 01 00 03 00 00 00 68 1e1c 21 18 d0 c4 6f 33 bb 01 00 03 00 00 00 6a 1e314 22 2314:68->6a 22:51->b3 23:ea->ec12:510132224->510263296 20:-363790336->-323813376.!...o3.......h.......Q.2......!...o3.......j.........2.....
1901031104a_to_bdata670different415443020.1806054120.06823778298 04 33 cb 0c b4 7c 38 01 00 03 00 00 00 01 0098 04 33 cb 0c b4 7c 38 01 00 03 00 00 00 01 00519 55 56 57 5819:68->6a 55:20->88 56:af->60 57:f1->40 58:a7->cc16:1744830464->1778384896 52:545259519->-2004877313 56:-1079512657->-1077133216..3...|8...........h.......=B.....&...............3...|8...........j.......=B.....&.............
2001031104b_to_acontrol120different412443000.1705439090.068119526ff ff ff ff d8 62 0b 00 00 00 00 00ff ff ff ff e2 62 0b 00 00 00 00 00144:d8->e24:746200->746210.....b...........b......
2101031104b_to_acontrol121different415643040.1810636520.068414927ff ff ff ff d9 62 0b 00 00 00 00 00ff ff ff ff e3 62 0b 00 00 00 00 00144:d9->e34:746201->746211.....b...........b......
2201031104b_to_acontrol122different416843060.1840281490.068648338ff ff ff ff da 62 0b 00 00 00 00 00ff ff ff ff e4 62 0b 00 00 00 00 00144:da->e44:746202->746212.....b...........b......
2301031104b_to_acontrol123different418243220.2731969360.070734024ff ff ff ff db 62 0b 00 00 00 00 00ff ff ff ff e5 62 0b 00 00 00 00 00144:db->e54:746203->746213.....b...........b......
241104b_to_acontrol124missing_a43340.171112061ff ff ff ff e6 62 0b 00 00 00 00 00.....b......
251104b_to_acontrol125missing_a43420.189489126fe ff ff ff c7 4a 01 00 d7 4a 01 00.....J...J..
261104b_to_acontrol126missing_a43610.274013996ff ff ff ff e7 62 0b 00 00 00 00 00.....b......
2701031104b_to_acontrol_announce120different412743080.1710193160.06894111616 00 00 00 37 38 0b 00 00 00 00 0016 00 00 00 41 38 0b 00 00 00 00 00144:37->414:735287->735297....78..........A8......
2801031104b_to_acontrol_announce121different415843120.1821761130.06928277034 00 00 00 38 38 0b 00 00 00 00 0034 00 00 00 42 38 0b 00 00 00 00 00144:38->424:735288->7352984...88......4...B8......
2901031104b_to_acontrol_announce122different417043230.1843523980.0710926061a 00 00 00 39 38 0b 00 00 00 00 001a 00 00 00 43 38 0b 00 00 00 00 00144:39->434:735289->735299....98..........C8......
3001031104b_to_acontrol_announce123different418443360.2736310960.17157912316 00 00 00 3a 38 0b 00 00 00 00 0016 00 00 00 44 38 0b 00 00 00 00 00144:3a->444:735290->735300....:8..........D8......
311104b_to_acontrol_announce124missing_a43630.27454662316 00 00 00 45 38 0b 00 00 00 00 00....E8......
3201031104b_to_adata220different412943100.1711714270.06913209043 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 0053 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00100:43->530:2094403->2094419C.................S.................
3301031104b_to_adata221different418643380.2737872600.17181015047 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 0057 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00100:47->570:2094407->2094423G.................W.................
341104b_to_adata222missing_a43650.27472496059 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00Y.................
3501031104b_to_adata260different417243250.1844978330.07124400145 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 0055 f5 1f 00 00 00 00 00 01 00 03 00 00 00 00 00100:45->550:2094405->2094421E.....................U.....................
3601031104b_to_adata520different416043140.1823635100.06937241644 6b 99 d8 ec 1b bd b5 01 00 03 00 00 00 01 0044 6b 99 d8 ec 1b bd b5 01 00 03 00 00 00 01 00430 40 41 4230:68->6a 40:0b->e5 41:b3->96 42:74->d128:510132224->510263296 40:-395005173->-388917531Dk.................L.".([.....h...........t.O...Dk.................L.".([.....j.............O...