18.05.2011, 16:47 | #1 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
WoW Packet Viewer
Т.к. моя утилита по моему мнению недостаточно популярна, я решил создать данную тему
Проэкт на github (googlecode). Скриншот: http://ru-mangos.ru/attachment.php?a...3&d=1305724957 Возможности: - парсинг пакетов любой сложности; - возможность динамической компиляции парсеров / подгрузка уже скомпилированных сборок; - простейший поиск по названию опкода; - экспорт в текстовый формат (hexlike или распарсенный текст); - ручной парсинг варден пакетов (только расшифрованных); Пример простейшего парсера: Код:
using WowTools.Core; [Parser(OpCodes.SMSG_MOTD)] class SMSG_MOTD : Parser { public override void Parse() { For(ReadInt32("Lines count: {0}"), i => ReadCString("Line {0} text: {1}", i)); } } Код:
using WowTools.Core; [Parser(OpCodes.SMSG_CHAR_ENUM)] class SMSG_CHAR_ENUM : Parser { public override void Parse() { const int INVENTORY_SLOT_BAG_END = 23; For(ReadUInt8("Characters count: {0}"), i => { ReadUInt64("Character {0} GUID: {1:X16}", i); ReadCString("Character {0} Name: {1}", i); ReadUInt8("Character {0} Race: {1}", i); ReadUInt8("Character {0} Class: {1}", i); ReadUInt8("Character {0} Gender: {1}", i); ReadUInt8("Character {0} Skin: {1}", i); ReadUInt8("Character {0} Face: {1}", i); ReadUInt8("Character {0} Hair Style: {1}", i); ReadUInt8("Character {0} Hair Color: {1}", i); ReadUInt8("Character {0} Facial Hair: {1}", i); ReadUInt8("Character {0} Level: {1}", i); ReadUInt32("Character {0} Zone: {1}", i); ReadUInt32("Character {0} Map: {1}", i); ReadSingle("Character {0} X: {1}", i); ReadSingle("Character {0} Y: {1}", i); ReadSingle("Character {0} Z: {1}", i); ReadUInt32("Character {0} Guild Id: {1}", i); ReadUInt32("Character {0} Flags: 0x{1:X8}", i); ReadUInt32("Character {0} Customize Flags: 0x{1:X8}", i); ReadUInt8("Character {0} First Login?: {1}", i); ReadUInt32("Character {0} Pet Display Id: {1}", i); ReadUInt32("Character {0} Pet Level: {1}", i); ReadUInt32("Character {0} Pet Family: {1}", i); For(INVENTORY_SLOT_BAG_END, j => { ReadUInt32("Character {0} Item {1} Display Id: {2}", i, j); ReadUInt8("Character {0} Item {1} Inventory Type: {2}", i, j); ReadUInt32("Character {0} Item {1} Enchant Aura: {2}", i, j); }); }); } } Последний раз редактировалось TOM_RUS; 18.05.2011 в 22:22. |
14 пользователя(ей) сказали cпасибо: |
20.05.2011, 15:31 | #2 | |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Цитата:
|
|
20.05.2011, 15:41 | #3 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
float
|
20.05.2011, 16:31 | #4 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
да, просто есть еще и double который 64бит (сингл - 32бит). не знаю, в си есть флоат 64х битный?
|
20.05.2011, 16:36 | #5 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
ну про float и double я знаю, а вот про сингл впервые слышу
|
20.05.2011, 17:42 | #6 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
Последний раз редактировалось TOM_RUS; 20.05.2011 в 19:38. |
15.07.2011, 14:45 | #7 |
Новичок
Регистрация: 04.03.2011
Сообщений: 29
Сказал(а) спасибо: 12
Поблагодарили 9 раз(а) в 7 сообщениях
|
Хорошая утилита. Я сделал форк на гитхабе с целью обновления для 4.2 и небольших изменений под себя.
Последний раз редактировалось Chameleon; 21.07.2011 в 03:00. |
04.06.2013, 16:33 | #8 |
Пользователь
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
|
Возможно обновить до версии пкт 3.1?
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DBC Viewer | TOM_RUS | Tools | 10 | 05.08.2011 11:11 |
[разработка]Wow Packet Parser | alien | Tools | 78 | 21.06.2011 23:37 |
PKT v3.0 Viewer | Йоха | Tools | 103 | 21.05.2011 11:04 |
C#, DBC Viewer и компания | LordJZ | Флудильня | 13 | 02.11.2010 11:44 |
Fixed SMSG_BATTLEFIELD_STATUS packet. | newsbot | CMaNGOS Commits | 0 | 12.07.2010 22:50 |