After completing the static reverse-engineering pass, five runtime validation items (D1–D5) were flagged as requiring live or on-disk evidence that could not be fully satisfied by disassembly alone. This page documents the results of the automated search across the repository and WSL filesystem, records what was found and vendored, and provides concrete closure strategies for every item that remains open.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ThalissonTMora/shaiya-chat-native-re/llms.txt
Use this file to discover all available pages before exploring further.
Search Scope
The automated search covered three locations:/home/Thalisson/shaiya-paradise— recursive, depth 6/mnt/c/Users— recursive, depth 5- Byte scan of Shaiya-Core RAR archives — searched for opcode constants and known magic bytes
Summary Table
| ID | Item | Found? | Notes |
|---|---|---|---|
| D1 | Guild 0x1104 wire capture (padding) | Static closed | ui_session_20260526_static.log; live hex optional |
| D2 | data/cn_string.DB (zone script text) | Yes (Windows mount) | /mnt/c/ShaiyaServer/PSM_Client/Bin/Data/cn_string.DB (31 entries); vendored as test/fixtures/cn_string_stock.db |
| D2′ | sysmsg-uni.txt (client sys messages) | Yes (outside RE repo) | .features/Shaiya-Core-V7/sysmsg-uni.txt — UTF-16, tab format; NOT a cn_string.DB substitute |
| D3 | Login 0xA101 pcap + PRNG capture | No | No tcpdump/pcap in tree |
| D4 | NPC script 0x1109 wire capture | No | — |
| D5 | Binary that sends C→S 0xF108 | No | Game.exe / ps_game.exe / ps_login.exe: 0 mov $0xF108 send sites |
D1 and D2 are closed. D2 has been vendored to
test/fixtures/cn_string_stock.db; D1 is satisfied by the MSVC debug-fill static proxy and the existing ui_session_20260526_static.log. Live captures remain optional.D1 — Padding Capture
Status: Closed (static proxy) The best static proxy is the MSVC debug fill0xCC on a simulated Pattern B packet — generated by:
0xCC, matching the compiler’s uninitialised-stack fill pattern observed in the disassembly of SConnection_Send.
D2 — cn_string.DB
Status: Closed (vendored)cn_string.DB was located at /mnt/c/ShaiyaServer/PSM_Client/Bin/Data/cn_string.DB (31 entries) and has been vendored to test/fixtures/cn_string_stock.db.| Property | Value |
|---|---|
| Expected server path | data/cn_string.DB |
| Loader symbol | ZoneChat_TableLoader @ 0x00408C70 in ps_game.exe |
| Found at | /mnt/c/ShaiyaServer/PSM_Client/Bin/Data/cn_string.DB |
| Vendored to | test/fixtures/cn_string_stock.db |
D2′ — sysmsg-uni.txt Comparison
sysmsg-uni.txt was found at .features/Shaiya-Core-V7/sysmsg-uni.txt during the filesystem sweep. It is not a substitute for cn_string.DB — the two files serve distinct subsystems and have incompatible formats.
| Property | sysmsg-uni.txt | cn_string.DB |
|---|---|---|
| Encoding | UTF-16 LE | ASCII / ANSI |
| Row format | id TAB "text" | fscanf("%d\n") + fgets |
| Client path | data/sysmsg-uni.txt | data/cn_string.DB |
| Primary use | System / UI messages (GetMsg tags) | Zone script / 0x1109 resolver |
sysmsg-uni.txt covers the UI message subsystem; cn_string.DB is the lookup table for the zone-chat script push (0x1109) opcode. Neither file can substitute for the other.D3 — Login Crypto Capture
Status: OpenDump the PRNG seed
In x64dbg with
Game.exe attached, set a breakpoint at 0x00404610 (Crypto_PRNGFill) and dump 128 bytes of the seed buffer when it fires.Dump the 0xA101 plaintext
Set a second breakpoint at
0x005E3D60 and dump 197 bytes of the plaintext 0xA101 login packet before encryption.D4 — Script Push Capture
Status: Open FollowWIRE_CAPTURE_GUIDE.md §4: hook SConnection_Send at 0x004ED0E0 and filter for packets where *(u16*)buf == 0x1109. A single NPC interaction that triggers a script response is sufficient to close this item.
D5 — F108 Sender
Status: Open| Binary | C→S mov $0xF108 | Role |
|---|---|---|
bin/Game.exe | No | No dispatcher case |
bin/ps_game.exe | No (recv handler only) | Relays inbound packet to 0xF102 |
bin/ps_login.exe | No | — |
0xF108 is a GM panel or standalone admin binary not currently vendored. The server-side handling is documented in ADMIN_F108_WHISPER_RELAY.md.
Typical Server Layout (Windows)
For reference when locating artifacts on a local Windows Shaiya server installation:Helper Script
To scan both a bare server data directory and a WSL-mounted Windows path in one pass:Undocumented Area
The largest remaining undocumented area in the chat subsystem is the GM notice opcode range0xF901–0xF90C. The server dispatch entry point (0x0047509F, jump table 0x004833F4) and several client send VAs are identified statically, but the per-opcode handler decompilations and the client recv display path have not been added to the RE corpus. See RE Gaps for the full gap register and prioritisation notes.