Заходи
Гость

Хостинг

Статистика
Яндекс.Метрика Счетчик PR-CY.Rank
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Ccылки

Свежак

Главная » Статьи » Все статьи » Безопасность систем

Средства отладки и взлома программ

Средства отладки и взлома программ

В настоящее время современные хакеры используют обширный инструментарий. Его можно подразделить на следующие группы:

В свою очередь первые две группы опять разделяются на использующие стек отлаживаемой программы и неиспользующие его.

Отладчики реального режима

Наиболее известные:

  1. TurboDebugger by Borland International
    Созданный в 1988 году двумя братьями Chris'ом и Rich'ем Williams Содержит множество ошибок, активно используемых защитами, таких как:
    1. использование стека отлаживаемой программы
    2. использование int 1, int 3 для трассировки
    3. перехват прерываний int 0, int 1, int 3
    4. некорректная работа с видеобуфером
    5. некорректное выставление начальных значений регистров
    API отсутствует.
    Обладает чрезвычайно развитым оконным интерфейсом, предоставляет возможности по просмотру кода и исходного текста программы, шестнадцатеричного дампа, переменных (при наличии отладочной информации), созданию макросов, отличается завидной медлительностью, связанной с подкачкой оверлея.
  2. CodeView by Microsoft
    По своим ошибкам ничем не отличается от TurboDebugger'a. Поддерживает собственный формат отладочной информации. В силу устройства самого ядра отладчика не приспособлен в качестве среды для взлома.
  3. AFD
    Созданный в 1988 году H.Puttkamer'ом отладчик предоставляет следующие возможности: пошаговый режим исполнения инструкций, пошаговое исполнение подпрограмм, сохранение точек останова в пользовательском файле, поиск данных в памяти, создание макросов и запись их в файл. Для использования в качестве среды для взлома не предназначен.
  4. Debug
    Одним из самых первых отладчиков, существовавших для IBM PC, является отладчик DEBUG, поставляемых с операционной системой MsDos. Содержит все ошибки отладчиков реального режима. В настоящее время нигде не используется.

На сегодняшний день отладчики реального режима не представляют интереса, т.к. весь современный софт в реальном режиме не работает.

Отладчики защищенного режима

  1. TurboDebugger/386 by Borland International
    Надстройка над TD, представляющая device-driver TDH386.Sys (низкоуровневый интерфейс сопроцессором) и запускающую программу TD386, вводящую процессор в режим V86. Полностью поддерживает ошибки своего предшественника. Предоставляет возможность установки аппаратных точек останова: по обращению на чтение/запись байта в памяти, перекрытие обращения к портам (не всегда корректно обрабатываемое).
  2. Soft-Ice by Nu-Mega Techologies
    Hаиболее мощный отладчик. Поддержка VCPI. Есть разновидности под Win95/WinNT
    Содержит также некоторые ошибки:
    1. Hе является полностью stealth-отладчиком, так как оставляет кусок своего кода в conventional memory V86 машины.
    2. Существует API между программой и отладчиком
    3. S-Ice можно обнаружить по устройству SOFTICE1
    4. Загрузчик LDR неправильно выставляет значение SP
    5. некорректное выставление начальных значений регистров
    Предоставляет API через int 3, функции 09-13h. Поддерживает отладочную информацию Microsoft ('NB' в начале отладочной информации), Borland (db 0FB52h)
  3. Soft-Ice/W by Nu-Mega Techologies
    Отладчик под Windows 3.xx. Обнаруживается по присутствию VxD устройства WINICE. Отслеживает конструкции вида cs:pushf.
  4. Deglucker by S.Gorokhov & A.Ilyushin
    Ошибки:
    1. Переключение в нестандартный видеорежим
    2. Hевозможность перехвата портов ввода/вывода
    3. запирание клавиатуры через i/o портов 60h/64h
    Предоставляет API через int 15h функции 0FFxxh. Трассирует программу через DRx (аппаратные регистры останова).

Эмуляторы

  1. EDB by Serge Pachkovsky
    Эмулятор 80286 процессора. Крайне убогий интерфейс, на уровне DEBUG. Имеется возможность просмотра/изменения памяти, несколько режимов эмуляции.
  2. Soft Debugger
    Полноценный эмулятор 80386, без поддержки функций защищенного режима. Поддерживает отладочную информацию компиляторов Borland International. Отслеживает изменение байтов в конвейере, имеется несколько режимов эмуляции: с вызовом собственного int 1/int 3, режим Full Tracing, Auto Tracing и другие.
  3. SD by Dmitry Groshev
    Удобный и мощный сервис. Гибкие возможности для работы с самыми разнообразными структурами данных. Может подгpyжать сеpвисные модyли.

Автоматические распаковщики

К автоматическим распаковщикам относятся программы, запускающие в автоматическом или полуавтоматическом режиме защищаемую программу и отслеживающие типовые участки startup-кода и соответственно настраивающие relocations.

Функция автоматических распаковщиков - сдирание защиты с файла и получение работоспособного EXE файла. Физика данного процесса такова: перехватывая первое программное прерывание, вызванное программой после отработки защиты, распаковщик снимает дамп памяти с уже расшифрованным кодом защищенной программы. Первый этап работы по снятию - нахождение этого самого первого прерывания. Это делается при помощи любого отладчика. Не будем вдаваться в подробности отлова первого прерывания, замечу лишь одно - все программы написанные на C/C++ и откомпилированные компилятором любой фирмы одной из первой командой проверяют версию OS:

 B4 30 mov ah, 30h
 CD 21 int 21h
В программах, написанных на Паскале идет перехват векторов 00 и некоторых других:
 B4 35 mov ah, 35h
 CD 21 int 21h
Если посмотреть ссылку на это место, то можно увидеть, что этот фрагмент вызывается после двух far call-ов:
 call far Initturbo
 call far SwapVectors
Таким образом можно найти истинную точку входа в паскалевскую программу.
  1. Autohack by BCP group
    Предоставляет три варианта запуска:
    1. Распаковка трассировкой. В данном режиме работают почти все распаковщики программ. В данном режиме возможна распаковка программ, не защищенных от трассировки. Режим работает следующим образом: программа загружается в память, перехватывается первое прерывание, возводится флажок пошаговой трассировки (поэтому распаковка в этом режиме относительно медленно работает), управление передается загруженной программе, далее обработчик первого прерывания анализирует сегмент кода трассируемой программы и ждет смены регистра CS (число смен регистра CS запрашивается во время запуска под именем "глубина трассировки"). После этого сбрасываются дампы памяти, и операция повторяется с загрузкой программы с другого начального адреса.
    2. Стандартный режим взлома. Режим работы программы основанный на режиме перехвата определенных моментов после отработки механизма защиты и сброса дампов памяти.
    3. Режим взлома с поддержкой таблиц компиляторов. Идентичен второму режиму, но нацелен на определенные компиляторы, поэтому взламывает более корректно. о если взламывается программа откомпилированная неизвестным AutoHack-у компилятором, то произойдет запуск взламываемой программы с последующими глюками.
  2. Intruder by Creat0r
    Отслеживает startup-код.
  3. SnapShot by Dale Co.
  4. CUP by Cyberware products
  5. UNP by B.Castricum
  6. Tron
  7. TSUP

Дизасемблеры

Дизасемблер переводит выполняемый код в листинг на асемблере.

Прочие программы

К прочим программам можно отнести программы ориенитированные на специальные языки, например:
  • Clipper
    Valkyrie Declipper 5, Version 1.0, Revision K
    "+" Есть возможность анализиpовать низкоуpовневый код, декомпиляция до исходных текстов
    "-" Может pаботать только с известными ему линковщиками, если линковщик ему не известен, то он отказывается pаботать.
    Hackers Declipper v1.3 by KrK //UCL
    "+" Позволяет анализиpовать низкоуpовневый код, можно самостоятельно задать начало псевдокода и таблицы имен пеpеменных.
    "-" Полностью pучная pабота пpи декомпиляции, не pаспознает начала пpоцедуp, не создает исходного текста, и т.д и т.п.
    Rescue5 v1.0 CA-Clipper decompiller
    "+" Декомпиляция до исходников.
    "-" Понимает очень мало линкеpов, нет возможности анализиpовать псевдокод
  • FoxPro
    ReFox

Программы типа Hiew (Hacker's view by SEN), позволяющие просмотреть код, изменить его, дизасемблировать участки кода.

Категория: Безопасность систем | Добавил: Iron (28.07.2012)
Просмотров: 896 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Статьи
[Прогараммирование]
Как работает CSS?
[Прогараммирование]
ЛЕКЦИЯ. Язык Pascal
[Прогараммирование]
Введение в информатику
[Безопасность систем]
Резервирование и восстановление
[Прогараммирование]
Разработка ПО с открытыми исходными текстами как особый вид прикладной науки
[Прогараммирование]
Строковый тип данных
[Прогараммирование]
Динамическая память
[Прогараммирование]
ПОДПРОГРАММЫ. ПРОЦЕДУРЫ И ФУНКЦИИ
[Прогараммирование]
Файлы
[Разное]
Большие секреты маленького BIOSa

Категории
Операционные системы [30]
Устронение ошибок систем [13]
Безопасность систем [9]
Прогараммирование [32]
Технологические [0]
Информатика [23]
Бухгалтерский учет [3]
Ценообразование [0]
Экономика [0]
Менеджмент [3]
Психология [0]
Разное [4]

Популярный софт
Iron Kaspersky Internet Security 2015
Kaspersky Internet Security 2015
Iron Virtual DJ
Virtual DJ
Iron SoundForge 11
SoundForge 11
Iron Alcohol 120
Alcohol 120
Iron Norton Internet Security 2014
Norton Internet Security 2014
Iron Loaris Trojan Remover
Loaris Trojan Remover

Жми

Copyright MyCorp © 2024Конструктор сайтов - uCoz