Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > Tools

Важная информация

Tools Обсуждение программ для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.05.2011, 12:30   #1
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию PKT v3.0 View

Проект на гитхабе:
https://github.com/Johnson7/pkt30view

Скриншот:


Возможности программы:

- Открывает .pkt файл формата 3.0, описание формата тут
- По умолчанию отображает пакеты в шестнадцатеричном представлении.
- Можно задавать имена для пакетов и имя функции на языке lua для парсинга пакета
- позволяет задавать имена опкодов и парсеры специфичные для конкретного билда wow.
Для этого необходимо создать в папке где находится екзешник - папку с номером билда wow от которого сделан сниф
Внутри папки создать 2 файла: opcodes.txt и parsers.lua

формат файла opcodes.txt :
Код:
опкод1, название_опкода1, имя_луа_функции1
опкод2, название_опкода2, имя_луа_функции2
в файле parsers.lua содержатся функции парсинга
Код:
function имя_луа_функции1()
end

function имя_луа_функции2()
end
при выделении строки в списке программы вызывается функция из загруженного lua файла соответсвующая опкоду, которая задается в файле opcodes.txt, если функция не задана, то соответственно ничего не вызывается.

В скрипте lua помимо стандартных доступны 2 библиотеки: packet и output

для packet доступны следующие функции:
Код:
length()		- возвращает длину данных пакета
decompress()		- распаковать compressed пакет

read8()			- читает BYTE
read16()		- читает WORD
read32()		- читает DWORD
readfloat()		- читает float
readguid()		- читает GUID (8 байт)
readpackedguid()	- читает упакованый GUID
readstring([len])	- читает строку длиной len, если вызывать без параметра,
			читает строку до завершающего 0 или конца пакета
для output :
Код:
print(string)
println(string)

Приглашаются все желающие для совместной разработки


В аттаче последня сборка
Миниатюры
Нажмите на изображение для увеличения
Название: screen.jpg
Просмотров: 2262
Размер:	113.0 Кб
ID:	991  
Вложения
Тип файла: zip pkt30view_.zip (318.4 Кб, 988 просмотров)

Последний раз редактировалось Йоха; 21.05.2011 в 09:16.
Йоха вне форума   Ответить с цитированием
9 пользователя(ей) сказали cпасибо:
ANTOMA (30.05.2011), Den (06.05.2011), KiriX (17.05.2011), Konctantin (10.05.2011), Mayss (15.05.2011), Ranger (17.05.2011), SilverIce (13.05.2011), srv38 (10.05.2011), sven (16.05.2011)
Старый 11.05.2011, 10:52   #41
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

luabind на бусте сделан ? ну его в нафиг тогда
Йоха вне форума   Ответить с цитированием
Старый 11.05.2011, 10:54   #42
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Да на boost )) Но там используются только хедеры из него. Тоесть сам boost компилить ненужно для использования luabind
alien вне форума   Ответить с цитированием
Старый 13.05.2011, 11:14   #43
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

- Переписаны все вызовы луа без сторонних средств, удалены из проекта файлы luawraper.h luawraper.cpp за ненадобностью

- Добавлена команда "перегрузить опкоды и lua" - которая позволяет обновить оподы и луа функцию без перезагрузки программы и без повторного открытия файла.
То есть можно что-то изменить в файлах opcodes.txt или parsers.lua и нажать кнопку "обновить", изменения сразу будут видны.

- в библиотеку packet добавлен вызов функции readstring()
функцию можно вызывать без параметров, тогда читается строка до первого нулевого символа или конца пакета. так же можно вызывать readstring(n), тогда функция вернет строку длиной n.

Последний раз редактировалось Йоха; 13.05.2011 в 11:35.
Йоха вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Konctantin (13.05.2011)
Старый 13.05.2011, 14:41   #44
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

в библиотеку packet добавлены функции readguid, readpackedguid, readfloat, decompress

сейчас займусь выводом в окно hex view и нормальным окном для parsed packet.

К модераторам: может закрепить топик ?

------------
Закрепил. YuruY

Последний раз редактировалось YuruY; 13.05.2011 в 14:48.
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 14:48   #45
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

