| Сейчас на форуме: (+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 |
|
|
Создано: 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 |
|
|
Создано: 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 |










А с ментами проблемы из-за того, что этой твари меньше, чем сказала.... гораздо меньше...

Для печати