Сейчас на форуме: Magister Yoda, site-pro, Rio (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› проект по написанию отладчика |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
Посл.ответ | Сообщение |
|
Создано: 24 ноября 2006 08:47 · Поправил: Модератор · Личное сообщение · #1 Наверное все вы хотели бы иметь отладчик максимально приспособленый для борьбы с антиотладкой, а также умеющий отлаживать драйвера (включая ring0 защиты), и имеющий при этом удобный GUI интерфейс. К сожалению, сейчас достойных отладчиков практически нет. Из юзермодных конечно рулит оля, но по части скрытности с ней все очень плохо, баги не фиксятся, проект мертв (2я версия если и выйдет, то очень нескоро). В рядах ядерных отладчиков все еще хуже. Soft-Ice умер. windbg - гавно (хотя кому-то и нравиться, не буду спорить), Syser имеет красивый интерфейс, но весьма слаб в остальном. Ну и про отладку ring0 защит существующими отладчиками, даже говорить нечего. В связи с этим у меня давно назревает идея написания универсального и мощьного отладчика, для отладки как юзермода, так и ядра. При этом хочеться получить развивающийся и поддерживаемый проект. Сам я не имею достаточно времени для реализации этой идеи в полном обьеме, но имею все необходимые технологии для построения полностью недетектируемого отладчика (причем большинство их уже обкатано). Поэтому я предлагаю энтузиастам начать такой проект. Я со своей стороны предоставляю отладочное ядро, которое реализует весь необходимый набор функций, а вы пишете собственно сам отладчик. Есть три варианта развития проекта: 1 - Фриварная программа. Вариант этот хорош для пользователей, но я сомневаюсь, что разработка в этом случае зайдет дальше 1й версии. Такой проект неизбежно обязан быть заброшен, потому что авторам быстро это дело надоест. Сделать из проекта платную программу в этом случае будет тоже нельзя (особенно при большом количестве авторов), так как врядли все на это согласяться. 2 - Мы собираем команду, делаем программу, после чего я обеспечиваю ее раскрутку и продвижение. С доходов каждый получает свой процент. Этот вариант плох тем, что у авторов может не хватит терпения дождаться хороших доходов, и проект может быть заброшен. 3 - Я собираю команду и финансирую написание отладчика. После чего я имею полные права на код, и продаю его по своему усмотрению. Этот вариант плох тем, что трудно найти людей которые будут на таких условиях хорошо писать код. Скорее всего все захотят просто срубить бабла, напишут глючную первую версию, и исчезнут после получения оплаты, а я останусь с неподдерживаемым и кривым кодом, что тоже сулит проекту недолгую жизнь. Сам я склоняюсь к 2му варианту, но хотел бы узнать ваше мнение, а также найти желающих заняться этим делом. З.Ы. отладочное ядро для юзермодного кода я уже написал, так что приступать к написанию отладчика желающие могут хоть завтра. ----- Скажем дружно - нафиг нужно. |
|
Создано: 26 ноября 2006 10:23 · Личное сообщение · #2 |
|
Создано: 26 ноября 2006 13:18 · Личное сообщение · #3 |
|
Создано: 26 ноября 2006 17:12 · Личное сообщение · #4 |
|
Создано: 27 ноября 2006 04:45 · Личное сообщение · #5 |
|
Создано: 27 ноября 2006 06:05 · Поправил: Модератор · Личное сообщение · #6 |
|
Создано: 27 ноября 2006 06:23 · Личное сообщение · #7 |
|
Создано: 27 ноября 2006 06:27 · Поправил: alexey_k · Личное сообщение · #8 |
|
Создано: 27 ноября 2006 06:48 · Личное сообщение · #9 |
|
Создано: 27 ноября 2006 06:52 · Личное сообщение · #10 |
|
Создано: 27 ноября 2006 06:54 · Личное сообщение · #11 |
|
Создано: 27 ноября 2006 06:59 · Личное сообщение · #12 |
|
Создано: 27 ноября 2006 07:07 · Личное сообщение · #13 В общем, с мнениями все ясно. Большинство за, некоторые против, но проект потихоньку начинается. Так как вопросы с написанием, лизензией распостранения и командой разработчиков решены, предлагаю немного изменить тему топика. О чем не нужно писать: 1) Мнения о (бес)перспективности разработки (мы их уже выслушали, кому могли ответили). 2) Проситься в команду разработчиков (команда набрана). 3) Не сильно срать в топике левыми постами. Что требуется: 1) Ваше мнение о том, что должен содержать в себе отладчик. 2) Мнение об интерфейса. За отправную точку принят интерфейс оли, скажите что в нем лишнее, и чего не хватает. 3) Необходимые (и не очень) фичи, которые на ваш взгляд должны обязательно быть. 4) Требуется информация о структуре сигнатурных файлов flirt от иды. Вобщем, приветствуются любые рассуждения о внешнем виде и функциональности отладчика. ----- Скажем дружно - нафиг нужно. |
|
Создано: 27 ноября 2006 08:06 · Личное сообщение · #14 |
|
Создано: 27 ноября 2006 08:12 · Личное сообщение · #15 |
|
Создано: 27 ноября 2006 08:14 · Личное сообщение · #16 |
|
Создано: 27 ноября 2006 08:25 · Поправил: WoLFeR · Личное сообщение · #17 Уже писал разработчику оли по улучшению интерфейса. > Несколько идей по улучшению инерфейса и некоторой функциональности. > > Например добавить в окне дампа возможность создавать несколько вкладок с > содержимым памяти, так как иногда приходится сравнивать значение памяти по > разным адресам,былобы просто замечательно. Например в первой вкладке > содержимое по адресу ХХХХХХХХ в виде HexDump во вкладке 2 тотже адрес только > в виде дизасемблерного листинга. Былобы полезно для некоторых случаев > зделать опцыонально отображение в каком адресном пространстве в данный > момент находится отладка (секция .text или просто выделеная память по > адресу). В атаче в файле 1.bmp приблезительная фантазия по этому поводу > > Ещебы не помешало зделать изменяемым колличество отображаемых байт в одной > строке дампа в виде HexDump. Иногда приходится работать с табличными данными > которые содержат таблицы с 10ю полями по 4 байта, былобы удобнее если эти > поля все 40 байт можнобыло расположить в один ряд в окне дампа (как это > можна зделать в утилите WinHex). В 2.bmp приблезительное изображение. > Если вам интересные еще некоторые желательные дополнения, я с удовольствием продолжу список. b70c_27.11.2006_CRACKLAB.rU.tgz - 1.JPG |
|
Создано: 27 ноября 2006 08:25 · Личное сообщение · #18 |
|
Создано: 27 ноября 2006 08:30 · Личное сообщение · #19 Ms-Rem пишет: Мнение об интерфейсе. За отправную точку принят интерфейс оли, скажите что в нем лишнее Полностью согласен! Интерфейс оли - наилучший для дебагера. Выкинуть можно только ToolBar - лично я им никогда не пользуюсь. Ms-Rem пишет: 3) Необходимые (и не очень) фичи, которые на ваш взгляд должны обязательно быть. Встроенная возможность для переименования названия класса окна (либо рандомная генерация) против антидебага. Дампер не помешал бы (хотя б в виде плагина). P.S.: Пока более глобальные идеи в голову не прходят) |
|
Создано: 27 ноября 2006 08:33 · Поправил: Bitfry · Личное сообщение · #20 Ms-Rem пишет: За отправную точку принят интерфейс оли, скажите что в нем лишнее... Кнопки на тулбаре в таком виде, ИМХО, на фиг не нужны. Либо их делать цивильно, либо никак. ...и чего не хватает. 1. Битового представления регистров и, возможно, дампа. 2. Автоопределения системных структур в дампе и по коду (было бы круто видеть большинство структур так же, как PE-header) 3. И заодно добавить ручное определение собственных структур и просто переменных 4. Быстрое переключение в fullscreen-code, fullscreen-dump и т.п. 5. Расширить возможности клавиши F1 (возможно, связать с MSDN). 6. Возможность отключить отображение регистров сопроцессора (я на них смотрю раз в год, а вижу целыми днями =) ). Потом ещё вспомню. ЗЫ Буду болеть за проект всей душой! ----- Всем привет, я вернулся |
|
Создано: 27 ноября 2006 08:46 · Личное сообщение · #21 HoBleen пишет: Встроенная возможность для переименования названия класса окна (либо рандомная генерация) против антидебага. Да что вы с этими окнами? Насчет антидебага можете не напоминать, я сам все учту. Окна естественно будут скрыты. З.Ы. гандомное имя окна - это не панацея от оконного детекта. Можно например брать набор параметров нескольких окон с дочерними элементами (например такие параметры как взаимное расположение и типы дочерних окон). Тогда единственным выходом будет рандомный интерфейс (которым пользоваться будет невозможно). Отсюда вывод: единственно верное решение - это скрытие окон. ----- Скажем дружно - нафиг нужно. |
|
Создано: 27 ноября 2006 08:49 · Личное сообщение · #22 |
|
Создано: 27 ноября 2006 08:51 · Личное сообщение · #23 |
|
Создано: 27 ноября 2006 09:13 · Личное сообщение · #24 |
|
Создано: 27 ноября 2006 09:25 · Личное сообщение · #25 |
|
Создано: 27 ноября 2006 09:45 · Личное сообщение · #26 |
|
Создано: 27 ноября 2006 13:23 · Личное сообщение · #27 Ну, вот теперь и я понапрягаю команду. В плане интерфейса то, что я делал для Оли: (надеюсь, все понятно изложу ниже) Создается окно для управления окнами дампа, которое имеет слидер на окне при движении которого, меняется прозрачность окна! Окно должно принадлежать главному процессу, но уметь переключаться при активировании (аналог функция API CreateDialogParam) Управлять это окно должно активным окном dump или последним, которое было активным из окон dump`а. Окон dump`ов неограниченное количество (это система позволяет) и лучше в данном случае использовать интерфейс MDI!!! На этом окне должен быть ComboBox&Edit, в которое можно вести адрес для перехода по нужному адресу, который в свою очередь, если использовался, должен сохраняться в файле данных который ведет учет над производимыми действиями в проге, которая была открыта в отладчике! И этот адрес, который использовался, можно будет выбрать из списка ComboBox при следующем/текущем запуске проги. На этом окне должны быть RadioButton с названиями форматов отображаемых данных в окне Dump. И чуть ниже ComboBox, в котором можно выбрать специальный формат типа как у Оли “PE header” Вот то, что в этом ComboBox`е будет находиться, то и будет влиять на продажи ;) При выборе RadioButton или в ComboBox`е формата все остальное очищается, то есть можно выбрать только один вид формата который будет отображаться в активном окне Dump, что вполне логично. Интерфейс этого окна пишется примерно за два часа, а разбиение данных ложится на плечи разработчика движка Dump ;) При нажатии на кнопку “Dump” создается новое окно, начиная с адреса указанного в ComboBox&Edit, и используется выбранный формат. При нажатии на кнопку “ Apply” и используется выбранный формат в активном окне Dump или в окне, которое было последним активным из Dump, начиная с адреса, который был введен в ComboBox&Edit, если ComboBox&Edit был до нажатия пустой, то с текущего адреса в окне Dump. При нажатии на кнопку “Go” просто осуществляет переход на адрес, который был введен в ComboBox&Edit, не учитывая выбора формата и используя уже ранее установленный в окне Dump. Короче всего не опишешь, приложу аттач с рисунком(66kb) одного из окон от моего плагина может, поможет понять лучше то, что я написал!? Главные настройки должны храниться в *.ini файле(ах), а такие как расположение окон в реестре. Советую заюзать код у Оли в отношении dump на половину грамотно все там реализовано. Почему на половину объяснять не буду ;) ЗЫ: И это всего лишь маленькое окошко/часть из этого отладчика, который вы делаете =))) P. S. Если не секрет имена всех участников в проекте (и тестеров, если уже набраны)!??? 837f_27.11.2006_CRACKLAB.rU.tgz - Window.rar ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com |
|
Создано: 27 ноября 2006 13:24 · Личное сообщение · #28 хотелось бы видеть следующие возможности : 1. возможность написания своих плагинов/скриптов по возможности поюзать какой нибудь готовый движок более продвинутый чем в olly. // я когдато занимался встраиванием php в свою // прогу это несложно. возможно также что нибудь // типа ECMA-262 2. при отладке многопоточных приложений просмотр состояния объектов синхронизации (по каждому потоку список событий которых он ждет) 3. установка hardware breakpoints разных для каждого потока + отслеживание попыток проги изменить/получить DRx 4. при трэйсинге возможность undo (шаг назад) |
|
Создано: 27 ноября 2006 17:19 · Личное сообщение · #29 Bitfry пишет: Кнопки на тулбаре в таком виде, ИМХО, на фиг не нужны. Либо их делать цивильно, либо никак. Подробнее о "цивильности" можно? Более расширено напиши свое представление о достойном тулбаре. HoBleen пишет: Выкинуть можно только ToolBar - лично я им никогда не пользуюсь. Тулбар, ровно как и меню - опциональны. В режиме FullScreen их нету вообще. Все остальное взято на заметку. От себя добавлю что интерфейс будет максимально кустомизабильным. Определиться с кнопками на тулбаре, с расположением окон, табов и т.д. юзер сможет сам и без лишних проблем. За основу взят MDI-интерфейс. Свитчеры ольги заменены на табы (переключение между наборами регистров и т.д.). Думаю под вечер будет скриншот концепта - будет что обсудить. Сейчас переходу от SpTBX / TBX / TB2k к докам и фейсу близкому к Visual Studio. |
|
Создано: 27 ноября 2006 18:37 · Личное сообщение · #30 Ms-Rem пишет: Скрипты будет проще прикрутить от OllyScript Можно. Но хотелось бы внести в работу этого плугина некоторые изменения. Сейчас, на начальной стадии разработки проекта отладчика, мои замечания будут не актуальными, но в последствии, когда у разработчиков дойдут руки до этого плугина, хотелось бы пообщаться на эту тему. |
|
Создано: 27 ноября 2006 21:17 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
eXeL@B —› Крэки, обсуждения —› проект по написанию отладчика |