Сейчас на форуме: Magister Yoda, site-pro, Rio (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› проект по написанию отладчика
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
Посл.ответ Сообщение


Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 24 ноября 2006 08:47 · Поправил: Модератор
· Личное сообщение · #1

Наверное все вы хотели бы иметь отладчик максимально приспособленый для борьбы с антиотладкой, а также умеющий отлаживать драйвера (включая ring0 защиты), и имеющий при этом удобный GUI интерфейс. К сожалению, сейчас достойных отладчиков практически нет. Из юзермодных конечно рулит оля, но по части скрытности с ней все очень плохо, баги не фиксятся, проект мертв (2я версия если и выйдет, то очень нескоро). В рядах ядерных отладчиков все еще хуже. Soft-Ice умер. windbg - гавно (хотя кому-то и нравиться, не буду спорить), Syser имеет красивый интерфейс, но весьма слаб в остальном. Ну и про отладку ring0 защит существующими отладчиками, даже говорить нечего.
В связи с этим у меня давно назревает идея написания универсального и мощьного отладчика, для отладки как юзермода, так и ядра. При этом хочеться получить развивающийся и поддерживаемый проект.

Сам я не имею достаточно времени для реализации этой идеи в полном обьеме, но имею все необходимые технологии для построения полностью недетектируемого отладчика (причем большинство их уже обкатано). Поэтому я предлагаю энтузиастам начать такой проект. Я со своей стороны предоставляю отладочное ядро, которое реализует весь необходимый набор функций, а вы пишете собственно сам отладчик.

Есть три варианта развития проекта:
1 - Фриварная программа.
Вариант этот хорош для пользователей, но я сомневаюсь, что разработка в этом случае зайдет дальше 1й версии. Такой проект неизбежно обязан быть заброшен, потому что авторам быстро это дело надоест. Сделать из проекта платную программу в этом случае будет тоже нельзя (особенно при большом количестве авторов), так как врядли все на это согласяться.
2 - Мы собираем команду, делаем программу, после чего я обеспечиваю ее раскрутку и продвижение. С доходов каждый получает свой процент.
Этот вариант плох тем, что у авторов может не хватит терпения дождаться хороших доходов, и проект может быть заброшен.
3 - Я собираю команду и финансирую написание отладчика. После чего я имею полные права на код, и продаю его по своему усмотрению.
Этот вариант плох тем, что трудно найти людей которые будут на таких условиях хорошо писать код. Скорее всего все захотят просто срубить бабла, напишут глючную первую версию, и исчезнут после получения оплаты, а я останусь с неподдерживаемым и кривым кодом, что тоже сулит проекту недолгую жизнь.

Сам я склоняюсь к 2му варианту, но хотел бы узнать ваше мнение, а также найти желающих заняться этим делом.

З.Ы. отладочное ядро для юзермодного кода я уже написал, так что приступать к написанию отладчика желающие могут хоть завтра.

-----
Скажем дружно - нафиг нужно.





Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 05 декабря 2006 08:44
· Личное сообщение · #2

Bitfry
да что там за скриншот то.. не видно ниче.. ведь
ток видны кнопочки запуска.. как регистры
будут изображаться.. где это все..
да еще сделайте.. блог для этого проекта
имхо будет полезнее чем на форуме флудить ..

-----
Researcher





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 05 декабря 2006 10:08
· Личное сообщение · #3

overwriter
прочитай внимательно пост Bitfry и поймёшь, что он говорил про полезную высоту. на его скрине лишь подтверждение фразы
Из 485 точек на скриншоте по вертикали получается 140 точек, а это чуть меньше 30%

но, исходя из слов NaumLeNet, все лишние заголовки мона будет скрыть.

-----
EnJoy!




Ранг: 39.2 (посетитель), 16thx
Активность: 0.020
Статус: Участник

Создано: 05 декабря 2006 11:22 · Поправил: bbuc
· Личное сообщение · #4

Поддержка 64бит планируется?

PS. cорри уже нашел ответ




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 05 декабря 2006 12:24
· Личное сообщение · #5

Кста, по поводу отладчика - как насчёт удолённой отладки? В принципе, идея агента (a la gdb, softice) и отдельной GUI с TCP соединением - есть good. ms-rem, если хочешь то я могу помочь с сетевой подсистемой. У меня есть production quality код на С++.




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 05 декабря 2006 13:18 · Поправил: Ms-Rem
· Личное сообщение · #6

bbuc пишет:
Поддержка 64бит планируется?

Да, но не с первой версии.

s0larian пишет:
как насчёт удолённой отладки?

Удаленная отладка планируется изначально.

s0larian пишет:
если хочешь то я могу помочь с сетевой подсистемой

Ну помоги, если есть чем. Сетевая подсистема должна работать абсолютно независимо от ОС (только напрямую с железом), причем универсально для всех типов сетевух, причем работать она должна даже не на уровне ядра, а в режме гипервизора. Очень сомневаюсь, что по этой части мне кто-то поможет.

З.Ы. я раньше писал код, очень близкий по свойствам к требуемому, так что с этой частью я думаю справлюсь.

-----
Скажем дружно - нафиг нужно.





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 05 декабря 2006 14:13 · Поправил: s0larian
· Личное сообщение · #7

Ms-Rem пишет:
Ну помоги, если есть чем. Сетевая подсистема должна работать абсолютно независимо от ОС (только напрямую с железом), причем универсально для всех типов сетевух, причем работать она должна даже не на уровне ядра, а в режме гипервизора. Очень сомневаюсь, что по этой части мне кто-то поможет.

Стой, я имел ввиду обычный winsock/TCP сервер - как в gdb - запускаешь "agent theapp.exe", отладчик слушает на порту Х, и потом запускаешь весь UI "debugger localhost X" (ессно что можно и с другой машины).

То есть, если использовать конкретные термины:
user mode отладка может быть и удалённой, если такие вещи как ReadRAM(), WriteRAM(), GetRegisters(), SetRegisters(), Step(), Run(), Break() etc вынесены в отдельный интерфейс и есть два модуля - локальный и сетевой реализующие этот интерфейс.

Зачем тебе железо? Или ты думаешь про отладку kernel mode кода?




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 05 декабря 2006 15:16
· Личное сообщение · #8

s0larian пишет:
я имел ввиду обычный winsock/TCP сервер

Ну, такое написать, дело нехитрое.

s0larian пишет:
Или ты думаешь про отладку kernel mode кода?

Естественно. Причем думаю над отладкой в режиме виртуализации.

-----
Скажем дружно - нафиг нужно.





Ранг: 209.5 (наставник), 42thx
Активность: 0.10
Статус: Участник
WinCE ARM M@sTeR

Создано: 05 декабря 2006 22:47
· Личное сообщение · #9

bUg пишет:
Было бы еще замечательно дебаг прог для кпк(Palm, Windows Mobile, etc) Но это уже из области фантастики

Почему это? Я как раз этим и занимаюсь, так что усе будет

-----
Get busy living or get busy dying ©




Ранг: 72.4 (постоянный), 33thx
Активность: 0.050.03
Статус: Участник

Создано: 05 декабря 2006 23:37
· Личное сообщение · #10

Умею кодить хорошо в delphi (72006) и не очень во всей BDS2006

Очень охота дебаггер под симбиан. А то не удобно ломать проги без возможности трейсинга.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 06 декабря 2006 10:00
· Личное сообщение · #11

Ms-Rem пишет:
Естественно. Причем думаю над отладкой в режиме виртуализации.

Хе хе, я об этом тоже подумал когда intel опубликовала новые инструкции для след. версий чипов. Visor или hyper-visor это называется. VmWare сразу заработает лучше, как только выйдет железо. Только енто, AFAIK, просто так ты процесс не запустишь - там можно заставить грузиться операционку. Ну а потом запускай под ней драйвер и останавливай процессор на любой инструкции - ведь реристры управления просто не видимы для гостя, и rdtsc не изменяется при остановке....




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 06 декабря 2006 10:48
· Личное сообщение · #12

s0larian
Может еще прочитаешь мне лекцию, как дрова писать? А то я сам не знаю, просвети ламера.

s0larian пишет:
rdtsc не изменяется при остановке

Не забудь еще эмулировать MSR_EFER (12 бит указывает на guest режим).
И кстати, это далеко не все, есть еще способы детекта таких виртуальных машин.

-----
Скажем дружно - нафиг нужно.





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 07 декабря 2006 07:59
· Личное сообщение · #13

kropalik пишет:
хотелось бы видеть следующие возможности :

+анти-антиотладку встроенную

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 127.3 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 07 декабря 2006 08:12
· Личное сообщение · #14

Не помню, кто-то говорил или нет. Плуги от ольки будут подрубаться? И скрипты?




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 09 декабря 2006 15:34 · Поправил: Ms-Rem
· Личное сообщение · #15

Ни для кого не секрет, что я занимаюсь разработкой руткитов, и имею некоторый опыт в этой теме. Этот опыт весьма помогает в написании отладчика, так как в него входит привычка сразу видеть возможный ответный ход противной стороны (создателей защиты), и минимизировать возможности обнаружения.

Насчет руткита встроеного в отладчике каждый может думать как хочет. Вы можете либо верить мне на слово, либо не верить (и соответственно не юзать мой софт), либо можете проверить мои слова (если обладаете необходимыми знаниями).
Я заявляю, что мой софт никогда не содержал, не сожержит, и не будет содержать никаких вредоносных функций, и это дело чести для меня. Если я выкладываю троян, или другую вредоносную программу, то об этом будет обязательно написано в ее описании. Можете мне верить, а можете нет.

З.Ы. я сейчас по делам нахожусь в Москве, поэтому временно не контролирую состояние проекта. Как вернусь домой, постараюсь быстрее выложить демку (тем более, для нее все уже есть).

-----
Скажем дружно - нафиг нужно.





Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 10 декабря 2006 07:28
· Личное сообщение · #16

давай выкладывай.. заждались все..
писал что в 4 дня она уже будет..

-----
Researcher





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 10 декабря 2006 08:54
· Личное сообщение · #17

всем предупреждение, хватит флудить о руткитах и мсреме! топик - про отладчик..

-----
Тут не могла быть ваша реклама





Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 12 декабря 2006 21:45
· Личное сообщение · #18

Прошу модераторов внимательно просмотреть всю тему, потереть все посты не относящиеся к делу, и закрыть тему до выхода демки, так как пока больше говорить не о чем.

-----
Скажем дружно - нафиг нужно.





Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 17 декабря 2006 07:11
· Личное сообщение · #19

Уважаемые форумчане, извините за задержку. Хочу описать состояние проекта на данный момент.
И так, мы сейчас имеем готовое отладочное ядро. Оно прошло тестирование, большая часть багов уже исправлена, и готово не то что для демки, но и для первого релиза.
_miracle_ продолжает писать более высокоуровневую обертку - trcer api. Эта часть реализует трассировку, хранение информации о состоянии отладки, и установки различных бряков. По краяней мере для демки, эта часть готова.
GUI в последний раз, когда я его видел, тоже находился в готовом к демке состоянии. Но тут у нас возникли проблемы, бесследно пропали Stealth и NaumLeNet. Первый писал анализатор кода, второй писал GUI. Без GUI мы фактически ничего сделать не можем.
И так, придется подождать появления участников проекта, после чего я надеюсь услышать, собираются ли они заниматься этим дальше, либо будем искать кого-то другого.

-----
Скажем дружно - нафиг нужно.





Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 03 января 2007 06:43 · Поправил: Ms-Rem
· Личное сообщение · #20

И так, многим наверно кажется, что проект заглох, так и не начавшись. Нет, проект идет, хоть и не такими темпами как предполагалось. Всем кто кричал что нифига у нас не получиться я скажу - не дождетесь!

Внимание
В связи с тем, что двое из нашей команды судя по всему забили на проект, требуются новые участники для замены.
Slealth, который писал анализатор выбывает из команды, так как не представил ни одной рабочей версии своего творения, и его невозможно застать в icq.
RUNaum - автор GUI пока остается, так как с ним еще не все ясно. Мне кажется что он забил, но он вроде бы обещал вернуться после нового года. В ближайшие дни мы все с ним решим.
Просьба всем желающим написать анализатор кода зайти на irc канал проекта или написать мне в ПМ. Анализатор кода должен выполнять следующее:
1) Дизассемблировать код
2) Проводить выделение циклов, switch конструкций, подсветку имен и параметров api.
3) Создавать набор структур, которые будут отображаться GUI.
Подробнее вы узнаете на канале проекта. Просьба полным новичкам не обращаться, чтобы не тратить свое и наше время.
Внимание всем недоброжелателям: Просьба не срать в топике. На ваши сообщения я отвечать не буду, они будут просто сразу удаляться, а их авторы получать бан.

