реклама
ОНЛАЙН АПТЕКА НИЗКИХ ЦЕН
цены ниже розничных точек. доставка по украине

   Любые виды проектных, дизайнерских и строительных работ в Украине и Киеве    
АПТЕЧНАЯ СПРАВКА

proxy  статьи  библиотека  softice  free_юр.консультация  hard
рекламодателям  расшифровка штрих-кодов  links/add

http://kiev-security.org.ua

Содержание

Вот сегодня на винте откопал. Ух как в момент обнаружения пальчики по асму затосковали...
Это наставление было написано мной в 1999 году для пособия, но естественно в него оно попало в покоцанном виде да еще и на украинском языке :)
Вот выкладываю его в первозданном, так сказать, виде.
Anton Morozov, 1.02.2003


======================================
            Наставление на путь истинный юному взломщику.

                                                    Да будет свет!
                                                    в этой Вашей
                                                    тьме.

                                                            Я и еще кто-то,
                                                              не помню кто.


     При написание наставления подразумевалось,  что читатель знаком с
языком Ассемблера и принципом работы ПЭВМ на уровне выше нижнего.

     Для взлома широкого круга программ далеко не достачно одного  от-
ладчика  Soft-ICE.  Существеет  множество других очень удобных средств
для осуществления этой цели, например, W32Dasm от фирмы URSoftware, но
здесь будет рассмотрена идея взлома только с помощью Soft-ICEa.
     Перед началом следует определиться,  каким из дву способов иссле-
дования  "подопытного кролика" удобнее воспользоваться.  Первый способ
заключается в исследование программы пошаговым методом с самого  нача-
ла. Для этого ее загружают , если она ДОС-программа, с помощью утилит-
ки DLDR.EXE,  а если WIN-программа,  то - WLDR.EXE.  Пример,  DLDR.EXE
X.COM.  Обе  эти  утилиты входят в пакет Soft-ICEа.  Этот способ очень
трудоемок,  особенно если исследуемая программа большого  размера,  но
зато он позвалет тщательно изучить и понять алгоритм ее работы,  что в
свою очередь поведет за собой упрощение взлома.  Второй способ  проще,
но и сложнее. Абсурд. Следует сперва отыскать тот участок в программе,
который отвечает за защиту,  а уж потом его исследовать. Для этого ис-
пользуют установку контрольных точек на функции или действия, вызывае-
мые/осуществялемые исследуемой программой,  при этом они сперва отклю-
чаются (см. команду BD), а при начале отработки защиты включаются (см.
команду BE).  В результате,  когда сработает контрольная точка,  будет
получена  возможность  исследовать только часть программы,  содержащей
код защиты.  На практике это может быть  так,  самый  расспростаненный
пример.  Некая WIN-программа,  назавем ее Х, в течение 30 дней демонс-
трирует всю свою мощь в работе.  По истечению срока, Х просит перечис-
лить некую сумму денег на счет ее производителя, затем получить у него
секретный код, ввести его и продолжить работать без каких-либо ограни-
чений.  Если код не будет введен,  то самай нужный некий метод расчета
будет недоступен или вообще Х перестанет работать.  Вводим в  качестве
кода любой набор знаков и Х выводит сообщение на экран, что код не со-
ответстует. Затем ставим контрольную точку, например, на функцию выво-
да на экрана, отлючаем ее (см. команду BD), заходим в окошко ввода ко-
да,  вводим опять случайный набор знаков,  включаем контрольную  точку
(см. команду BE), жмем клавишу, потверждающую ввод кода, и перед выво-
дом сообщения о несоответствии  кода,  срабатывает  контрольная  точка
т.е.  найден участок защиты. Делее следует подняться чуть выше по коду
программы (см. описание F10) и проанализировать причину ввывода окошка
уже  изнутри.  Для попадения в код защиты ДОС-программ можно устанвли-
вать контрольные точки на прерывания (21h,  10h,  16h,  13h и др.), на
доступ к портам и учаскам памяти. В случае же WIN-программ вот некото-
рые,  наиболее часто используемые,  функции для установки  контрольных
точек и краткое их описание (полное описание можно получить, ознакома-
ившись c SDK и DDK):

- вызываются при работе с файлами
--- ReadFile
--- WriteFile
--- SetFilePointer

- вызываются при работе с файлами формта ini
--- GetPrivateProfileString
--- GetPrivateProfileInt
--- WritePrivateProfileString
--- WritePrivateProfileInt
--- GetPrivateProfileStringA
--- GetPrivateProfileIntA
--- WritePrivateProfileStringA
--- WritePrivateProfileIntA

- вызываются при работе с реестром
-- создание и удаление ключа
--- RegCreateKey
--- RegDeleteKey
--- RegCreateKeyA
--- RegDeleteKeyA
-- чтение значения ключа
--- RegQueryValue
--- RegQueryValueA
-- открытие и закрытие ключа
--- RegOpenKey
--- RegOpenKeyA
--- RegCloseKey
--- RegCloseKeyA

- вызываются при работе с окнами диалога
-- получить текс или число из окна
--- GetWindowText
--- GetDlgItemText
--- GetWindowTextA
--- GetDlgItemTextA
--- GetDlgItemInt

- вызываються при создание окон с сообщениями (см. выше пример)
--- MessageBox
--- MessageBoxA
--- MessageBoxExA
--- MessageBeep

- другие фунции вывода сообщений
--- SENDMESSAGE
--- WSPRINTF

- вызываются для получение даты и времени
--- GetSystemTime
--- GetLocalTime

- вызывается для устанвке времени создания файла равного текущему
--- SystemTimeToFileTime
--- DosDateTimeToFileTime

- вызывается для уставки системного времени равного времения создания файла
--- FileTimeToSystemTime
--- FiltTimeToDosDateTime

- вызывается создания/открытия окна
--- createwindow
--- createwindowexa
--- showwindow

- вызывается для определения типа носителя, например, для проверки CD-ROM
  это или нет
--- GetDriveType
--- GetDriveTypeA

- вызывается для определения текущего диска
--- GetLogicalDrives
--- GetLogicalDrivesA

- вызывется для определения всех пимеющихся логических дисков
--- GetLogicalDriveStrings
--- GetLogicalDriveStringsA

- вызывается для проверки на наличие mscdex
--- прерывание 2F, AX=1500h

- вызываются для получения информации о окне
--- GETWINDOWWORD
--- GETWINDOWLONG


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

Anton Morozov,04.11.1999.
======================================

HOME


Если у вас есть сайт или домашняя страничка - поддержите пожайлуста наш ресурс, поставьте себе кнопочку, скопировав этот код:

<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a>

Идея проекта(C)Anton Morozov, Kiev, Ukraine, 1999-2017, security2001@mail.ru