выплыл такой нюанс, в луа все числа представлены в формате double, который имеет 11 бит на порядок и 53 на мантиссу (всего 64 бита)
Мне кажется при чтении GUIDa будет потеря данных, в каком тогда виде лучше возвращать GUID ?
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 14:59   #46
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
выплыл такой нюанс, в луа все числа представлены в формате double, который имеет 11 бит на порядок и 53 на мантиссу (всего 64 бита)
Мне кажется при чтении GUIDa будет потеря данных, в каком тогда виде лучше возвращать GUID ?
а разве максимальный размер GUIDa не 8 байт (64 бита)? как раз влезает в размер
  Ответить с цитированием
Старый 13.05.2011, 15:02   #47
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

гуид то конечно 8 байт, просто по моему будет ересь если сделать так:
Код:
__int64 a = 10000000000;
double d;
memcpy(&d, &a, 8);
а если так :
Код:
__int64 a = 10000000000;
double d = a;
то потеря данных.
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 15:10   #48
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
гуид то конечно 8 байт, просто по моему будет ересь если сделать так:
Код:
__int64 a = 10000000000;
double d;
memcpy(&d, &a, 8);
а если так :
Код:
__int64 a = 10000000000;
double d = a;
то потеря данных.
А если так:
Код:
__int64 a = 10000000000;
double d = *(double*)&a;
?

Или так:
Код:
union Foo
{
    double d;
   __int64 a;
};

Foo foo;
foo.a = 10000000000;
double d = foo.d;

Последний раз редактировалось TOM_RUS; 13.05.2011 в 15:17.
TOM_RUS вне форума   Ответить с цитированием
Старый 13.05.2011, 15:28   #49
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

да по сути это одно и то же - побитовое копирование

просто если сделать такой тест:
Код:
	__int64 a = 10000000000;
	
	double d = *(double*)&a;

	std::cout << a << std::endl;
	std::cout << d << std::endl;
то результат будет как раз такой которого я и боялся

Код:
10000000000
4.94066e-314
побитово они совпадают, но интерпретируются по разному
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 15:42   #50
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Теоретически придумал решение: возвращать гуид в виде таблицы, типа :
Код:
-- код на луа
guid = packet.readguid()
high = guid["high"] -- старшая часть гуида
lo = guid["lo"] -- младшая часть гуида
Осталось разобраться как это реализовать на практике. Или предложите более изящный вариант

Последний раз редактировалось Йоха; 13.05.2011 в 15:50.
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 15:44   #51
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

либо возвращать record (struct по вашему) из двух интов, либо просто массив из 8 байт.
если остановишься на структуре, то используй названия полей какие нибудь по сложнее. у меня например в дельфи Lo - это функция, возвращаются младший байт word. например чонить типа guid_lo и guid_hi.

только гуиды бывают разные. есть еще packed guid, не забывай.

Последний раз редактировалось RomanRom2; 13.05.2011 в 15:47.
RomanRom2 вне форума   Ответить с цитированием
Старый 13.05.2011, 15:48   #52
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
либо возвращать record (struct по вашему) из двух интов, либо просто массив из 8 байт.
в луа нет понятия struct, есть таблицы

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
только гуиды бывают разные. есть еще packed guid, не забывай.
какая разница, возвращается то уже нормальный 8-байтовый гуид
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 15:48   #53
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Близы в виде HEX строки у себя в lua гуиды передают
В lua еще какое-то "userdata" есть, хз что это
Код:
    enum LuaType : int
    {
        None = -1,
        Nil = 0,
        Boolean = 1,
        LightUserdata = 2,
        Number = 3,
        String = 4,
        Table = 5,
        Function = 6,
        Userdata = 7,
        Thread = 8,
        Proto = 9,
        Upval = 10
    }

Последний раз редактировалось TOM_RUS; 13.05.2011 в 15:55.
TOM_RUS вне форума   Ответить с цитированием
Старый 13.05.2011, 15:52   #54
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Да я уже смотрел userdata, в скрипт луа из основной программы он передается как void*, то есть указатель на любую хрень
Но в луа с userdata ничего нельзя сделать :-(

вариант со строкой тоже ничего, но мне кажется это будет неудобно обрабатывать гуид в таком виде

хотя ... с гуидом что нужно делать ? сравнить с другим ? вариант со строкой тут отлично прокатывает.
что еще ?

Последний раз редактировалось Йоха; 13.05.2011 в 15:56.
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 16:07   #55
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

во вьювере что вообще нужно делать?
распечатывать. дампить в текстовый файл.
сравнивать что то - я не знаю зачем.

вы б на самом деле хоть описали бы задачу, которую будет решать вьювер. high level design. а то придумываете (и проблемы в том числе ) на ходу.

Цитата:
Сообщение от Йоха Посмотреть сообщение
в луа нет понятия struct, есть таблицы
ну тоже пойдет, какая разница.

Цитата:
Сообщение от Йоха Посмотреть сообщение
какая разница, возвращается то уже нормальный 8-байтовый гуид
откуда возвращается? луа код типа будет распаковывать pguid в 8ми байтный и передавать его в основную программу? тогда ок.

Последний раз редактировалось RomanRom2; 13.05.2011 в 16:09.
RomanRom2 вне форума   Ответить с цитированием
Старый 13.05.2011, 16:42   #56
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
откуда возвращается? луа код типа будет распаковывать pguid в 8ми байтный и передавать его в основную программу? тогда ок.
наоборот, луа скрипт вызывает packet.readpacketguid(), эта функция реализована на cpp, она распаковывает packed guid в обычный 8-байтовый гуид и возвращает его.

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
вы б на самом деле хоть описали бы задачу, которую будет решать вьювер. high level design. а то придумываете (и проблемы в том числе ) на ходу.
Рома почитай описание программы, вроде я расписал все. Основная прога показывает просто список пакетов в виде таблицы, а парсинг пакетов осуществляет внешний луа скрипт, и весь этот огород городится для того что бы из луа можно было вызывать функции для чтения данных пакета

Последний раз редактировалось Йоха; 13.05.2011 в 16:47.
Йоха вне форума   Ответить с цитированием
Старый 13.05.2011, 17:39   #57
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

аа, ну ок ты обновил первый пост, я просто помню что в самом начале этой инфы не было и я не запомнил соответственно что было описание там и пр. гуд гуд
RomanRom2 вне форума   Ответить с цитированием
Старый 14.05.2011, 08:44   #58
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Исправлены функции readguid() и readpackedguid(), теперь они возвращают гуид в виде hex строки.

Последний раз редактировалось Йоха; 15.05.2011 в 19:21.
Йоха вне форума   Ответить с цитированием
Старый 15.05.2011, 17:40   #59
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Добавлено нормальное окно для hex дампа и для вывода данных из lua скрипта. Надо немного допилить вывод шестнадцатеричных данных и реализовать поддержку скролинга.
Обновил собраный exe в шапке, исходнике на гитхабе еще нет, это на работу завтра прийду и обновлю.

Скажите кто-нибудь вообще пробовал использовать эту программу ? хотя бы для каких-нибудь не сложных опкодов написали парсер на lua ? А то топик выглядит как мой личный блог.

Есть смысл продолжать ? или это все неудобно и никому не нужно ? Мне самому эта програмка нафиг не нужна

Последний раз редактировалось NeatElves; 15.05.2011 в 18:09.
Йоха вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
ANTOMA (30.05.2011)
Старый 15.05.2011, 18:07   #60
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
Скажите кто-нибудь вообще пробовал использовать эту программу ? хотя бы для каких-нибудь не сложных опкодов написали парсер на lua ? А то топик выглядит как мой личный блог.

Есть смысл продолжать ? или это все неудобно и никому не нужно ? Мне самому эта програмка нафиг не нужна
Я парсеры на lua не писал, но программку скачивал и запускал, даже исходники с гитхаба качал и приводил в общий вид солюшен (пути инклюдов, директорий, т.п.)
LordJZ вне форума   Ответить с цитированием
Старый 15.05.2011, 18:32   #61
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Цитата:
Есть смысл продолжать ? или это все неудобно и никому не нужно ? Мне самому эта програмка нафиг не нужна
А как же самообучение и развитие? Я так тоже часто думаю, когда дописываю в свой вайвер что нибудь и думаю, а нафиг оно кому нибудь надо кроме меня
Lordronn вне форума   Ответить с цитированием
Старый 15.05.2011, 18:53   #62
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
Есть смысл продолжать ? или это все неудобно и никому не нужно ? Мне самому эта програмка нафиг не нужна
йоха, не парься, смысл есть. так всегда, когда появляется такой вроде тебя - способный что то делать собственно делающий, остальные (большинство) сидят и ждут, пока все за них сделают. это нормально. у меня в команде тоже так было

не парься, не обращай внимания, делай. мне нужна
RomanRom2 вне форума   Ответить с цитированием
Старый 15.05.2011, 18:56   #63
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

И мне) Если будет что-то интересное - реализую такое у себя.
Lordronn вне форума   Ответить с цитированием
Старый 15.05.2011, 19:19   #64
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