-----
Скажем дружно - нафиг нужно.




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 03 января 2007 10:07
· Личное сообщение · #21

Ms-Rem пишет:
1) Дизассемблировать код

Что такое CADT?
Это универсальный дизассемблерный движок предназначенный для анализа кода.
Допустим вам нужно декодировать полиморф, или отмутировать код, и тут вам понадобиться дизассемблер. К сожалению, большинство существующих дизассемблеров расчитано на вывод дизассемблированного текста, и не выдает данных необходимых для анализа кода.
К тому же, большинство дизассемблеров имеют досадные ошибки, из за чего можно создать код который будет дизассемблироваться ими неправильно, что с успехом используют авторы протекторов. Более того, широко распостраненных дизассемблеров без таких ошибок я не видел, их полно и в IDA и в OllyDbg и в SoftIce. Дизассемблер Hiew - это вообще одна большая ошибка
К тому же, при взломе современных защит (Themida, StarForce) часто возникает необходимость в дизассемблере способном работать в нулевом кольце, и при этом он не должен использовать функции системы (они часто блокируются защитой).
Именно эти причины побудули меня написать свой диассемблер, в котором я постарался учесть все вышеприведенные требования и по возможности избежать ошибок в декодировании нестандартных опкодов. (ц)
Вопрос чем не устраивает?

