информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hacking
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
взлом DOS программ 22.12.03 12:04  
Автор: ReLinX Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Нужно сломать защиту на досовской проге.
Набросайте, плиз, какие у них есть варианты защиты.
Прога поставлялась на компе со спец платой (медицинский комплекс), но и без этой спец-платы функциональность проги приемлема (то есть она работает).
Если вынуть винт и вставить его в другой аналогичный комп - прога не работает.
Огромное спасибо ukv 06.01.04 03:42  
Автор: ReLinX Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Огромное спасибо ukv
Большое спасибо SL
И просто спасибо всем остальным ...
Контрольная сумма - последние 17 байт файла *.cfg 26.12.03 18:35  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Похоже нашел, как заставить прогу запуститься, но привязки пока еще не обнаружил (тягомотина) 26.12.03 18:29  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Прога сбацана на Clarion. Есть спецы по нему? 25.12.03 18:43  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
А какая версия? 26.12.03 14:01  
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Если это досовский Clarion, то в файле скорее всего есть и номер версии. По крайней мере в тех, что я когда-то делал, проставлено Version 2.1 Release 218A.

Точно сейчас уже не помню, но вроде один раз какой-то глюк вылавливал трассировкой под td386.

Выложить / замылить exe нельзя?
Version 2.1 Release 2105. Могу намылить idb 26.12.03 17:19  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Насчет замыливания... 26.12.03 16:53  
Автор: ReLinX Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>

Мыло оставь.
Тебе экзешник (0,7 мега) или все (5 мегов) ?
Лучше все, если mail.ru выдержит. И желателно до 19-00,... 26.12.03 17:38  
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Лучше все, если mail.ru выдержит. И желателно до 19-00, иначе только в понедельник. Гарантий не даю, но посмотрю обязательно (насколько терпения хватит).
ukv1@mail.ru
Без дебуга все-таки не обойтись 25.12.03 17:33  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Программа весьма запутана - блоки кода, после каждого из которых идет jmp, который в зависимости от результатов работы блока может на самом деле не сработать, а проигнорироваться. Так называемый "фарш". Придется аккуратно идти дебугом пока не вывалишься. А это займет определенное время. Но картинка загрузки БД появляется.
Идея следующая - нужен небольшой help 24.12.03 16:31  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Прога с оверлеями. Все оверлеи и reloc лежат в файле. Вся проверка ес-но в одном из них. Сегменты, в которые грузятся оверлейные модули, виртуальные. Я могу руками patch core в IDA - но строчки там короткие - всего 16 байт можно ввести. Кстати, проблема актуальная - как подпачить в IDA программу с конкретного адреса из бинарного файла? Версия IDA 4.04. Может более старшие версии это позволяют?
Можно скрипт на IDC написать. 24.12.03 17:10  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Можно скрипт на IDC написать.
Посмотри хелп и функции PatchByte, PatchWord, PatchDword, fopen...
Спасибо, скрипт сработал. 25.12.03 12:00  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
По поводу оверлея... 25.12.03 00:58  
Автор: ReLinX Статус: Незарегистрированный пользователь
Отредактировано 25.12.03 23:32  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
1. Насчет оверлея - это когда образ заменяется в памяти другим образом ?
А другие образы они что из себя представляют (расширение исполняемых файлов какое) ?
Загрузка происходит через ax=4b03 int 21h ?
Что такое виртуальные сегменты ?

2. Досовский софт-айс 2.80 он по размеру около 0,5 мегов ?
Его под эмуляцией доса в винде 98 запустить можно - прописать в config.sys device= адрес к софт айсу. А то я так сделал - у меня при загрузке намертво софт-айс стал грузиться (без возможности выхода из него - там вроде ошибка работы с памятью какая-то выскакивает)

3. В винде обращение из v86 к адресу 0хffff5 айсом не фиксируется (имеется в виду данная прога). Фиксируется из proc 32 - но это для всех загружаемых досовских программ (считывется 0х400 слов вроде).
По поводу оверлея ...- ответы 25.12.03 11:08  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
> 1. Насчет оверлея - это когда образ заменяется в памяти
> другим образом ?
> А другие образы они что из себя представляют (расширение
> исполняемых файлов какое) ?
> Загрузка происходит через ax=4b03 int 21h ?
> Что такое виртуальные сегменты ?
>
Большая часть сегментов программы заполняется данными из самой программы, но приаттаченных в конце - оверлеи в самом файле. Механизм загрузки прозрачен - обычное чтение данных из файла, без всякой распоковки. Местонахождение relocations тоже известно.

> 2. Досовский софт-айс 2.80 он по размеру около 0,5 мегов ?
> Его под эмуляцией доса в винде 98 запустить можно -
> прописать в config.sys device= адрес к софт айсу. А то я
> так сделал - у меня при загрузке намертво софт-айс стал
> грузиться (без возможности выхода из него - там вроде
> ошибка работы с памятью какая-то выскакивает)
>
> 3. В винде обращение из v86 к адресу 0хffff5 айсом не
> фиксируется. Фиксируется из proc 32 - но это для всех
> загружаемых досовских программ (считывется 0х400 слов
> вроде).

