Библиотека knigago >> Учебники и пособия >> Статьи и рефераты >> Техника отладки приложений без исходных кодов (Статья о SoftICE)


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 922, книга: Равновесие Сил (СИ)
автор: Виктор Марочкин

"Равновесие Сил" - захватывающий роман в жанре фэнтези, созданный автором Виктором Марочкиным. Действие книги разворачивается в уникальном и хорошо продуманном мире, где магия и технологии сплелись воедино. Главный герой Алан - талантливый маг, который пытается найти свое место в жизни. Оказавшись вовлеченным в древнее пророчество и обретя могущественный артефакт, он должен отправиться в опасное путешествие, чтобы спасти свой мир. Повествование книги динамичное и увлекательное....

СЛУЧАЙНАЯ КНИГА

Голод. Майкл Грант
- Голод

Жанр: Социально-философская фантастика

Год издания: 2019

Серия: Исчезновение

Крис Касперски - Техника отладки приложений без исходных кодов (Статья о SoftICE)

Техника отладки приложений без исходных кодов (Статья о SoftICE)
Книга - Техника отладки приложений без исходных кодов (Статья о SoftICE).  Крис Касперски  - прочитать полностью в библиотеке КнигаГо
Название:
Техника отладки приложений без исходных кодов (Статья о SoftICE)
Крис Касперски

Жанр:

Статьи и рефераты, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Крэкинг и реверсинжиниринг, Отладка, тестирование и оптимизация ПО, Assembler

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Техника отладки приложений без исходных кодов (Статья о SoftICE)"

Практически все знают, что программы взламываются отладчиком, но не все знают, как. На самом деле ничего сложного в этом нет. Достаточно выучить несколько простых приемов и уже можно начинать ломать.

Читаем онлайн "Техника отладки приложений без исходных кодов (Статья о SoftICE)". [Страница - 5]

переход, расположенный по адресу 101AEE, который прыгает за диалог возврата. Изменив jnz на jmp short, мы навсегда уберем диалог с экрана. Конечно, такая мера еще не зарегистрирует программу, но это все-таки кое-что!
Отладка динамических библиотек
Loader32 (символьный загрузчик soft-ice) как бы позволяет загружать динамические библиотеки, но отлаживать их в автономном режиме не позволяет, что, собственно говоря, и не удивительно, ведь всякая такая библиотека - просто набор функций, вызываемых из основного процесса. Возьмем библиотеку oorwiz.dll, экспортирующую тройку функций с заманчивыми именами: RegWiz_InitReadOnly, RegWiz_InitTrial, RegWiz_InitLicMgr. Как их отладить?
Заходим в Loader32, выбираем пункт File -> Load Export, указываем имя библиотеки (oorwiz.dll). В списке "Loader Symbols" немедленно появляется новое имя. Теперь загружаем основной исполняемый файл (в данном случае oodled.exe) и устанавливаем точки останова на интересующие нас функции ("bpx RegWiz_InitReadOnly", "bpx RegWiz_InitTrial", "bpx RegWiz_InitLicMgr"), заставляя отладчик всплывать при их вызове.

Рисунок 6. Загрузка экспорта из динамических библиотек.
Поскольку динамические библиотеки перемещаемы, адреса в дизассемблере могут не совпадать с отладчиком. Вот, например, в oorwiz.dll IDA определяет адрес функции RegWiz_InitTrial как 10001D00h, а soft-ice как F60000. Ну, и как с этим жить? А вот как: базовый адрес загрузки (Imagebase) равен 10000000h, в чем IDA честно признается в начале файла. Но загрузить по этому адресу библиотеку не получается и операционная система перемещает ее по адресу xxxx, о чем говорит команда "MOD" в soft-ice:
:mod
hMod Base Module Name File Name
80400000 804000C8 ntoskrnl \WINNT\System32\ntoskrnl.exe
...
00400000 00400108 oodled \Program Files\OO Software\DriveLED2\ood
00F30000 00F300B8 oodlrwrs \Program Files\OO Software\DriveLED2\ood
00F60000 00F600F8 oorwiz \Program Files\OO Software\DriveLED2\oor
10000000 100000C0 oodledrs \Program Files\OO Software\DriveLED2\ood
Листинг 4. Просмотр базовых адресов загрузки командой MOD.
Разница базовых адресов составляет 10001000 - F60000 = F0A1000, поэтому чтобы перевести адрес из отладчика в дизассемблер к нему необходимо добавить F0A1000, а из дизассемблера в отладчик - отнять.
Заключение
Рассмотренные приемы работают далеко не везде и не всегда. Разработчики далеко не идиоты и он взлома они все-таки защищаются. Лучше начинать с простых защит, постепенно переходя все к более сложным. Отладчик - это сложный инструмент, который не осваивается за день. Исследование машинных кодов - настоящее искусство, которому учатся всю жизнь. Так что, не нужно огорчаться, если что-то не получается. Чем хитрее защита и чем труднее взлом, тем более удовлетворение она приносит в конечном итоге! Кто-то сравнил это чувство с оргазмом. Ничего подобного! Хакерство намного круче!

--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.