Skip to content

Releases: kxtools/kx-packet-inspector

v1.5

09 Apr 14:56

Choose a tag to compare

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 libs Folder for Dependencies: Merged contribution adding a structured libs/ folder for external dependencies and related file fixes.

v1.4

08 Apr 16:03

Choose a tag to compare

What's Changed

  • Overhauled Incoming Packet Capture: Replaced the old low-level MsgRecvHook with a clean SafetyHook MidHook inside the game's message dispatcher (FUN_1412e9390). The new MessageHandlerHook extracts 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 DetourPresent accessing 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

07 Apr 17:50

Choose a tag to compare

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_t Header 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_enum to improve clarity and reduce boilerplate.

v1.2

06 Apr 17:38

Choose a tag to compare

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 MsgSend and MsgRecv function 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 simplifying WndProc.

v1.1

05 Apr 19:11

Choose a tag to compare

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

04 Apr 14:03

Choose a tag to compare

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 (INSERT to toggle UI, DELETE to unload).