Ms-Rem пишет:
подсветку имен и параметров api.

Подсветку должен брать на себя тот, кто делает GUI, ибо отображать в цвете это прямая обязанность разработчика GUI!

Ms-Rem пишет:
автор GUI пока остается, так как с ним еще не все ясно.

Результат работы разработчика GUI непосредственно зависит от качества данных предоставляемых анализатором кода.
Нет разработчика анализатором кода, тогда и нет результатов от GUI, отсюда, скорее всего и появился маленькое недоразумение в проекте.

Ms-Rem пишет:
Создавать набор структур, которые будут отображаться GUI.

Каких структур?
Если имеется в виду структуры данных регистров, процессов и т. д. то это должен делать твой движок и передавать их на обработку GUI – ИМХО!

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 03 января 2007 10:19
· Личное сообщение · #22

Demon666
Архитектура уже разработана.
Дизасм это только часть. Обязаности анализатора - управлять отображением и комментировать код.

Demon666 пишет:
Подсветку должен брать на себя тот, кто делает GUI, ибо отображать в цвете это прямая обязанность разработчика GUI!

Гуи только отображает то, что дал анализатор. Гуи не дизассемблирует код и не ищет в нем вызовы апи.

В общем, нужный человек уже вышел на канал. Сейчас с ним все обговорим, и закроем тему снова.

