- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 706
- Реакции
- 18
Разрабы старых логгеров под NosTale окончательно забили на свои поделки: у одних фильтры не сохраняются, у других хуки криво работают. Решил выкатить адекватную замену, которая не просто логает пакеты, но и позволяет цепляться к ним через TCP.
Основной упор сделан на стабильность и возможность использовать логгер как мост для своих ботов. Написано всё это дело на QT с использованием PolyHook 2.0.
Главные фичи:
Техническая часть и TCP Feature
Это киллер-фича для разработчиков. Логгер выступает в роли прокси. Вы можете подключить сколько угодно клиентов к локальному серверу (IP:Порт отображаются в заголовке окна).
Формат обмена данными максимально простой (Space splitted):
Где type: 0 — входящий (receive), 1 — исходящий (send).
Python Snippet для получения порта:
Если лень руками чекать заголовки, можно вытащить порт логгера через psutil:
Как запустить:
Сурсы и репозиторий:
Проект лежит на GitLab -
Собрано на QT. Помогать с настройкой окружения для компила не буду — если есть руки, разберетесь сами, база там стандартная.
Сурс идеально подходит под допил своего функционала или просто как учебник по работе с PolyHook в MMORPG. Глянем, как античит отреагирует на такие манипуляции в долгосроке.
Жду ваших идей по реализации фильтрации через TCP.
Основной упор сделан на стабильность и возможность использовать логгер как мост для своих ботов. Написано всё это дело на QT с использованием PolyHook 2.0.
Главные фичи:
- Полноценный логинг входящих и исходящих пакетов.
- TCP-сервер: можно подключить любой софт (Python, AutoIt, C#) и манипулировать пакетами в реальном времени.
- Сохранение фильтров (наконец-то не надо настраивать всё заново при каждом перезапуске).
- Подсветка и маркировка выбранных пакетов.
- Просмотр полного пакета при наведении мыши.
Техническая часть и TCP Feature
Это киллер-фича для разработчиков. Логгер выступает в роли прокси. Вы можете подключить сколько угодно клиентов к локальному серверу (IP:Порт отображаются в заголовке окна).
Формат обмена данными максимально простой (Space splitted):
Код:
type counter_header data
Код:
packet = receiveFromPacketLogger();
splitted = split(packet, ' ');
type = splitted[0];
header = splitted[1];
if type == 0 then "RECEIVE PACKET"
if type == 1 then "SEND PACKET"
Python Snippet для получения порта:
Если лень руками чекать заголовки, можно вытащить порт логгера через psutil:
Код:
from typing import List
from psutil import process_iter, AccessDenied, Process
def get_nostale_packet_logger_ports() -> List[int]:
processes = []
for process in process_iter():
try:
if "NostaleClientX.exe" in process.name():
processes.append(process)
except AccessDenied:
pass
ports = []
for process in processes:
for connection in process.connections():
if connection.laddr and connection.laddr.ip == "127.0.0.1":
ports.append(connection.laddr.port)
return ports
Как запустить:
- Закидываем содержимое папки PacketLogger в корневую папку с игрой.
- Инжектим PacketLogger.dll любым удобным инжектором.
- Если сыпет ошибками — обновите Redist'ы (VCRedist).
Сурсы и репозиторий:
Проект лежит на GitLab -
Пожалуйста, авторизуйтесь для просмотра ссылки.
Собрано на QT. Помогать с настройкой окружения для компила не буду — если есть руки, разберетесь сами, база там стандартная.
Сурс идеально подходит под допил своего функционала или просто как учебник по работе с PolyHook в MMORPG. Глянем, как античит отреагирует на такие манипуляции в долгосроке.
Жду ваших идей по реализации фильтрации через TCP.