Исходники здесь
Вот такие скомпилированные версии есть у меня.
Ниже данные устарели.
Репозиторий находится тут (открывать через SVN клиент)
Удобный просмотр репозитория через браузер тут
Скомпилированные версии тут Пароль к архиву: coderx.ru
Есть ли предложения по модернизации существующего кода с описанием как должно и что хотелось бы заменить/добавить?
Дополнительные компоненты брать тут. (<-- TPerlRegEx есть только там)
/upd:
для компиляции последних ревизий понадобятся JCL, JVCL (ссылки выше) а так же:
jwapi2.2a, SyntEdit, TRichView.v11.0+ScaleRichView.v2.0, TsiLang (letitbit / upload.com.ua)
Немного подправленный FastScript искать в файловом архиве.
Последний раз редактировалось NLObP, 17.10.2016 в 00:02.
Пришлось на днях воспользоваться программой... испытал ряд неудобств.
Буквально несколько замечаний:
1. Почему такой странный формат логов? Сделал экспорт логов из своей программы, чтобы изучить их в l2ph (мельком глянул в код, чтобы посмотреть формат). Потом долго думал, почему они не открываются. Оказалось, что пакеты должны быть в текстовом виде, а не бинарном. Довольно странное решение. Вообще крайне неудобно, что у каждой программы свой формат.
2. Переключался между пакетами стрелками на клавиатуре (смотрел очередной, переходил к следующему). Постоянно сбивался фокус. Оказалось, что нельзя наводить курсор на правую часть окна (где пакет с расшифровкой). Раздражало =)
3. Нельзя удалить выборочно пакет с клавиатуры (приходится каждый раз искать значок). А так привычно использовать клавишу Delete. Плюс при удалении каждый раз происходит "перестроение списка" (на моем стареньком ноуте на логе из 300 пакетов занимает около секунды), а потом список сбивается (приходится проматывать до нужного места и искать пакет следующий за удаленным). Ведь не сложно сохранять позицию и восстанавливать её. И наверняка можно быстро удалить одну строку (один пакет) без полного перестроения списка.
4. Бывает нужно скрыть все типы пакетов кроме определенного. По привычке вызвал контекстное меню и пытался найти "показать пакеты только этого типа" (не нашел =). А через "фильтр" это сделать не так просто (открыть окно, нажать "выделить все", потом "инвертировать", найти нужный тип, поставить галку и "применить").
5. Очень не хватает в "фильтре" сортировки по типу (приходится искать глазами нужную строку в довольно большом списке). Привычный щелчок по имени колонке в заголовке таблицы ни к чему не приводит. Довольно странно, что есть "выделить все", но нет "снять выделение со всего". Мини глюк - кнопка "фильтр" на панели почему-то переключает свое состояние (вдавливается и выдавливается), хотя в любом случае она просто открывает окно.
Функционал функционал, но про юзабилити тоже не стоит забывать =)
1. Почему такой странный формат логов? Сделал экспорт логов из своей программы, чтобы изучить их в l2ph (мельком глянул в код, чтобы посмотреть формат). Потом долго думал, почему они не открываются. Оказалось, что пакеты должны быть в текстовом виде, а не бинарном. Довольно странное решение. Вообще крайне неудобно, что у каждой программы свой формат.
ну исторически такой формат сложился, когда то очень давно мне было лень (да и с классами я тогда плохо разбирался) чтот придумывать нормальное, вот и писался лог в TStringList, а туда бинарные строки не зафигачишь, вот и переводил а хекс...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Я тут сделал дополнительный фильтр пакетов на основе регулярных выражений, то есть в списке пакетов при фильтрации остаются только пакеты в которых есть строка соответствующая регулярному выражению, анализируемая строка это HEX пакета без пробелов.
Возник такой вопрос: стоит ли оставлять в анализируемом хексе два байта размера пакета? Если оставить то можно фильтровать в том числе и по размеру, но по идее фильтрование по размеру не особо нужно и это сделает немного неудобным фильтрование по ID пакета что безусловно более необходимо.
Чтобы было что с чем сравнивать вот например как будет выглядеть фильтр для нахождения пакетов Say (id=4A) со словом xkor.
Если без байт размера:
^4a.*78006B006F007200
С байтами размера:
^....4a.*78006B006F007200
Разница всего в 4 точки соответствующие 4м любым символам в качестве хекса от байт размера.
__________________
Я здесь практически не появляюсь!, Skype - ikskor
не нужно. если будет происходить поиск по чему-то то скорей всего это обжектайди или еще чтото что уже в теле пакета.
а айди можно фильтровать так как делается сейчас.
Добавлено через 9 минут xkor, это, если уж ковыряешь там... зделай пожалуйста галочку в настройках "не добавлять в лог отфильтрованные пакеты"
ибо довольно часто надо получить довольно большой лог одного-двух типов пакетов за длительный промежуток времени. а у нас они все идут в лог, независимо отфильтрованые они либо нет, как следствие из за неотображаемых пакетов длинна лога превышает максимально заданную и происходит его автоочистка с потерей нужных фрагментов.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 12.12.2009 в 19:57.
Причина: Добавлено сообщение
да только вот глючит это как сейчас сильно с неизвестными пакетами а у меня в айоне таковых большинство...
ЗЫ тогда заливаю ревизию...
Добавлено через 1 минуту
Цитата:
Сообщение от alexteam
xkor, это, если уж ковыряешь там... зделай пожалуйста галочку в настройках "не добавлять в лог отфильтрованные пакеты"
ибо довольно часто надо получить довольно большой лог одного-двух пакетов за длительный промежуток времени. а у нас они все идут в лог, независимо отфильтрованые они либо нет, как следствие из за неотображаемых пакетов длинна лога превышает максимально заданную и происходит его автоочистка с потерей нужных фрагментов.
мм попробую найти где ты там фильтрацию при получении пакетов сделал)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Последний раз редактировалось xkor, 12.12.2009 в 19:54.
Причина: Добавлено сообщение
processpacketfromacum есть такая функция в ней идет добавление в dump
а вот проверка показывать ли пакет уже идет после добавление в самом конце ф-иprocesspacket. смотри флаг isshown.. можно сделать конечно так
if not isshow and ournewoption then
dump.delete(dump.count-1);
но по хорошему нужно поменять местами обработку и добавление и сделать processpacket функцией булевого типа
Добавлено через 16 секунд
млять... я шо это напамять помню ? %)))
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 12.12.2009 в 20:07.
Причина: Добавлено сообщение