Чтобы успешно продебужить твою прогу, ее надо предварительно пропустить через IDA - дебуг после этого вообще может не понадобится.
Идея насчет скрипта мне понравилась - посмотрю, что и как...
Механизм работы с оверлеями зависит от проги. В компиляторах... 25.12.03 09:56  
Автор: :-) <:-)> Статус: Elderman
Отредактировано 25.12.03 09:59  Количество правок: 2
<"чистая" ссылка> <обсуждение закрыто>
> 1. Насчет оверлея - это когда образ заменяется в памяти
> другим образом ?
> А другие образы они что из себя представляют (расширение
> исполняемых файлов какое) ?
> Загрузка происходит через ax=4b03 int 21h ?
> Что такое виртуальные сегменты ?

Механизм работы с оверлеями зависит от проги. В компиляторах от Borland/MS для этого использовался int 3Fh. Оверлеи могут размещаться все в одном файле, например в конце .exe-шника.

> 2. Досовский софт-айс 2.80 он по размеру около 0,5 мегов ?
> Его под эмуляцией доса в винде 98 запустить можно -
> прописать в config.sys device= адрес к софт айсу. А то я
> так сделал - у меня при загрузке намертво софт-айс стал
> грузиться (без возможности выхода из него - там вроде
> ошибка работы с памятью какая-то выскакивает)

Точно уже не помню, сколько он занимает. Но 0,5 мегов для него вполне нормально. Насколько я помню, грузить его надо в чистой системе (без himem.sys и emm386.exe). Или строго до/после himem.sys (в readme к нему должно быть написано).

> 3. В винде обращение из v86 к адресу 0хffff5 айсом не
> фиксируется. Фиксируется из proc 32 - но это для всех
> загружаемых досовских программ (считывется 0х400 слов
> вроде).

Гм... Попробуй из-под ДОС bpx F000:FFF5
Я Поставил винду98, soft-ice 3.25 win98, IDA 4. 23.12.03 01:03  
Автор: ReLinX Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
Я Поставил винду98, soft-ice 3.25 win98, IDA 4.
С помощью IDA посмотрел in, out, ins, outs - 70,71 - обращения к bios - нет там таких
С помощью айса поймать эти обращения не получается - винда сама постоянно обращается к этим портам - это можно как решить ?
Как еще может происходить обращение к bios ?
Программа перехватывает 21 вектор - в этом может быть какой-то смысл ?
Какие еще функции проконтролировать ?
Что это за функции
ax=71xx
int 21h
их даже софт-айс не комментирует ?

2 Yurii
> Попробуй поставить бряк на ffff:0005, вдруг поможет :))
А что это такое ?
Я Поставил винду98, soft-ice 3.25 win98, IDA 4. 23.12.03 14:33  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Я Поставил винду98, soft-ice 3.25 win98, IDA 4.
> С помощью IDA посмотрел in, out, ins, outs - 70,71 -
> обращения к bios - нет там таких
> С помощью айса поймать эти обращения не получается - винда
> сама постоянно обращается к этим портам - это можно как
> решить ?

Поставь Soft-ICE 2.80 for DOS - левых срабатываний брякпойнтов точно не будет.

> Как еще может происходить обращение к bios ?

Если прога прявязывается к типу винта, то скорее всего вызывает Int 13h и запомнивает кол-во цилиндров/секторов/головок. Хотя может все это делать через порты.

> Программа перехватывает 21 вектор - в этом может быть
> какой-то смысл ?
> Какие еще функции проконтролировать ?
> Что это за функции
> ax=71xx
> int 21h

Это функции ДОС 7.0+ для работы с длинными именами.
Хотя если прога перехватывает INT 21h, она может их обрабатывать по своему (если проага написана раньше, чем ДОС 7.0, то так оно и есть).

> их даже софт-айс не комментирует ?
>
> 2 Yurii
> > Попробуй поставить бряк на ffff:0005, вдруг поможет
> :))
То же самое, что и F000:FFF5, только сбоку. По этому адресу находится дата изготовления BIOS, скорее всего прога привязывается к ней (либо она может рассчитывать CRC всей BIOS [адреса F000:0 - F000:FFFF], это от фанатазии атора зависит).

Ralf Brown's Interrupt List рулит =)

http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
под виндой поди s-ice поновее (типа 4.х) должен быть пофункциональнее 23.12.03 08:45  
Автор: LLL <Алексей> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> С помощью IDA посмотрел in, out, ins, outs - 70,71 -
> обращения к bios - нет там таких

Порты 70 и 71 позволяют работать с CMOSом, а не с БИОСом.

> С помощью айса поймать эти обращения не получается - винда
> сама постоянно обращается к этим портам - это можно как
> решить ?

Вероятно в виндозном s-ice можно бряки только для указанного процесса ставить, но точно утверждать не могу -- маловато у меня опыта дебага под виндами.

> Как еще может происходить обращение к bios ?

БИОС живет в памяти, в сегменте F000.

> > Попробуй поставить бряк на ffff:0005, вдруг поможет
> :))
> А что это такое ?

бряк -- breakpoint (в s-ice командой bpm)
Скорее всего прога привязывается к серийному номеру диска... 22.12.03 15:42  
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
> Нужно сломать защиту на досовской проге.
> Набросайте, плиз, какие у них есть варианты защиты.
> Если вынуть винт и вставить его в другой аналогичный комп -
> прога не работает.
Скорее всего прога привязывается к серийному номеру диска (или какой-то уникальной информации, что маловероятно). Я бы попробовал пройти дебуггером и поискать, где она переназначает int3 и int1 (а также 8, 9, 21) для начала. Аккуратно отслеживай вершину стека.
Если не получится, присылай мне, посмотрю сам и дам рекомендации.
crypto2001@hotmail.ru
1  |  2 >>  »  




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach