информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыВсе любят медSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hacking
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Скорее всего прога привязывается к серийному номеру диска... 22.12.03 15:42  Число просмотров: 1785
Автор: SL Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
> Нужно сломать защиту на досовской проге.
> Набросайте, плиз, какие у них есть варианты защиты.
> Если вынуть винт и вставить его в другой аналогичный комп -
> прога не работает.
Скорее всего прога привязывается к серийному номеру диска (или какой-то уникальной информации, что маловероятно). Я бы попробовал пройти дебуггером и поискать, где она переназначает int3 и int1 (а также 8, 9, 21) для начала. Аккуратно отслеживай вершину стека.
Если не получится, присылай мне, посмотрю сам и дам рекомендации.
crypto2001@hotmail.ru
<hacking>
взлом 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-2025 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach