| |
Тема: международный централизованный формат снифов | Список тем |
| | | редакция от 30 июля 2007 года. ВНИМАНИЕ! исправлена ошибка в описании заголовков RAW данных, 9 июля 2010 года. обратите внимание, поле "длина пакета" для RAW находится в начале заголовка, а для PKT - в конце.
имя файла-сниффа состоит из: .... например: 8334.ROMANROM2.Jaedenar.4A55872D.pkt 8334.ROMANROM2.Jaedenar.4A5D4FE8.pkt 8334.ROMANROM2.The Maelstrom.4A5513EA.pkt 8334.ROMANROM2.The Maelstrom.4A558B3B.pkt
1. RAW-файлы ------------------------- заголовок файла для кодированных данных: - 3 байта: [R], [A], [W] - 2 байта: версия снифа. в настоящий момент версия 2.1. в старшем байте хранится 1, в младшем 2 - 2 байта: билд клиента - 40 байт: ключ - ?? байт: данные
заголовок серверных данных RAW: 1 байт: 0xFF 4 байта: длина пакета 4 байта: DateTimeToUnix(Now) 4 байта: GetTickCount, тики, полученные с машины, где работал снифер (обычно - клиентская машина) ?? байт: пакет
заголовок клиентских данных RAW: 1 байт: 0xCC 4 байта: длина пакета 4 байта: DateTimeToUnix(Now) 4 байта: GetTickCount, тики, полученные с машины, где работал снифер (обычно - клиентская машина) ?? байт: пакет
2. PKT-файлы ------------------------- заголовок файла для декодированных данных: - 3 байта: [P], [K], [T] - 2 байта: версия снифа. в настоящий момент версия 2.1. в старшем байте хранится 1, в младшем 2 - 2 байта: билд клиента - 40 байт: ключ, все нули - ?? байт: данные
заголовок серверных данных PKT: 1 байт: 0xFF 4 байта: DateTimeToUnix(Now) 4 байта: GetTickCount, тики, полученные с машины, где работал снифер (обычно - клиентская машина) 4 байта: длина пакета ?? байт: пакет
заголовок клиентских данных PKT: 1 байт: 0xCC 4 байта: DateTimeToUnix(Now) 4 байта: GetTickCount, тики, полученные с машины, где работал снифер (обычно - клиентская машина) 4 байта: длина пакета ?? байт: пакет
пакет в raw: то, что бы "поймано" на сокете. пакет в pkt: игровой пакет без двух первых байт (длина). длина задана в хидере пакета. |
| | | | | http://wowcore.ru/?ID=50 |
| | | | | Ромка, думаешь это комуто надо будет? Ну ломанется щас куча народу скачивать то что ты выложишь, потом будут думать нах тм это нужно. Проще разговаривать с заинтересованными людьми, которым это нужно и интересно и смогут дать гарантию что снифы с офа и не куй знает откуда. |
| | | | | заинтересованных людей становится очень много, аська по швам трещщит. со всеми разговаривать у меня уже нет ни времени ни желания. мы предоставляем вот такой вот "сервис". кто хочет - пусть пользуется. кто не хочет - путь не пользуется. кто заинтересован и хочет помочь - велкам. |
| | | | | Мое скромное IMHO что люди сами еще не совсем поняли что они хотят и что им нужно. просто видят что то новое и начинаются метания. Это как на 1wow было, асцент закрыли народ ломанулся на wcell с вопросами как ставить сие чудо, где база и т.д., даже не разобравшись, на каком этапе сервак и т.д. некоторые даже скомпилировать не смогли, но все равно просят бин версии мол щас запустим и глянем.
И щас похожая ситуация, вроде главный дев. одного из самых перспективных эмулей что то предложил, даже как бы общий ресурс и бесплатно и все в надежде, что а вдруг что то полезное для себя умыкнем или с девами станем на дружеской ноге и потом сервер поимеем на льготе ломанулись узнавать. |
| | | | | вот пока не поняли, самое время унифицировать формат :) |
| | | | | ну глянем , авось что нить путное то и выйдет, а если нет, в принципе это нам ничем не повредит. |
| | | | | именно. не понимаю, чего вы испугались... сниферы в принципе уже есть у всех, а мы сделаем шаг навстречу первыми. разве это плохо? :) ЗЫ. сами по себе снифы ничего не дают. только в умелых руках снифы дают много инфы. более того, в рамках какого то проекта, эту инфу нужно бы по умному собрать, хранить и потом использовать. даже неправильно спроектированная архитектура данных даст множество ошибок и повлечет за собой неправильный архитект кода. вот и получается, что снифы то есть, и даже есть возможность их получать, а толку то :) поэтому шаринг снифов - это не страшно :) |
| | | SeT ··· 28.06.2008, 06:57 |
| | Ну и куда все сниферы делись? |
| | | alien ··· 30.06.2010, 19:02 |
| | А можно новое описание заголовка. А то вот нашел сорци WoWPacketViewer а там идет вот так gr.ReadBytes(3); // PKT gr.ReadBytes(2); // 0x02, 0x02 gr.ReadByte(); // 0x06 Что вот это?? Build = gr.ReadUInt16(); // build gr.ReadBytes(4); // client locale gr.ReadBytes(20); // packet key gr.ReadBytes(64); // realm name |
| | | | | версия 2.2 заголовка как то не прижилась. а сейчас она и не может быть использована, т.к. она создавалась в то короткое время, когда близзы сделали размер ключа 20 байт. с другой стороны в расшифрованном PKT ключ и не нужен уже. так что тут по сути 20 байт мусора :)
struct Header: 00: char(3) Signature // PKT 03: byte(2) Version // 0x02, 0x02 (2.2) 05: byte(1) Sniffer ID 06: word(1) Client Build 08: char(4) Client Language 0C: byte(20) Session Crypt Key 20: char(64) Realm Name end struct
по поводу sniffer id:
1 - zProxy 2 - zLogger 3 - iLogger 4 - lspLogger
по мере их появления. помню кто то давно делал снифер и мы ему дали индекс 5. ну видимо уже и 6 бывает :)
PS. ставлю вот дотнет 4, что бы посмотреть на этот WoWPacketViewer ... |
| | | | | а он чото не видит мои снифы... |
| | | alien ··· 01.07.2010, 08:16 |
| | да не совсем просто я тут для того чтобы проверить взял снифы с ftp(ну там архив еще на 200 мб лежит), вот их и пробовал открыть(но там видимо совсем старая версия). Дак без изменений он не смог их открыть. PS (ему надо расширение снифоф менять с pkt на bin |
| | | | | смог открыть только xml от snifitz, да и то - не все открывает. на каких то валится. так я не понял, пкт вьювер нужен чтоль? почему наш не используете? |
| | | alien ··· 01.07.2010, 14:58 |
| | Нет наоборот свой пишу ) Вот просто хотел узнать может что-то как0то изменилось в формате. Вообщем как я понял актуальный формат тот что щас в первом посте темы. |
| | | | | да, версия 2.1. |
| | | | | версия 3.0, редакция от 21 июля 2010 года. тестовый pkt-снифф от LordJZ прилагается.
[syntax=c] struct MainHeader { char signature[3]; // 'RAW', 'PKT' byte version[2]; // 0x00, 0x03 byte snifferID; uint build; char language[4]; // Язык клиента: 'ruRU', 'enGB' и т.д. byte sessionKey[40]; uint optionalHeaderLength; }; byte[optionalHeaderLength] optionalData;
struct ChunkHeader { char direction[4]; // 'SMSG', 'CMSG' uint unixTime; uint tickCount; uint optionalDataLength; uint dataLength; }; byte[optionalDataLength] optionalData; byte[dataLength] data;[/syntax] , где - data включает в себя Opcode, выравненный до uint - dataLength равен размеру data
правила формирования имени файла: - имя файла может быть произвольным и удобным каждому из разработчиков. - расширение файла обязательно .raw или .pkt
коды SnifferID: 0 - Wad // 2005 и ранее 1 - Nomad // 2005 и ранее 2 - WoWCore // 2006 3 - Mangos (TOM_RUS) // 2006 4 - User456 // 2007 5 - Delfin // 2007 6 - Burlex // 2007 7 - WCell // 2008 8 - Kobold // 2009 9 - abdula123 // 2010 10 - Konctantin/LordJZ // 2010 11 - Йоха // 2010 |
| | | | | версия 3.1, редакция от 31 июля 2011 года.
[syntax=c] struct MainHeader { char signature[3]; // 'RAW', 'PKT' byte version[2]; // 0x01, 0x03 byte snifferID; uint build; char language[4]; // Язык клиента: 'ruRU', 'enGB' и т.д. byte sessionKey[40]; uint unixTime; uint tickCount; uint optionalHeaderLength; }; byte[optionalHeaderLength] optionalData;
struct ChunkHeader { char direction[4]; // 'SMSG', 'CMSG' uint sessionID; uint tickCount; uint optionalDataLength; uint dataLength; }; byte[optionalDataLength] optionalData; byte[dataLength] data;[/syntax] , где - data включает в себя Opcode, выравненный до uint - dataLength равен размеру data - sessionID любые числа, однозначно идентифицирующее пакеты для разных сессий в рамках одного снифа
правила формирования имени файла: - имя файла может быть произвольным и удобным каждому из разработчиков. - расширение файла обязательно .raw или .pkt
коды SnifferID: 0 - Wad // 2005 и ранее 1 - Nomad // 2005 и ранее 2 - WoWCore // 2006 3 - Mangos (TOM_RUS) // 2006 4 - User456 // 2007 5 - Delfin // 2007 6 - Burlex // 2007 7 - WCell // 2008 8 - Kobold // 2009 9 - abdula123 // 2010 10 - Konctantin/LordJZ // 2010 11 - Йоха // 2010 |
| |
|
| |