Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Tools (http://mangos.ytdb.ru/forumdisplay.php?f=22)
-   -   IZI2PKT (http://mangos.ytdb.ru/showthread.php?t=4070)

HuntsMan 09.04.2011 22:41

IZI2PKT
 
Простой конвертер для конвертирования снифов из формата IZI в формат PKT 3.0. Собралось у меня на харде около 2 гигов таких снифов, а поскольку перешел на формат PKT, а с таким добром расставаться жалко, то решил написать этот конвертер.

Запускаем, указываем папку, и он включая вложенные папки будет искать файлы с расширением .izi и пытаться сконвертировать.

Писалось под себя, но решил выложить в массы; вдруг кому пригодится.

Скачать: http://filebeam.com/8c4b30e867f54c5da1b51c01c222ad30

LordJZ 09.04.2011 22:48

А что за izi, т.е. кто в оригинале его пишет и читает ?

HuntsMan 09.04.2011 22:59

Гуляет по инету, инжекторный такой. Первоисточник я не знаю кто, но говорят его izidor написал. Собственно он:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 50 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

LordJZ 10.04.2011 09:05

Это чтоль? http://ru-mangos.ru/showpost.php?p=19643&postcount=36

Lordronn 10.04.2011 10:08

Да, ужасный формат

Lordronn 15.04.2011 12:01

Ты путаешь направления и получается небольшая бяка

1 Замени

Код:

if (direction == "StoC")
    bw.Write((char)'C');
else
    bw.Write((char)'S');
bw.Write((char)'M');
bw.Write((char)'S');
bw.Write((char)'G');

на
Код:

                     
bw.Write(direction.StartsWith("S") ? 'S' : 'C');
bw.Write('M');
bw.Write('S');
bw.Write('G');

можно также на
Код:

bw.Write(direction[0]);
bw.Write('M');
bw.Write('S');
bw.Write('G');

2 Также можно убрать приведение в char

3 тут
Код:

uint opcode = (uint)UInt16.Parse(data[6]);
Код:

bw.Write((uint)opcode);
Код:

bw.Write((uint)13623);
убрать приведение в uint

4
Код:

string directdata = data[8];
byte[] byteData = ParseHex(directdata);

заменить на
Код:

byte[] byteData = ParseHex(data[8]);
5 все
Код:

richTextBox1.Text +=
на
Код:

richTextBox1.AppendText
6
Код:

FileStream fs = new FileStream(f.FullName + ".pkt", FileMode.Create);
на
Код:

FileStream fs = new FileStream(file.FullName.Replace(".izi", ".pkt") , FileMode.Create);
7
Код:

patch = d.SelectedPath;
DirectoryInfo di = new DirectoryInfo(patch);

на
Код:

DirectoryInfo di = new DirectoryInfo(d.SelectedPath);

HuntsMan 11.05.2011 22:00

Собственно небольшое обновление: http://filebeam.com/8c4b30e867f54c5da1b51c01c222ad30 Так же ссылка обновлена в первом посте.

Были поправлены все найденные ошибки, переписан код :) Теперь конвертер создает рядом с собой папку converted, куда и складывает все что он смог сконвертировать. В будущем постараюсь добавить поддержку всех известных форматов, дабы всем было хорошо :)

Lordronn 11.05.2011 22:06


HuntsMan 11.05.2011 22:10

Цитата:

Сообщение от Lordronn (Сообщение 22175)

Тогда и сразу вопрос: в raw данные пишутся фрагментированные или уже собранные?

Йоха 11.05.2011 22:52

фрагментированые конечно

Amaru 15.04.2013 12:59

вопрос - как оно версию клиента по izi снифу определяет?


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

ru-mangos.ru - Русское сообщество MaNGOS