Initial commit: managed .NET 10 AVEVA Historian SDK + reverse-engineering toolkit
Full read-only SDK (src/AVEVA.Historian.Client) implementing the CLAUDE.md required
surface against AVEVA Historian's binary WCF protocol — no native AVEVA runtime
dependency. All operations live-verified against a local Historian:
- ProbeAsync, ReadRawAsync, ReadAggregateAsync, ReadAtTimeAsync, ReadEventsAsync
- BrowseTagNamesAsync, GetTagMetadataAsync (17 native data-type codes mapped)
- GetConnectionStatusAsync, GetStoreForwardStatusAsync, GetSystemParameterAsync
- 108/108 unit + integration tests pass
Includes the reverse-engineering toolkit (tools/AVEVA.Historian.ReverseEngineering)
used to decode the protocol: WCF probes, IL inspection via dnlib, and IL-rewrite
instrumentation (instrument-wcf-{write,read}message etc.) plus the .NET Framework
trace harness (tools/AVEVA.Historian.NativeTraceHarness) for parity testing.
Sanitized handoff evidence under docs/reverse-engineering/. Native AVEVA binaries
(current/, aveva-install-x64/, aveva-install-x86/) are gitignored — fetch separately
from the AVEVA installer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
> WS2_32.dll
|
||||
1804C3980 Import Address Table
|
||||
180F78A00 Import Name Table
|
||||
0 time date stamp
|
||||
0 Index of first forwarder reference
|
||||
|
||||
2 FreeAddrInfoW
|
||||
9 GetNameInfoW
|
||||
B InetPtonW
|
||||
7 GetAddrInfoW
|
||||
Ordinal 115
|
||||
Ordinal 116
|
||||
|
||||
Secur32.dll
|
||||
1804C3840 Import Address Table
|
||||
180F788C0 Import Name Table
|
||||
0 time date stamp
|
||||
0 Index of first forwarder reference
|
||||
|
||||
24 InitializeSecurityContextW
|
||||
2 AcquireCredentialsHandleW
|
||||
0 AcceptSecurityContext
|
||||
36 QuerySecurityContextToken
|
||||
18 FreeCredentialsHandle
|
||||
|
||||
VERSION.dll
|
||||
1804C3960 Import Address Table
|
||||
180F789E0 Import Name Table
|
||||
0 time date stamp
|
||||
0 Index of first forwarder reference
|
||||
|
||||
8 GetFileVersionInfoW
|
||||
10 VerQueryValueW
|
||||
7 GetFileVersionInfoSizeW
|
||||
|
||||
RPCRT4.dll
|
||||
1804C37F8 Import Address Table
|
||||
180F78878 Import Name Table
|
||||
0 time date stamp
|
||||
0 Index of first forwarder reference
|
||||
|
||||
21D UuidCreate
|
||||
226 UuidToStringW
|
||||
214 RpcStringFreeW
|
||||
222 UuidFromStringW
|
||||
|
||||
NETAPI32.dll
|
||||
1804C3768 Import Address Table
|
||||
180F787E8 Import Name Table
|
||||
0 time date stamp
|
||||
0 Index of first forwarder reference
|
||||
|
||||
EF NetUserGetLocalGroups
|
||||
E0 NetShareGetInfo
|
||||
9B NetLocalGroupGetMembers
|
||||
51 NetApiBufferFree
|
||||
|
||||
MSVCP140.dll
|
||||
1804C34C8 Import Address Table
|
||||
180F78548 Import Name Table
|
||||
0 time date stamp
|
||||
0 Index of first forwarder reference
|
||||
|
||||
4C3 ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z
|
||||
12E ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_K@Z
|
||||
4BC ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z
|
||||
3CB ?id@?$codecvt@_WDU_Mbstatet@@@std@@2V0locale@2@A
|
||||
28C ?_Xbad_function_call@std@@YAXXZ
|
||||
28D ?_Xinvalid_argument@std@@YAXPEBD@Z
|
||||
283 ?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
|
||||
282 ?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
|
||||
1C8 ?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
|
||||
57D _Mbrtowc
|
||||
28F ?_Xout_of_range@std@@YAXPEBD@Z
|
||||
28E ?_Xlength_error@std@@YAXPEBD@Z
|
||||
28B ?_Xbad_alloc@std@@YAXXZ
|
||||
34F ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ
|
||||
352 ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ
|
||||
35B ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ
|
||||
449 ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ
|
||||
4C9 ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z
|
||||
Reference in New Issue
Block a user