В общем ясно, это надо допилить по ходу дела. Сейчас допишу элементарное взаимодействие со скриптами.
В целом архитектура вырисовывается такая, для работы программы требуются 2 файла:
opcodes.txt
parsers.lua
оба файла загружаются из папки соответсвующей номеру билда снифа (берется из заголовка pkt файла)
формат opcodes.txt:
Код:
опкод, текстовое_представление_опкода, имя_функции_для_парсинга
опкод может быть как в десятичной системе, так и в шестьнадцатеричной. Для последней число должно начинаться с "0x"
например:
Код:
0x8581, CMSG_WORLD_TELEPORT, cmsg_world_teleport
для этого примера файл parsers.lua должен содержать функцию cmsg_world_teleport
Код:
function cmsg_world_teleport()
// тут написать собственно сам парсер пакета
end
внутри lua функции доступен объект "packet" который используется для чтения данных из пакета, например:
Код:
function cmsg_world_teleport()
packet.Read8()
packet.Read32()
end
ну и конечно какой-нибудь объект для вывода отпарсеной информации в окно программы, название пока не придумал