-----
Скажем дружно - нафиг нужно.




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 03 января 2007 10:58
· Личное сообщение · #23

Ms-Rem пишет:
управлять отображением и комментировать код.

Все понял! - вопросов больше не имею
Ms-Rem пишет:
Гуи не дизассемблирует код и не ищет в нем вызовы апи.

Просто слово “подсветку” трактовал, как отобразить в разном цвете

P. S.
Просьба сообщать имена новых участников проекта, история все-таки ;)

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 03 января 2007 18:52
· Личное сообщение · #24

Ms-Rem
Хотелось, чтобы была возможность выбора цвета как у Оли
Меню->Options->Appearance->Colours/Code highlighting
Там ограниченный выбор цветов, а хотелось, чтобы была возможность вызова диалога(ChooseColor) для выбора любого цвета!
Конечно, можно будет, как у Оли пофиксить этот недостаток, но геморрой приличный получается.

Пакет PDK&SDK для плагинов уже готов?

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 04 января 2007 02:51
· Личное сообщение · #25

Не помешает поиск по части команды, т.е. DWORD ptr [5437b2], а то в olly только команда целиком, а искать через binary string обламывает.




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 04 января 2007 10:57
· Личное сообщение · #26

Извиняюсь если повторяюсь, но наиболее приоритетное, 2 лога, чтоб удобнее распаковывать было. Ибо частенько приходиться всё заново распаковывать только из-за нескольких команд.

-----
Ламер - не профессия :))





Ранг: 75.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 04 января 2007 11:28
· Личное сообщение · #27

какой отладчик? в принципе , их улучшить уже помоему невозможно, а чем вас имеющиеся инструменты не устраивают они же идеальные! хотя хто знает? ...



Ранг: 7.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 января 2007 17:46
· Личное сообщение · #28

хм, кто-нибудь знает есть ли у проекта сайт и где хотя бы альфу или бетку скачать можно? Очень уж хочется на сие чудо посмотреть.



Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 04 января 2007 19:56
· Личное сообщение · #29

Не было ещё даже демо, но Ms-Rem обещял в обозримом будущем...




Ранг: 50.7 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 04 января 2007 20:18
· Личное сообщение · #30

Судя по всем проект на неопределенное время "замёрз".




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 04 января 2007 20:46
· Личное сообщение · #31

rC пишет:
Судя по всем проект на неопределенное время "замёрз"

Нет, просто он продвигается куда меньшими темпами чем хотелось бы.
Ситуация с разработчиком GUI пока не ясна. Анализатор кода скорее всего придется писать нам с мираклом. Ну а демо могло быть уже давно, если бы двое из четверых резко не исчезли.

З.Ы. по избежании флуда, тему прошу закрыть. Откроем снова по необходимости.

-----
Скажем дружно - нафиг нужно.



<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
 eXeL@B —› Крэки, обсуждения —› проект по написанию отладчика
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати