уважаемые коллеги, столкнулся с задачей исследования софта написанного под мсдос (а может и еще хуже - самоходного - пока точно не известно). в силу специфики, по видимому придется делать полный дамп диска вместе с загрузочной областью, при том подключая его к машине на виндах, посмотрел - вроде как acronis true image такое умеет, а вмваря в свою очередь позволяет импорт таких образов. есть 2 вопроса, кто нибудь делал такие дампы? есть загвоздки? и вопрос 2 - чем рабочий дамп можно отлаживать?
Отлаживать, думаю, можно с помощью Bochs -- это если образ плоский. Но это в случае отсутствия ОС. Если есть ОС, то под нее есть отладчики обычно.
Используйте для отладки Bochs. Это достаточно удобно и заодно из-под него не получится уйти программе - ведь это виртуальная машина. Раз софт для DOS значит высокая производительность (тем более для отладки) не потребуется.
sn0w Судя по вашим вопросам, дамп вы отлаживать не сможете. Пока вы доберетесь через загрузчик и ДОС или управляющую программу - на пенсию уже выйдете Все таки проще уточнить проблему : либо это ДОС и ваша прога там просто работает - тогда soft-ice под виртульной ДОС. Возможно там что-то еще. Если самопал, то готовьте большой кошелек. В любом случае придется "лезть внутрь" и вряд ли это вам под силу. А в режиме вопрос-ответ вы тоже долго будете разбиратся. Да еще и советы будут разнообразные. Bochs конечно хорошо и защиты любые берет, но муторно даже для специалиста. Для начала конечно снять посекторный дамп диска - Акронис это делает, там галочку надо задать. Потом подключить этот образ в вмваре и убедится, что все что вам нужно работает. Ну и выяснить : ДОС или не ДОС. Если все-таки ДОС, тогда ищем soft-ice под ДОС и пытаемся запустить. Тут может быть все что угодно. Если повезет - будете soft-ice осваивать. Это все-таки проще чем отлаживатся в bochs. Если не ДОС, то смотрим что. В Линукс gdb есть и т.д.
KIV, Mika0x65, sergegers - ок, сперва посмотрю что там будет. valterg да, все именно так и планируется. только вот тут я задумался еще над одной темой: как не дать винде оставить следов на диске при подключении, таких как, создание System Volume Information etc?
Эта фигня называется forensic - исследование с невмешательством. ЛивСиДи с Виндой почти удовлетворяют этому, хотя один спец меня уверял что что-то все равно пишет. По идее всякие Акронисы, Парагоны и ghost-ы не должны ничего портить. Или ЛивСиДи на базе Линукса предназначенный для снятия копии, а не полный десктоп...
я недавно патчил защищённые досовские проги и изматерился ну просто весь смог отдебажиться только в айсе 4.х под варной вин98 лабу всё воскресенье поднимал :mad:
Могу сказать, что Linux точно ничего не пишет на диск - по опыту могу сказать. И даже наоборот я из-под него могу удалять этот "System Volume Information". А стандартный драйвер NTFS (если не ставить ntfs-3g) вообще умеет только читать.
Что в этой проге такого страшного что обычный статик анализ в дизассемблере не может помочь? PS Отладка и изучении программ под DOS/или программ которые запускаются из под DOS и переключаются в PM с собственным менеджером чтобы получить полный контроль одновременно сложнее чем usermode win32, но и в чем-то легче. Например если удается вклинитсо в таблицу обработчиков такого менеджера то можно написать свой простой дебаггер или дампер (что за задача вообще?).
программа позволяет администратору, предварительно нажав ключевую комбинацию и введя пароль, сделать отчет о некоторых данных, которые сбрасываются на дискету. задача стоит в том, чтобы заполучить пароль и кроме того изменить ход работы так, чтобы определенные данные не допустить на запись в дамп информации.
И? зачем все эти сложности? а прямо загрузившись с этого диска, посмотреть кто на клавиатурном прерывании висит - и отдампить/дизассемблировать прямо работающий экземпляр? Ну чудес-то не бывает! Значит на 90% можно быть уверенным, что перехвачено прерывание клавиатуры (irq 1). Максимум защиты - контроллер еще перепрограммирован, и векторы irq смещены. PS: мы о ДОС говорим, да? там не запускается автоматом самодельная оболочка, с переходом в защищенный режим, м? Командная строка, нортон или волков, какая-нибудь база данных типа клиппера/фокс-про - это ок
Не нравится мне такая постановка задачи, особенно в свете "не оставить следов на родном харде". Явно что-то незаконное. Стоит коробочка, которая что-то обязана фиксировать, а вы хотите поправить АЛГОРИТМ и вычистить КОМПРОМАТ или еще что-то Вы уж подробности дайте, а то сидеть неохота...
Вообще-то, если говорить за DOS, то самые страшные вирусы и защиты прекрасно анализировались при помощи ТурбоДебагера (идущего в одном дистрибутиве вместе с Борланд/Турбо Паскалем или Борланд/Турбо Си/Си++), дампы диска снимались при помощи ДискЕдита из нортоновских утилит, а для дизассемблирования в 90% случаев хватало Соурсера или даже просто Хиева. В наиболе тяжелых случаях подключалась Ида. Кстати, СофтАйс был может и могуч, но крайне неудобен. Да, еще, дам памяти снимался тем же ТурбоДебагером. Для хука конкретных прерываний вместе с ТурбоДебагером можно было юзать массу всяческих утилок, которые можно найти в старых выпусках СофтПанорамы, да хоть бы даже комплект, сочиненный тем-самым-дядей-женей в бородатом 1991 г. и включенный в состав пакета ДокторКасперский (если ничего не путаю, давно это было). Так что проблемы просто не видно.
drmad Речь идет о диске. Что там до сих пор неизвестно. Если программа большая, то с обычным TD она может не поместиться в память. А если использовать TD386 может быть конфликт с расширителями памяти. Хук прерываний хорошо, но в те времена тоже были крутые защиты и желательно иметь аппаратные бряки.