нет, я не против что бы все ждали готового, я собственно на это и расчитывал когда начал писать. Пусть другие пользуются, я буду доделывать нужный функционал. Просто не хочется тратить время на программу которой никто не будет пользоваться
Йоха вне форума   Ответить с цитированием
Старый 15.05.2011, 19:23   #65
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
нет, я не против что бы все ждали готового, я собственно на это и расчитывал когда начал писать. Пусть другие пользуются, я буду доделывать нужный функционал. Просто не хочется тратить время на программу которой никто не будет пользоваться
если в ней будет интересный функционал, она многих заинтересует
  Ответить с цитированием
Старый 15.05.2011, 19:26   #66
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
если в ней будет интересный функционал, она многих заинтересует
какой ? опишите что было бы нужно ?
Йоха вне форума   Ответить с цитированием
Старый 15.05.2011, 19:32   #67
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

Знатоков С++ прошу сильно не пинать, но у меня есть пару вопросов:
Скачал проект, запускаю, пытаюсь скомпилировать, в итоге получаю ошибки:


и вот таких кучу:


может чего-то не хватает? надо какие-то дополнительные компоненты?
__________________
Konctantin вне форума   Ответить с цитированием
Старый 15.05.2011, 19:33   #68
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
какой ? опишите что было бы нужно ?
сохранение в pkt3, форматов более ранних версий
создание описания для снифов (территории, квесты, итемы )
пакетная обработка снифов ( переименование, описание, поиск и т.п.)
да и юзерфрендли интерфейс тоже бы не помешал
  Ответить с цитированием
Старый 15.05.2011, 19:42   #69
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Konctantin, мне кажется, что не хватает WTL.
http://wtl.sourceforge.net/
zergtmn вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Konctantin (15.05.2011)
Старый 15.05.2011, 19:43   #70
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

Цитата:
создание описания для снифов (территории, квесты, итемы )
пакетная обработка снифов ( переименование, описание, поиск и т.п.)
Этим уже должна заниматься другая программка, что-то на подобии PKT Browser.
Ну или воротить комплекс для этого дела...
__________________
Konctantin вне форума   Ответить с цитированием
Старый 15.05.2011, 19:46   #71
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

1. форматов более ранних версий поддерживать не нужно. 1.0, 2.0, 2.1 и 2.2 считайте что более не существуют, всеобщий переход на 3.0. у себя я тоже все конвертнул. все утилиты переводятся на работу с 3.0.

2. описание для снифов - полезно. его можно сохранять в optData

3. переименование не нужно. это же не редактор. какой смысл редактировать сниф? его нельзя редактировать. вот поиск по критериям - весьма полезная функциональность.

4. еще полезно сохранение выделенных пакетов в один снифф.

5. в моем вьювере есть похожая функциональность: фильтр - оставляется видимыми только отфильтрованные пакеты. на самом деле просто перечитывается снифф с условиями. тоже надо.

пока всё.
RomanRom2 вне форума   Ответить с цитированием
Старый 15.05.2011, 19:52   #72
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

Я фильтр тоже делал (по опкоду и по содержимому пакета)
__________________
Konctantin вне форума   Ответить с цитированием
Старый 15.05.2011, 19:52   #73
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

Цитата:
Сообщение от Konctantin Посмотреть сообщение
Этим уже должна заниматься другая программка, что-то на подобии PKT Browser.
Ну или воротить комплекс для этого дела...
нет нет, не надо схожих по функциональности программ. не нужно РЕДАКТИРОВАТЬ снифы. МОЖНО редактировать ОПИСАНИЯ.

если наступит момент, когда понадобится действительно что то изменять в снифах, допишем эту функциональность и переименуем в какой нибудь... ну не знаю... PKT Studio... не нужно плодить лишних утилит.
RomanRom2 вне форума   Ответить с цитированием
Старый 15.05.2011, 19:54   #74
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

с WTL разобрался, осталось найти инклюды для lua.
Йоха, не могли бы вы приложить ссылки на внешние компоненты...
__________________
Konctantin вне форума   Ответить с цитированием
Старый 15.05.2011, 20:01   #75
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

Цитата:
создание описания для снифов (территории, квесты, итемы )
я написал для этого тулзу, которая хранит описание сниффов в формате XML, как бы отдельной базе:
Код:
<?xml version="1.0"?>
<PacketList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Packet>
    <FileName>ruRU_13329_2011-01-10_12-57-49-6480.pkt</FileName>
    <Build>13329</Build>
    <Locales>ruRU</Locales>
    <Description>test</Description>
    <Maps>
      <unsignedInt>1</unsignedInt>
      <unsignedInt>0</unsignedInt>
    </Maps>
    <Quests>
      <unsignedInt>25584</unsignedInt>
    </Quests>
  </Packet>
</PacketList>
ЗЫ. Все застыло из-за того, что я не смог заставить WebBrouser работать с js в оффлайн режиме (в нем я хотел отображать описание сниффа, при этом получая данные с вовхеда)
__________________

Последний раз редактировалось Konctantin; 15.05.2011 в 20:04.
Konctantin вне форума   Ответить с цитированием
Старый 15.05.2011, 21:07   #76
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

советую добавить все дело на панель со вкладками, для возможности переключения между снифами
  Ответить с цитированием
Старый 15.05.2011, 22:21   #77
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Konctantin Посмотреть сообщение
с WTL разобрался, осталось найти инклюды для lua.
Йоха, не могли бы вы приложить ссылки на внешние компоненты...
нужны ссылки или недостающие файлы? в первом посте в аттаче есть и WTL и Lua (хидеры и либы) и zlib (хидер и либа)
А если ссылки то www.lua.org, www.zlib.org, wtl
Йоха вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Konctantin (16.05.2011)
Старый 16.05.2011, 11:18   #78
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Нашел наконец-то WTL app wizard для VisualStudio 2010, а так же оказалось что существует версия wtl 8.1. В связи с этим делается некоторая переработка проекта, как закончу выложу.
Йоха вне форума   Ответить с цитированием
Старый 16.05.2011, 14:08   #79
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

в продолжение списка функциональностей (feature spec):

6. поскольку снифы могут быть от разных билдов, соответственно парсеры опкодов (например респонсов) так же могут быть разные. нужно что бы загружались соответствующие выбранному билду парсеры.

как одно из решений:
в корне программы находятся каталоги по номеру билда (10314, 12340, ...), в которых лежат соответствующие lua-парсеры. при загрузке снифа мы знаем какой билд и грузим нужные парсеры из соответствующего каталога.

ЗЫ. йоха, добавь в проект на гит все необходимые библиотеки в какой нибудь глобальный libs и настрой проект что бы он юзал эти библиотеки. проект должен собираться без каких либо танцов с бубнами.
RomanRom2 вне форума   Ответить с цитированием
Старый 16.05.2011, 14:15   #80
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
Проект на гитхабе:
https://github.com/Johnson7/pkt30view

Для этого необходимо создать в папке где находится екзешник - папку с номером билда wow от которого сделан сниф
Внутри папки создать 2 файла: opcodes.txt и parsers.lua
плохо видно
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBC Viewer TOM_RUS Tools 10 05.08.2011 11:11
C#, DBC Viewer и компания LordJZ Флудильня 13 02.11.2010 11:44


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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot