Releases: kxtools/kx-packet-inspector
Releases · kxtools/kx-packet-inspector
v1.5
What's Changed
- Hook All Dispatcher Call Sites: Now hooks all relevant call sites within the game's dispatcher function to ensure full coverage of incoming message capture.
- Prevent Duplicate Opcode Display: Fixed an issue where unknown packets could show duplicated opcodes in the log.
- Add "Reset Filters" Button: Added a quick-access button to reset all packet log filters to default.
- Refactor Log Formatting: Cleaned up and standardized how packet log entries are formatted for improved readability.
- Use Uppercase for Opcodes: Updated opcode display to use consistent uppercase formatting.
- Add More Opcodes: Continued expanding the opcode enum list for better identification coverage.
- Improve Shutdown Safety: Corrected the pause capture check and added memory ordering to prevent potential shutdown issues.
- Add
libsFolder for Dependencies: Merged contribution adding a structuredlibs/folder for external dependencies and related file fixes.
v1.4
What's Changed
- Overhauled Incoming Packet Capture: Replaced the old low-level
MsgRecvHookwith a cleanSafetyHookMidHook inside the game's message dispatcher (FUN_1412e9390). The newMessageHandlerHookextracts the packet ID, data pointer, and size using register context, enabling direct capture of framed, plaintext SMSG packets without external decryption. - Removed Legacy Code: Deleted the outdated receive hook and
CryptoUtils(RC4 decryption) since they are no longer needed. - Fixed Shutdown Crash: Resolved a crash during DLL unload caused by
DetourPresentaccessing ImGui after its context was destroyed. Improved cleanup synchronization to ensure safe shutdown. - Refactor Packet Log Rendering: Cleaned up how packet log rows are rendered, improving code clarity. The "Clear Log" button is now styled in red to better reflect its destructive nature.
- Added Reverse Engineering Docs: Introduced
docs/ReverseEngineering.md, which documents the target functions, hook strategy, known offsets, and future plans (e.g. opcode ID handling). - Updated README.md: Revised to reflect the new packet capture system, removed obsolete information, added a link to RE notes, and credited SafetyHook.
v1.3
What's Changed
- Implement Base Packet Parsing System: Introduced a foundational system for parsing packet contents, starting with an example for movement-related packets. You can now view packet details via tooltips for easier inspection.
- Replace Placeholder with Actual RC4 Decryption Call: Fully wired up the RC4 decryption logic using the real decryption function.
- Support for
uint16_tHeader IDs: Reworked header processing to handle 16-bit header IDs, improving compatibility and future-proofing. - Correctly Filter Unknown Headers: Fixed an issue where unknown headers weren’t properly classified.
- Use Magic Enum for Header Management: Simplified header handling code using
magic_enumto improve clarity and reduce boilerplate.
v1.2
What's Changed
- Fix Crash When Clearing Packet Log During Rendering: Fixed a crash that could occur when clearing the packet log while it's being rendered.
- Add Copy Buttons for MsgSend and MsgRecv Addresses: New buttons allow easy copying of
MsgSendandMsgRecvfunction addresses directly from the UI. - Refactor UI Sections: Moved log controls into the packet log section and cleaned up the status controls layout for a more intuitive interface.
- Packet Log Enhancements: Added basic statistics and color coding to distinguish between sent and received packets more clearly.
- Safer Packet Hook Cleanup: Packet hooks are now explicitly disabled and removed on shutdown to prevent potential disconnects.
- Show App Version in Title Bar: The window title now includes the current version number for easier debugging and support.
- Add Copy Full Packet Log Entry: You can now copy the full contents of any packet entry directly from the log view.
- UI & Code Cleanups: Minor simplifications and polish, including breaking down
Hooks.cpp, updating ImGui to v1.91.9b, and simplifyingWndProc.
v1.1
This update enables capturing and analyzing incoming (Server-to-Client) packets, including automatic RC4 decryption, alongside major refactoring and UI improvements.
What's Changed
- Added Incoming Packet Capture & RC4 Decryption: Now logs received (SMSG) packets. Automatically decrypts RC4-encrypted streams using the game's live cipher state.
- Major Code Refactoring: Significantly improved code structure for maintainability and easier contributions. Centralized packet handling (
PacketProcessor), separated header definitions by direction (CMSG/SMSG), and extracted utilities. - Enhanced UI Filtering & Interaction: Added filtering by direction (Sent/Received), improved header/type filter checkboxes (grouped by CMSG/SMSG/Special), and added a per-line "Copy" button.
v1.0
This is the first public release of KX Packet Inspector, a tool for viewing outgoing Guild Wars 2 network packets in real-time using an in-game overlay.
Features
- Real-time outgoing packet logging (Timestamp, ID, Size, Hex Data).
- DirectX 11 hooking for packet capture.
- Dear ImGui overlay for display and interaction.
- Packet filtering options (Show All, Include Only, Exclude).
- UI controls (Pause/Resume, Clear Log) and info links.
- Basic packet header identification.
- Hotkeys (
INSERTto toggle UI,DELETEto unload).