Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Tools (https://forum.zone-game.info/forumdisplay.php?f=205)
-   -   Piercing Shark - сниффер пакетов (https://forum.zone-game.info/showthread.php?t=41000)

PROGRAMMATOR 09.07.2016 11:08

Piercing Shark - сниффер пакетов
 
Вложений: 3
Приветствую всех!

В виду того, что PointShark так и не исправили, пришлось брать дело в свои руки и запилить на базе MapleShark - сниффер пакетов к игре Piercing Blow и Point Blank с версией 1.x - 3.x

https://image.zone-game.info/images/2016/07/09/QZ7D.png

Как и в оригинальном MapleShark поддерживаются скрипты для разбора пакетов. Так же, в их API были добавлены методы чтения Unicode строк:

        string AddUnicodeString(string name, int sizeOf);
        string AddPaddedUnicodeString(string name, int length);
 
Code: C#

C формы Data можно копировать данные в буфер обмена двумя способами:

CTRL + C - копирует hex:

Код:

58 00 61 00 76 00 69 00 65 00 72 00 43 00 6F 00 6D 00 6D 00 61 00 6E 00 64 00 65 00 72 00
CTRL + B - копирует подготовленный массив байт:

Код:

var data = new byte[]
{
        0x58, 0x00, 0x61, 0x00, 0x76, 0x00, 0x69, 0x00, 0x65, 0x00, 0x72, 0x00, 0x43, 0x00, 0x6f, 0x00,
        0x6d, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00,
};

Написание скриптов:
Свернуть ↑Развернуть ↓


Последняя версия: 1.0.0.2 (Изменения)
Предыдущая версия: 1.0.0.1 (Изменения)

VirusTotal PiercingShark 1.0.0.2.7z
VirusTotal PiercingShark 1.0.0.1.7z
VirusTotal PiercingShark.7z

Для запуска требуется .NET Framework 4.6.1 и WinPcap.

PROGRAMMATOR 09.07.2016 19:01

Re: Piercing Shark - сниффер пакетов
 
Если вы пишете сервер под более старые клиенты:

http://pb.nfinitygames.com
http://pb.ongame.com.br
http://pb.kaybo1.com
... Ещё есть? kappa

Говорите, я постараюсь добавить их поддержку.

Awiion 09.07.2016 19:15

Re: Piercing Shark - сниффер пакетов
 
PROGRAMMATOR, а как же 4game.ru ? :D
_____________________________
В стати, локальный порт не отображает всех подключений vpn,
что бы его выбрать, Config.xml -> Interface > прописать <

PROGRAMMATOR 09.07.2016 20:01

Re: Piercing Shark - сниффер пакетов
 
Там Frost. :)

Boris2105 09.07.2016 20:10

Re: Piercing Shark - сниффер пакетов
 
Не мог бы ты помочь?
Как реализовать стринг и можно ли как то упростить?
PROTOCOL_BASE_GET_SYSTEM_INFO_ACK:
Свернуть ↑Развернуть ↓

PROGRAMMATOR 09.07.2016 20:30

Re: Piercing Shark - сниффер пакетов
 
Упростить всегда есть что:

servers = Struct.AddByte("Count Server");
 
for (i = 0; i < servers; i++)
{
	Struct.StartNode("Server");
 
	Struct.AddInt("Available"); // Это не Id
	Struct.AddInt("Ip"); // Совсем забыл за IP, добавлю позже AddIP :)
	Struct.AddShort("Port");
	Struct.AddByte("Type");
	Struct.AddShort("Max Count Player");
	Struct.AddInt("Online");
 
	Struct.StartNode("Channels");
		for (j = 0; j < 10; j++)
		{
			Struct.AddByte("Type");
		}
	Struct.EndNode(true); // Каналы true - раскрыто
 
	Struct.EndNode(false); // Сервер false - свёрнуто
}
 
Code: C#

Текст, если не Unicode:

length = Struct.AddShort("ShopUrl Length");
Struct.AddPaddedString("ShopUrl", length);
 
Code: C#

crayonnet 10.07.2016 20:36

Re: Piercing Shark - сниффер пакетов
 
Цитата:

Сообщение от Awiion (Сообщение 414955)
PROGRAMMATOR, а как же 4game.ru ? :D
_____________________________
В стати, локальный порт не отображает всех подключений vpn,
что бы его выбрать, Config.xml -> Interface > прописать <

whether the same pb.kaybo login with pb.ru?
Can you give me a structure CM_LOGIN to pb.kaybo

PROGRAMMATOR 18.07.2016 05:58

Re: Piercing Shark - сниффер пакетов
 
В первом посте добавлена информация по написанию скриптов для разбора структуры пакетов. ;)

PROGRAMMATOR 19.07.2016 21:09

Re: Piercing Shark - сниффер пакетов
 
crayonnet,

Код:

i3NetworkPacket::WriteData(&v269, &v235, 5u); // Client Version (1.15.37)
i3NetworkPacket::WriteData(&v269, &v227, 1u);
i3NetworkPacket::WriteData(&v269, &v254, 1u); // Login Length
i3NetworkPacket::WriteData(&v269, &v255, 1u); // Password Length
i3NetworkPacket::WriteData(&v269, (const void *)(v59 + 1944), v254); // Login
i3NetworkPacket::WriteData(&v269, (const void *)(v59 + 2009), v255); // Password
i3NetworkPacket::WriteData(&v269, (const void *)(v59 + 2080), 8u); // MAC address
i3NetworkPacket::WriteData(&v269, &v256, 1u);
i3NetworkPacket::WriteData(&v269, (const void *)(v236 + 6), 4u); // IP
i3NetworkPacket::WriteData(&v269, &v234, 8u);
i3NetworkPacket::WriteData(&v269, &v245, 0x20u); // md5_file("UserFileList.dat")


PROGRAMMATOR 21.07.2016 17:11

Re: Piercing Shark - сниффер пакетов
 
Вышла новая версия с исправлениями и доработками. Первый пост обновлен.

В API чтения структуры добавлены методы:

// В PB дата представляет собой целое число в формате yyMMddHHmm
AddDate(string name);
AddIP(string name);
 
Code: C#

Доработана форма редактирования скриптов, теперь можно обновить структуру не закрывая редактор.



Обновлена форма Properties, теперь в списке подсвечивается указанный тип (AddType(name)) для выбранного элемента. Так же добавлены новые типы данных.

Подсвеченный тип float для структуры AddFloat:
Свернуть ↑Развернуть ↓


P.S. Возможно, был исправлена проблема с отображением сетевого интерфейса в окне настройки. Небыло у меня данный проблемы, но я убрал пару проверок, может поможет. kappa

Если у вас была прошлая версия, то достаточно заменить PiercingShark.exe.


Текущее время: 04:32. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot