wowdump 0.2.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +17 -111
  3. package/dist/adapters/reader.js +33 -0
  4. package/dist/analysis/disassemble.js +77 -0
  5. package/dist/{frida-runtime.js → analysis/frida-runtime.js} +3 -25
  6. package/dist/analysis/runtime-script.js +36 -0
  7. package/dist/cli.js +563 -0
  8. package/dist/core/profile-engine.js +238 -0
  9. package/dist/frida-worker.js +99 -0
  10. package/dist/reader/broker.js +475 -0
  11. package/dist/reader/client.js +1 -0
  12. package/dist/reader/launcher.js +219 -0
  13. package/dist/reader/main.js +100 -0
  14. package/dist/reader/protocol.js +1 -0
  15. package/dist/reader/windows.js +242 -0
  16. package/dist/reader-main.js +2 -0
  17. package/dist/toolchain.js +123 -0
  18. package/package.json +19 -37
  19. package/skills/wowdump/SKILL.md +22 -0
  20. package/skills/wowdump/references/commands.md +63 -0
  21. package/skills/wowdump/references/disassemble.md +18 -0
  22. package/skills/wowdump/references/dynamic.md +54 -0
  23. package/skills/wowdump/references/evidence-workflow.md +41 -0
  24. package/skills/wowdump/references/profiles.md +34 -0
  25. package/skills/wowdump/references/request-schema.md +28 -0
  26. package/skills/wowdump/references/workflow.md +44 -0
  27. package/skills/wowdump/scripts/dynamic-session.js +133 -0
  28. package/dist/agent.js +0 -1335
  29. package/dist/analysis-path.js +0 -38
  30. package/dist/analysis-process-log.js +0 -146
  31. package/dist/broker-client.js +0 -411
  32. package/dist/broker-codec.js +0 -148
  33. package/dist/broker-core.js +0 -1045
  34. package/dist/broker-gateway.js +0 -447
  35. package/dist/broker-ledger.js +0 -196
  36. package/dist/broker-main.js +0 -291
  37. package/dist/broker-protocol.js +0 -119
  38. package/dist/broker-runtime.js +0 -1283
  39. package/dist/broker-server.js +0 -466
  40. package/dist/build-bundle-loader.js +0 -183
  41. package/dist/build-bundle.js +0 -11
  42. package/dist/discovery.js +0 -59
  43. package/dist/dry-run.js +0 -38
  44. package/dist/error-log.js +0 -71
  45. package/dist/focus-errors.js +0 -63
  46. package/dist/focus-service.js +0 -1855
  47. package/dist/focused-session.js +0 -1357
  48. package/dist/mcp-main.js +0 -51
  49. package/dist/mcp.js +0 -924
  50. package/dist/observability.js +0 -41
  51. package/dist/process-log-lock.js +0 -195
  52. package/dist/processes.js +0 -47
  53. package/dist/runtime-config.js +0 -399
  54. package/dist/session.js +0 -145
  55. package/dist/storage.js +0 -12
  56. package/dist/wow-analysis.js +0 -1430
  57. package/resources/builds/retail/12.0.7.68974/build-profile.json +0 -290
  58. package/resources/builds/retail/12.0.7.68974/data-sources.json +0 -1633
  59. package/resources/builds/retail/12.0.7.68974/lua-targets.jsonl +0 -5130
  60. package/resources/builds/retail/12.0.7.68974/manifest.json +0 -63
  61. package/resources/builds/retail/12.0.7.68974/signatures.json +0 -260
  62. /package/dist/{adapters.js → core/build-adapters.js} +0 -0
  63. /package/dist/{types.js → core/types.js} +0 -0
@@ -1,63 +0,0 @@
1
- {
2
- "schema": "wowdump.build-bundle.v1",
3
- "buildKey": "retail@12.0.7.68974",
4
- "flavor": "retail",
5
- "version": "12.0.7.68974",
6
- "module": "Wow.exe",
7
- "imageBase": "0x140000000",
8
- "sourceManifest": {
9
- "file": "analysis-artifact-manifest-68974.json",
10
- "generation": 25,
11
- "size": 113738,
12
- "sha256": "7760552022b180c37ecbbeb8cfc968df019cb11eca52bb2599622f1f0481c262"
13
- },
14
- "sources": [
15
- {
16
- "file": "build-profile-68974.json",
17
- "size": 26413,
18
- "sha256": "7a13eee001d64e4ed4e45380a5d318541f6f2b609136346a2adf1b30e98988fb"
19
- },
20
- {
21
- "file": "cpp-data-sources-68974.json",
22
- "size": 75738,
23
- "sha256": "11cd709dd7055e77bc69402f3abbef741f018aa4c9dc0bef1c5ddcf374ee0445"
24
- },
25
- {
26
- "file": "lua-foundation-68974.jsonl",
27
- "size": 11295182,
28
- "sha256": "98caedf099a168b606d51549f3df1b273e4830eb17537c13de01445c2490925f"
29
- }
30
- ],
31
- "outputs": [
32
- {
33
- "file": "build-profile.json",
34
- "size": 9641,
35
- "sha256": "6bb6dcaa2cf655fb7ef58b2eb68cd150ca442d7973254af94d5eebcfb704fc3f"
36
- },
37
- {
38
- "file": "lua-targets.jsonl",
39
- "size": 9597000,
40
- "sha256": "0e7e7aac710245054d2cf9122c5619b2374f7a903f650c080b0f6808f8c0597e"
41
- },
42
- {
43
- "file": "data-sources.json",
44
- "size": 61193,
45
- "sha256": "f97485c018441cf4bf3b8c80367e5d60be8414101228c5fdf572cc6efb479a7e"
46
- },
47
- {
48
- "file": "signatures.json",
49
- "size": 13174,
50
- "sha256": "fdd6298f9047b720709ffd7768125d21325cb783efb6345e8891aa70971a8db8"
51
- }
52
- ],
53
- "counts": {
54
- "luaTargets": 5130,
55
- "dataSources": 9,
56
- "signatures": 17
57
- },
58
- "exclusions": [
59
- "raw traces",
60
- "focused sessions",
61
- "runtime PID/base/address observations"
62
- ]
63
- }
@@ -1,260 +0,0 @@
1
- {
2
- "schema": "wowdump.signatures.v1",
3
- "buildKey": "retail@12.0.7.68974",
4
- "module": "Wow.exe",
5
- "imageBase": "0x140000000",
6
- "signatures": [
7
- {
8
- "name": "C_PlayerInfo.GetName",
9
- "rva": "0x17d8830",
10
- "va": "0x1417d8830",
11
- "entryBytesHex": "488974242055574156488d6c24a04881ec600100004533f6c64590000f57c044",
12
- "entryBytesSha256": "6357ba30d34ac74483c33ed91fa71ef6643cb79187dfeb604513de23394b5f72",
13
- "aob": "48 89 74 24 20 55 57 41 56 48 8d 6c 24 a0 48 81 ec 60 01 00 00 45 33 f6",
14
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
15
- "signatureBytes": 24,
16
- "signatureKind": "live-validated-build-local-entry-prefix",
17
- "liveAddressValidated": true,
18
- "crossBuildPortable": false,
19
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
20
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
21
- },
22
- {
23
- "name": "C_PlayerInfo.GetRace",
24
- "rva": "0x17d9e40",
25
- "va": "0x1417d9e40",
26
- "entryBytesHex": "48895c2418555657488bec4881ec8000000033f648894db0403835043e6d0248",
27
- "entryBytesSha256": "0f3c675a64129cb1a16cd835637621d9ca722a50c86fe11f6052fea54c29715f",
28
- "aob": "48 89 5c 24 18 55 56 57 48 8b ec 48 81 ec 80 00 00 00 33 f6 48 89 4d b0",
29
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
30
- "signatureBytes": 24,
31
- "signatureKind": "live-validated-build-local-entry-prefix",
32
- "liveAddressValidated": true,
33
- "crossBuildPortable": false,
34
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
35
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
36
- },
37
- {
38
- "name": "C_PlayerInfo.GetSex",
39
- "rva": "0x17da500",
40
- "va": "0x1417da500",
41
- "entryBytesHex": "48895c2418555657488bec4881ec8000000033f648894db040383544376d0248",
42
- "entryBytesSha256": "f48b7af0d039da4856df57ae7b66aa8d5988baec89b65981b538757173741a57",
43
- "aob": "48 89 5c 24 18 55 56 57 48 8b ec 48 81 ec 80 00 00 00 33 f6 48 89 4d b0",
44
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
45
- "signatureBytes": 24,
46
- "signatureKind": "live-validated-build-local-entry-prefix",
47
- "liveAddressValidated": true,
48
- "crossBuildPortable": false,
49
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
50
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
51
- },
52
- {
53
- "name": "C_PlayerInfo.IsConnected",
54
- "rva": "0x17dac00",
55
- "va": "0x1417dac00",
56
- "entryBytesHex": "48895c2418488974242055574156488d6c24b94881eca00000004533f648894d",
57
- "entryBytesSha256": "497efb269fdd1f8773b6b836caabb760f2f50a7b80b820a1eaf82c17e59d820e",
58
- "aob": "48 89 5c 24 18 48 89 74 24 20 55 57 41 56 48 8d 6c 24 b9 48 81 ec a0 00",
59
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
60
- "signatureBytes": 24,
61
- "signatureKind": "live-validated-build-local-entry-prefix",
62
- "liveAddressValidated": true,
63
- "crossBuildPortable": false,
64
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
65
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
66
- },
67
- {
68
- "name": "C_PlayerInfo.UnitIsSameServer",
69
- "rva": "0x17db320",
70
- "va": "0x1417db320",
71
- "entryBytesHex": "48895c2418555657488bec4881ec8000000033f648894db040383524296d0248",
72
- "entryBytesSha256": "dec575cd5d376cdb8481cc35bc7ae2948d567f053d4f515f7cb371367bcd45d4",
73
- "aob": "48 89 5c 24 18 55 56 57 48 8b ec 48 81 ec 80 00 00 00 33 f6 48 89 4d b0",
74
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
75
- "signatureBytes": 24,
76
- "signatureKind": "live-validated-build-local-entry-prefix",
77
- "liveAddressValidated": true,
78
- "crossBuildPortable": false,
79
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
80
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
81
- },
82
- {
83
- "name": "CVar hash lookup",
84
- "rva": "0x3cc2930",
85
- "va": "0x143cc2930",
86
- "entryBytesHex": "48895c24084889742410574883ec20488bd9488d0d9f62e601e882fe6ffc4c8b",
87
- "entryBytesSha256": "2bb0e3fcdb7179525619523437e1dc2e9fa82fee5ed7b2f16544a986fb374491",
88
- "aob": "48 89 5c 24 08 48 89 74 24 10 57 48 83 ec 20 48 8b d9 48 8d ?? ?? ?? ??",
89
- "relocationMask": "xxxxxxxxxxxxxxxxxxxx????",
90
- "signatureBytes": 24,
91
- "signatureKind": "masked-entry-prefix",
92
- "crossBuildPortable": false,
93
- "crossBuildPolicy": "scan as a candidate only; revalidate boundary, callees, globals, and invariants",
94
- "sourcePath": "Wow-12.0.7.68974.text.runtime.bin"
95
- },
96
- {
97
- "name": "FrameScript event registry getter",
98
- "rva": "0x66e7d0",
99
- "va": "0x14066e7d0",
100
- "entryBytesHex": "4883ec2865488b042558000000b9a8000000488b008b040139054a4c92077f0c",
101
- "entryBytesSha256": "99a330204c580f649332d11c582eda77be3677b6891ec52162cb36e8f5ed50a3",
102
- "aob": "48 83 ec 28 65 48 8b 04 25 58 00 00 00 b9 a8 00 00 00 48 8b 00 8b 04 01",
103
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
104
- "signatureBytes": 24,
105
- "signatureKind": "masked-entry-prefix",
106
- "crossBuildPortable": false,
107
- "crossBuildPolicy": "scan as a candidate only; revalidate boundary, callees, globals, and invariants",
108
- "sourcePath": "Wow-12.0.7.68974.text.runtime.bin"
109
- },
110
- {
111
- "name": "FrameScript name registry insert/find",
112
- "rva": "0x697930",
113
- "va": "0x140697930",
114
- "entryBytesHex": "48895c240848896c241048897424185741544155415641574883ec3048833dcc",
115
- "entryBytesSha256": "07ea65116efc2c0687500b3de135e3ca2a11fb1c9ab7a62c5154fbb9d43bdaf2",
116
- "aob": "48 89 5c 24 08 48 89 6c 24 10 48 89 74 24 18 57 41 54 41 55 41 56 41 57",
117
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
118
- "signatureBytes": 24,
119
- "signatureKind": "masked-entry-prefix",
120
- "crossBuildPortable": false,
121
- "crossBuildPolicy": "scan as a candidate only; revalidate boundary, callees, globals, and invariants",
122
- "sourcePath": "Wow-12.0.7.68974.text.runtime.bin"
123
- },
124
- {
125
- "name": "global.ClearRaidMarker",
126
- "rva": "0xaf5690",
127
- "va": "0x140af5690",
128
- "entryBytesHex": "405553488bec4883ec7848833d2ee5020500488bd97419803dbf853b03007410",
129
- "entryBytesSha256": "ac6e1b2858e8a3f9a030f6bbf4b4af3c8160f2a5bdf8071283e49a04845b97fe",
130
- "aob": "40 55 53 48 8b ec 48 83 ec 78 48 83 3d 2e e5 02 05 00 48 8b d9 74 19 80",
131
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
132
- "signatureBytes": 24,
133
- "signatureKind": "live-validated-build-local-entry-prefix",
134
- "liveAddressValidated": true,
135
- "crossBuildPortable": false,
136
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
137
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
138
- },
139
- {
140
- "name": "C_ModelInfo.AddActiveModelSceneActor",
141
- "rva": "0xb42860",
142
- "va": "0x140b42860",
143
- "entryBytesHex": "48895c2420555657488bec4883ec5033f648894de0403835e7b33603488bd9c6",
144
- "entryBytesSha256": "33c3c1399bb8f9988ee96b0901ab2452f1d17037738276f103c946a520e2ecd9",
145
- "aob": "48 89 5c 24 20 55 56 57 48 8b ec 48 83 ec 50 33 f6 48 89 4d e0 40 38 35",
146
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
147
- "signatureBytes": 24,
148
- "signatureKind": "live-validated-build-local-entry-prefix",
149
- "liveAddressValidated": true,
150
- "crossBuildPortable": false,
151
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
152
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
153
- },
154
- {
155
- "name": "C_ModelInfo.ClearActiveModelScene",
156
- "rva": "0xb42f50",
157
- "va": "0x140b42f50",
158
- "entryBytesHex": "48895c2420555657488bec4883ec5033f648894de0403835f7ac3603488bd9c6",
159
- "entryBytesSha256": "506f4dfbd96df5784b35f487bd4e9263062ff63914613e0723e567f69bc46205",
160
- "aob": "48 89 5c 24 20 55 56 57 48 8b ec 48 83 ec 50 33 f6 48 89 4d e0 40 38 35",
161
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
162
- "signatureBytes": 24,
163
- "signatureKind": "live-validated-build-local-entry-prefix",
164
- "liveAddressValidated": true,
165
- "crossBuildPortable": false,
166
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
167
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
168
- },
169
- {
170
- "name": "C_ModelInfo.ClearActiveModelSceneActor",
171
- "rva": "0xb435b0",
172
- "va": "0x140b435b0",
173
- "entryBytesHex": "48895c2420555657488bec4883ec5033f648894de040383597a63603488bd9c6",
174
- "entryBytesSha256": "43db5d20b08153c4fab3f686a94eaea69ae1185c2db60c06df21743bb4f9591a",
175
- "aob": "48 89 5c 24 20 55 56 57 48 8b ec 48 83 ec 50 33 f6 48 89 4d e0 40 38 35",
176
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
177
- "signatureBytes": 24,
178
- "signatureKind": "live-validated-build-local-entry-prefix",
179
- "liveAddressValidated": true,
180
- "crossBuildPortable": false,
181
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
182
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
183
- },
184
- {
185
- "name": "C_ModelInfo.GetModelSceneActorDisplayInfoByID",
186
- "rva": "0xb43c10",
187
- "va": "0x140b43c10",
188
- "entryBytesHex": "488974242055574156488d6c24e04881ec2001000033c0c6442450004533f648",
189
- "entryBytesSha256": "85c79f31dd8d59bcc24735ac85419721f424e6c35ccfe6d2a0072f6a1866ee1c",
190
- "aob": "48 89 74 24 20 55 57 41 56 48 8d 6c 24 e0 48 81 ec 20 01 00 00 33 c0 c6",
191
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
192
- "signatureBytes": 24,
193
- "signatureKind": "live-validated-build-local-entry-prefix",
194
- "liveAddressValidated": true,
195
- "crossBuildPortable": false,
196
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
197
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
198
- },
199
- {
200
- "name": "C_ModelInfo.GetModelSceneActorInfoByID",
201
- "rva": "0xb45780",
202
- "va": "0x140b45780",
203
- "entryBytesHex": "488974242055574156488d6c24c04881ec40010000488d059c4e3c04c6442470",
204
- "entryBytesSha256": "e9c2587be3882d955ce427962c740ca06bda457265944f41e286bfff6555a6a1",
205
- "aob": "48 89 74 24 20 55 57 41 56 48 8d 6c 24 c0 48 81 ec 40 01 00 00 48 8d 05",
206
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
207
- "signatureBytes": 24,
208
- "signatureKind": "live-validated-build-local-entry-prefix",
209
- "liveAddressValidated": true,
210
- "crossBuildPortable": false,
211
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
212
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
213
- },
214
- {
215
- "name": "C_AddOns.GetAddOnTitle",
216
- "rva": "0xc0d390",
217
- "va": "0x140c0d390",
218
- "entryBytesHex": "48895c2420555657488bec4883ec5033f648894de0403835b7082a03488bd9c6",
219
- "entryBytesSha256": "94af70ed0a708f7aa04a56183f3ac89d9fa43612c2367968e58d607af6580e26",
220
- "aob": "48 89 5c 24 20 55 56 57 48 8b ec 48 83 ec 50 33 f6 48 89 4d e0 40 38 35",
221
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
222
- "signatureBytes": 24,
223
- "signatureKind": "live-validated-build-local-entry-prefix",
224
- "liveAddressValidated": true,
225
- "crossBuildPortable": false,
226
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
227
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
228
- },
229
- {
230
- "name": "global.GetBuildInfo",
231
- "rva": "0xd15dd0",
232
- "va": "0x140d15dd0",
233
- "entryBytesHex": "488974242055574156488dac24d0feffff4881ec30020000488d0549481f04c6",
234
- "entryBytesSha256": "f0a217dd42fccedab6008117bb3a5c9a72a48dac2e58aa618840d216c542f833",
235
- "aob": "48 89 74 24 20 55 57 41 56 48 8d ac 24 d0 fe ff ff 48 81 ec 30 02 00 00",
236
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
237
- "signatureBytes": 24,
238
- "signatureKind": "live-validated-build-local-entry-prefix",
239
- "liveAddressValidated": true,
240
- "crossBuildPortable": false,
241
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
242
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
243
- },
244
- {
245
- "name": "global.GetRealmName",
246
- "rva": "0xf97f00",
247
- "va": "0x140f97f00",
248
- "entryBytesHex": "488bc44889581848897020574883ec4033f6488948d88970e8488bd9668970ed",
249
- "entryBytesSha256": "101463966b516c006a82334498b230a778572654d42397702c637273614d1ec4",
250
- "aob": "48 8b c4 48 89 58 18 48 89 70 20 57 48 83 ec 40 33 f6 48 89 48 d8 89 70",
251
- "relocationMask": "xxxxxxxxxxxxxxxxxxxxxxxx",
252
- "signatureBytes": 24,
253
- "signatureKind": "live-validated-build-local-entry-prefix",
254
- "liveAddressValidated": true,
255
- "crossBuildPortable": false,
256
- "crossBuildPolicy": "candidate only; never reuse this RVA without relocation and validation",
257
- "sourcePath": "lua-api-live-verification-68974-wrapper-inclusive.json"
258
- }
259
- ]
260
- }
File without changes
File without changes