luabind на бусте сделан ? ну его в нафиг тогда
|
Да на boost )) Но там используются только хедеры из него. Тоесть сам boost компилить ненужно для использования luabind
|
- Переписаны все вызовы луа без сторонних средств, удалены из проекта файлы luawraper.h luawraper.cpp за ненадобностью
- Добавлена команда "перегрузить опкоды и lua" - которая позволяет обновить оподы и луа функцию без перезагрузки программы и без повторного открытия файла. То есть можно что-то изменить в файлах opcodes.txt или parsers.lua и нажать кнопку "обновить", изменения сразу будут видны. - в библиотеку packet добавлен вызов функции readstring() функцию можно вызывать без параметров, тогда читается строка до первого нулевого символа или конца пакета. так же можно вызывать readstring(n), тогда функция вернет строку длиной n. |
в библиотеку packet добавлены функции readguid, readpackedguid, readfloat, decompress
сейчас займусь выводом в окно hex view и нормальным окном для parsed packet. К модераторам: может закрепить топик ? ------------ Закрепил. YuruY |
выплыл такой нюанс, в луа все числа представлены в формате double, который имеет 11 бит на порядок и 53 на мантиссу (всего 64 бита)
Мне кажется при чтении GUIDa будет потеря данных, в каком тогда виде лучше возвращать GUID ? |
Цитата:
|
гуид то конечно 8 байт, просто по моему будет ересь если сделать так:
Код:
__int64 a = 10000000000; Код:
__int64 a = 10000000000; |
Цитата:
Код:
__int64 a = 10000000000; Или так: Код:
union Foo |
да по сути это одно и то же - побитовое копирование
просто если сделать такой тест: Код:
__int64 a = 10000000000; Код:
10000000000 |
Теоретически придумал решение: возвращать гуид в виде таблицы, типа :
Код:
-- код на луа |
либо возвращать record (struct по вашему) из двух интов, либо просто массив из 8 байт.
если остановишься на структуре, то используй названия полей какие нибудь по сложнее. у меня например в дельфи Lo - это функция, возвращаются младший байт word. например чонить типа guid_lo и guid_hi. только гуиды бывают разные. есть еще packed guid, не забывай. |
Цитата:
Цитата:
|
Близы в виде HEX строки у себя в lua гуиды передают :)
В lua еще какое-то "userdata" есть, хз что это :) Код:
enum LuaType : int |
Да я уже смотрел userdata, в скрипт луа из основной программы он передается как void*, то есть указатель на любую хрень
Но в луа с userdata ничего нельзя сделать :-( вариант со строкой тоже ничего, но мне кажется это будет неудобно обрабатывать гуид в таком виде хотя ... с гуидом что нужно делать ? сравнить с другим ? вариант со строкой тут отлично прокатывает. что еще ? |
во вьювере что вообще нужно делать? =)
распечатывать. дампить в текстовый файл. сравнивать что то - я не знаю зачем. вы б на самом деле хоть описали бы задачу, которую будет решать вьювер. high level design. а то придумываете (и проблемы в том числе =)) на ходу. Цитата:
Цитата:
|
Цитата:
Цитата:
|
аа, ну ок =) ты обновил первый пост, я просто помню что в самом начале этой инфы не было и я не запомнил соответственно что было описание там и пр. гуд гуд =)
|
Исправлены функции readguid() и readpackedguid(), теперь они возвращают гуид в виде hex строки.
|
Добавлено нормальное окно для hex дампа и для вывода данных из lua скрипта. Надо немного допилить вывод шестнадцатеричных данных и реализовать поддержку скролинга.
Обновил собраный exe в шапке, исходнике на гитхабе еще нет, это на работу завтра прийду и обновлю. Скажите кто-нибудь вообще пробовал использовать эту программу ? хотя бы для каких-нибудь не сложных опкодов написали парсер на lua ? А то топик выглядит как мой личный блог. Есть смысл продолжать ? или это все неудобно и никому не нужно ? Мне самому эта програмка нафиг не нужна |
Цитата:
|
Цитата:
|
Цитата:
не парься, не обращай внимания, делай. мне нужна =) |
И мне) Если будет что-то интересное - реализую такое у себя.
|
нет, я не против что бы все ждали готового, я собственно на это и расчитывал когда начал писать. Пусть другие пользуются, я буду доделывать нужный функционал. Просто не хочется тратить время на программу которой никто не будет пользоваться
|
Цитата:
|
Цитата:
|
|
Цитата:
создание описания для снифов (территории, квесты, итемы ) пакетная обработка снифов ( переименование, описание, поиск и т.п.) да и юзерфрендли интерфейс тоже бы не помешал =))) |
Konctantin, мне кажется, что не хватает WTL.
http://wtl.sourceforge.net/ |
Цитата:
Ну или воротить комплекс для этого дела... |
1. форматов более ранних версий поддерживать не нужно. 1.0, 2.0, 2.1 и 2.2 считайте что более не существуют, всеобщий переход на 3.0. у себя я тоже все конвертнул. все утилиты переводятся на работу с 3.0.
2. описание для снифов - полезно. его можно сохранять в optData 3. переименование не нужно. это же не редактор. какой смысл редактировать сниф? его нельзя редактировать. вот поиск по критериям - весьма полезная функциональность. 4. еще полезно сохранение выделенных пакетов в один снифф. 5. в моем вьювере есть похожая функциональность: фильтр - оставляется видимыми только отфильтрованные пакеты. на самом деле просто перечитывается снифф с условиями. тоже надо. пока всё. |
Я фильтр тоже делал (по опкоду и по содержимому пакета)
|
Цитата:
если наступит момент, когда понадобится действительно что то изменять в снифах, допишем эту функциональность и переименуем в какой нибудь... ну не знаю... PKT Studio... не нужно плодить лишних утилит. |
с WTL разобрался, осталось найти инклюды для lua.
Йоха, не могли бы вы приложить ссылки на внешние компоненты... |
Цитата:
Код:
<?xml version="1.0"?> |
советую добавить все дело на панель со вкладками, для возможности переключения между снифами
|
Цитата:
А если ссылки то www.lua.org, www.zlib.org, wtl |
Нашел наконец-то WTL app wizard для VisualStudio 2010, а так же оказалось что существует версия wtl 8.1. В связи с этим делается некоторая переработка проекта, как закончу выложу.
|
в продолжение списка функциональностей (feature spec):
6. поскольку снифы могут быть от разных билдов, соответственно парсеры опкодов (например респонсов) так же могут быть разные. нужно что бы загружались соответствующие выбранному билду парсеры. как одно из решений: в корне программы находятся каталоги по номеру билда (10314, 12340, ...), в которых лежат соответствующие lua-парсеры. при загрузке снифа мы знаем какой билд и грузим нужные парсеры из соответствующего каталога. ЗЫ. йоха, добавь в проект на гит все необходимые библиотеки в какой нибудь глобальный libs и настрой проект что бы он юзал эти библиотеки. проект должен собираться без каких либо танцов с бубнами. |
Цитата:
=))) |
Текущее время: 04:13. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS