Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Дневники и блоги —› [BLOG] Error13Tracer |
Посл.ответ | Сообщение |
|
Создано: 26 сентября 2013 04:00 · Поправил: Error13Tracer · Личное сообщение · #1 Создам, пожалуй, бложег, дабы не захламлять весь форум. Первым делом выложу Highlight. Всем известно, что IDR мощное орудие в умелых руках, но ему очень уж не хватает подсветки синтаксиса; данная DLL способна "скрасить" наши будни Юзать сорцы как кому угодно, ограничений нет Все багрепорты желательно сюда слать. PS: Про баг с ChangeLanguage мне известно, как будет время - исправлю. Баг из-за того, что прога не может изначально угадать, код на каком языке ей сунули, и, следовательно, порой виснет... Пара скринов 9f9a_28.09.2013_EXELAB.rU.tgz - Highlight-v1.0.7z | Сообщение посчитали полезным: hors, SReg, Gideon Vi |
|
Создано: 26 сентября 2013 15:32 · Личное сообщение · #2 |
|
Создано: 27 сентября 2013 13:08 · Поправил: Isaev · Личное сообщение · #3 Error13Tracer, я не тестил на скорость, но плюсовать строки по 1 символу это жесть при большом объёме информации... Delphi с длинными строками работает как с динамическими массивами и от этого могут быть потери скорости. В частности, в случае OutStr := OutStr + ItemText[i], каждый раз будет вызываться менеджер памяти, который будет выделять память под более длинную строку. Ещё в циклах стараться уходить от неявных вызовов UniqueString. И вообще по строкам лучше через указатели PChar лазить, будет ещё быстрее. И если заменить стандартные менеджер памяти станет вообще шустро. Думаю раз в 20 будет быстрее, как минимум при нормальной оптимизации ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 28 сентября 2013 00:42 · Личное сообщение · #4 Isaev, соглашусь с вами, что есть более элегантные решения, но пока со временем не очень, да и современное железо вполне позволяет работать и данным способом. Прошу заметить, что это первая версия, в дальнейшем многое исправится Hellspawn, автор заинтересовался (см. топик о IDR), и , думаю, всё-же будет поставляться с IDR в дальнейшем. |
|
Создано: 29 сентября 2013 04:28 · Личное сообщение · #5 |
|
Создано: 29 сентября 2013 04:53 · Личное сообщение · #6 |
|
Создано: 19 октября 2013 16:46 · Личное сообщение · #7 |
|
Создано: 21 октября 2013 00:14 · Личное сообщение · #8 Error13Tracer пишет: Отойдём от темы, кому-нибудь удалось скомпилить ODBGscript под вторую олю? Там такой лютый говнокод, что проще и лучше написать с нуля или прикрутить готовый энджин, мне например ChaiScript нравится для таких вещей, лаконичен и прост ( если просто автоматизация, а не писать плагины по сложности соизмеримые с программой для которой пишется скрипт, иначе python ). |
|
Создано: 22 октября 2013 15:31 · Личное сообщение · #9 Обновление в репозитории. Версия Прикрутил редактор настроек/тем, ещё по мелочи исправил. Продублировано в аттаче b0ca_22.10.2013_EXELAB.rU.tgz - Highlight-v1.1.0.7z |
|
Создано: 23 октября 2013 02:57 · Личное сообщение · #10 Error13Tracer пишет: Прикрутил редактор настроек/тем Не могли бы добавить такую тему Очень хорошая тема. |
|
Создано: 23 октября 2013 15:28 · Поправил: Error13Tracer · Личное сообщение · #11 F_a_u_s_t, до этого не сталкивался с данным редактором, посмотрю, что можно сделать для подгона его тем, сам привык к Notepad++ F_a_u_s_t, мои шаблоны на основе Notepad++ не подойдут для реализации подсветки Vim? Если подойдут, то если можете, то набросайте шаблон, включу обязательно Если не подойдёт, то, в принципе, на Delphi, в отличие от C++, особых проблем не составит (кроме времени) переписать подсветку под Vim тупо перераспарсить.... |
|
Создано: 23 октября 2013 16:09 · Личное сообщение · #12 |
|
Создано: 23 октября 2013 16:39 · Личное сообщение · #13 Это уже Пересмотр всего написанного, но если оно того стоит, то сделаю, только не особо скоро, со временем траблы, да и адаптация кода займёт время.... Так что, если заниматься темами, далёкими от стандартных, это займёт время, nо для меня выполнимо В принципе, если у вас есть время, то можете воспользоваться и моими сорсами, если пригодятся, в ближайшее время, к сожалению, не имею времени на творчество, только на багфиксы и изредка на апдейты, дальше видно будет Все мы люди и у каждого из нас своя жизнь помимо реверсинга |
|
Создано: 23 октября 2013 16:55 · Поправил: F_a_u_s_t · Личное сообщение · #14 Error13Tracer пишет: но если оно того стоит, то сделаю Те кто привык сидеть за темной темой, за белой уже становится проблематично. Вот вариант monokai для notepad++ Ок, запилю темную тему, а так то лучше сделать парсер для какого нибудь популярного блокнота, проще конвертить чем делать с нуля. |
|
Создано: 23 октября 2013 21:34 · Личное сообщение · #15 |
|
Создано: 12 января 2014 05:39 · Личное сообщение · #16 Мужики(а может и девушки) извиняйте, меня долго не было, проблемы с ментами были не по теме реверсинга, а из-за одной девки... Сейчас всё решено) Встаю в строй снова) | Сообщение посчитали полезным: Hellspawn |
|
Создано: 16 января 2014 19:08 · Личное сообщение · #17 |
|
Создано: 10 апреля 2014 17:53 · Поправил: Error13Tracer · Личное сообщение · #18 |
|
Создано: 18 января 2015 23:17 · Поправил: Error13Tracer · Личное сообщение · #19 Какой символ в начале строки не будет мешать работе IDR и,в то же время, будет индикатором для подсветки синтаксиса? PS: crypto не добавляет подсветку синтаксиса асма из-за невозможности замены нужных строк более светлым цветом. Выдвигайте свои предложения. Главное чтобы они не вели к осложнениям работы IDR. Сейчас склоняюсь к точке(которая видна не будет с плагином) в начале строки, а лишь индикатор осветлённости. Выскажите свои мнения по этому поводу, выберу что-то более-менее подходящее и реализую это. |
|
Создано: 20 января 2015 08:18 · Личное сообщение · #20 |
|
Создано: 21 января 2015 09:18 · Поправил: _FUCKER_ · Личное сообщение · #21 crypto, так уже проще. Объясни как различить, осветлять строку или нет? Нужно чтобы какой-то индикатор был, лучше первый символ строки. Реализация такова например: Если строку нужно осветлить, то в начале строки первым символом ставим какой-то определённый, заранее обговорённый. Только именно этот символ должен быть вставлен именно когда DLL с подсветкой обнаружена. Эту проверку можно убрать, если DLL включить в комплект поставки IDR. Тут уже решать тебе. Как удобней, так и сделай. Кусок кода для осветления я допишу, только конфиг будет различаться, тк нужен будет процент осветления. С твоей стороны нужен будет кусок кода с проверкой есть ли загруженная DLL в IDR (чтобы правильно отображалось) и если есть, то добавлялся определённый символ в начало строки. Либо предложи вариант, который для тебя удобнее будет, я реализую. Подсветка делфей есть, удобно исходники смотреть, но вот подсветки асма очень не хватает... ЗЫ: не всегда есть доступ к основному аккаунту, поэтому чаще пишу с этого. Это тоже мой. |
|
Создано: 21 января 2015 10:08 · Личное сообщение · #22 |
|
Создано: 10 февраля 2015 02:32 · Личное сообщение · #23 Хм, вот с этого и нужно было начинать Сделаю, как только выдастся время. Только учитывай, что для разных тем фон лучше разным делать(На некоторых темах смотреться не будет). А так идея хорошая. Не создаст сложностей ни тебе не мне. Как только протестирую на заготовках и уберу баги, то отпишусь. На теме с Notepad++ основной подбери цвет, думаю, многим будет по нраву. Есть исключения - Faust тёмную хочет. На первое время сойдёт вариант с фиксированным цветом, но для полного удовлетворения желаний всех хотелось-бы иметь выбор цвета Редактор тем есть в последней опубликованной версии(есть на гитхабе) подсветки. Небольшими усилиями туда могу добавить и цвет для осветления(фона нужных строк). Главное иметь флаг что строка должна быть осветлена. А так давай попробуем. Как будет достаточно времени, то допишу нужный функционал и оповещу. |
|
Создано: 03 марта 2015 12:53 · Поправил: Error13Tracer · Личное сообщение · #24 Нашлось время. Исправил и добавил функционал Version 1.2.0 В функцию HighlightDrawItem добавлен параметр для осветления (Lighten). Исправлен баг в редакторе подсветки. Подправлено редактирование. Теперь для редактирования шрифта нужно нажать левой кнопкой, для расширенного выбора цвета шрифта - левая кнопка + Ctrl, цвет фона - правая кнопка. Добавлен загрузчик для редактора. Прочие изменения. crypto, реализована необходимая функция. Особых изменений не требуется. Только в HighlightDrawItem добавить ещё один параметр - Lighten. Если нужно осветлять строку, то True, если нет, то False. По умолчанию задан цвет 0xBBBBBB (отскринил и скомуниздил цвет осветления по умолчанию в IDR). Если в какой-то теме не будет подходить, то в редакторе добавлено изменение параметров осветления (шрифт, его цвет и цвет фона). Серым цветом на скрине по ссылке какраз осветлённые (генерируются случайным образом для наглядности, а так всё учитывается). Для всех: исходники так-же юзаем кто как хочет, в типе лицензий не шарю, но вроде что-то типа MIT. Короче кому надо, то нагло тырим под свои нужды, перекомпилируем и всё прочее. Делается для удобства использования, поэтому считаю, что каждый в праве подправить под себя любимого Если есть вопросы по поводу правки, то можно их задать тут или в ПМ | Сообщение посчитали полезным: SReg, crypto |
|
Создано: 02 апреля 2015 10:50 · Поправил: crypto · Личное сообщение · #25 Error13Tracer Пробую подключить новую библиотеку. Сразу вопрос: в предыдущем релизе освобождение ресурсов выглядело так: if (DeleteHighlight) { DeleteHighlight(AsmLbId); DeleteHighlight(DelphiLbId); } FreeHighlight(); Сейчас (в демо) идет просто вызов FreeHighlight(); в котором закрывается библиотека. Что-то тут не стыкуется... Еще вопрос: как для заданной темы определить цвет фона (а то при выборе "цветастых тем" часть пустого экрана остается белой. К большому моему сожалению пропадут окрашенные адреса, на которые есть переходы. А как передавать информацию о подсветке, тоже вопрос. Есть одна идея, я ее буду думать. Попробовал подключить Settings. При изменении чего-либо кнопка Apply не активируется, а если нажать Ок, то ничего не меняется. Наверное нужен какой-то Refresh? Флажок Use Highlight по-моему вообще не нужен, потому что при его отключении все контролы формы пропадают, что выглядит не кошерно. При попытке его выключить, а потом снова включить, начинает постоянно вылезать сообщение, что что-то изменилось, не хотите ли сохраниться? Это при выключенном флажке Autosave. В общем, эта часть пока сыровата, хотя очень даже интересна. В целом все очень неплохо, но имплементировать будет на мой взгляд не совсем просто (двумя if не обойдешься . А вообще было бы удобнее, если бы вместо параметра Lighten передавались бы два параметра: BackgroundColor и FontColor, тогда можно было бы создавать окрашенные области под разные нужды, но я об этом уже когда-то говорил. |
|
Создано: 18 июня 2015 12:29 · Личное сообщение · #26 |
|
Создано: 08 апреля 2018 04:57 · Личное сообщение · #27 |
eXeL@B —› Дневники и блоги —› [BLOG] Error13Tracer |