Техника и инструмент модификации программ



Изменения могут быть внесены в файл программы вручную или с помощью специальных программ. Самой популярным инструментом для взлома программного обеспечения сегодня является SoftICE.

SoftICE – это программа-отладчик режима ядра для Microsoft Windows. Программа разработана для управления процессами на низком уровне Windows, причем таким образом, чтобы операционная система не распознавала работу отладчика. В отличие от прикладного отладчика, SoftICE способен приостановить все операции в Windows, что очень важно, например, для отладки драйверов.

Недостатком программы является ее зависимость от версии ОС. Поддержка программы завершилась с 11 июля 2007 года, соответственно все новые, выпущенные после этого времени ОС Windows могут не поддерживать работу программы.

Среди коммерческих современных программ в качестве подобного инструмента исследования и исправления выделяется PE Explorer.

PE Explorer – программа для просмотра, редактирования и анализа внутреннего устройства исполняемых файлов, таких как EXE, DLL, ActiveX (. OCX) и других. Набор различных инструментов, объединенные общим интерфейсом, позволит заглянуть внутрь любой программы. С помощью PE Explorer можно исследовать как собственные программы и библиотеки, так и приложения от сторонних разработчиков, к чьим исходным текстам нет доступа. В состав PE Explorer входят редакторы ресурсов и секций, просмотр списка импортируемых из DLL функций и их синтаксиса, дизассемблер, сканер зависимостей, распаковщик UPX и другие утилиты. PE Explorer позволяет анализировать, редактировать или оптимизировать проблемные файлы (пример – изучение устройства вредоносных программ), переводить интерфейсы на другие языки, распаковывать и восстанавливать сжатые файлы, изучать дизайн и алгоритмы, используемые в программах. Программа подойдет для выполнения экспресс-анализа EXE файлов, для сбора информации об исполняемом файле и отображения её в понятном и структурированном виде.

В части изменений программа позволяет проверить интеграцию исследуемой программы (не было ли ранее изменений), модифицировать значение точки входа в программу (она будет начинаться другим кодом), свойств файлов, вычислять и корректировать контрольные суммы файла. Любые изменения, которые вносились в программу, можно сохранить в виде другой программы.

Для простой ручной правки двоичных данных и программ используются шестнадцатеричные редакторы. От популярной современной программы HIEW часто используют ее последнюю некоммерческую версию HIEW 6.01. Она позволяет просматривать и изменять файлы в шестнадцатеричном виде и в виде ассемблерного кода.

Рис. 2. Просмотр данных файла в виде ассемблерного кода

Рис. 3. Замена ассемблерных команд редактором

Рис. 4. Результат внесенных изменений

На Рис. 2 - Рис. 4 показаны процесс и результат внесения изменений в программу. Чаще всего изменения касаются команд условных переходов. Для того, чтобы избежать каких-либо действий программы в случае, например, неправильного ввода пароля (а он будет введен неправильно), нужно, чтобы программа изменила порядок действий. Например, неправильный пароль начала считать как правильный.

Мнемоника команд переходов обычно строится так: указывается буква, означающая команду, например «j» – jump (прыжок), и дополняется условие: «e» – equal (равно), «ne» – not equal (не равно), «l» – lower (меньше) и т.д.

Рис. 5. Фрагменты оригинала и исправленной программы

 

2259: 08FC or ah,bh; Проверка условия

225B: 7503 jne 2260; Прыжок на 2260, если не равно

225D: 89F9 mov cx,di; Действия, которые будут

225F: 41 inc cx; пропущены

2260: …

 

2259: 08FC or ah,bh; Проверка условия

225B: 7403 je 2260; Прыжок на 2260, если равно

225D: 89F9 mov cx,di; Действия, которые будут

225F: 41 inc cx; пропущены

2260: …

 

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

2.5. Инструменты трассировки Ollydbg

Из некоммерческих программ-отладчиков для исследования, отладки и изменения на сегодняшний день наибольшее распространение имеет программа Ollydbg. Она удобна тем, что при небольших размерах (1,5 Мб) имеет графический пользовательский интерфейс и большое количество функций. Диапазон возможностей виден в странице настройки программы (Рис. 6).

Рис. 6. Возможности настройки программы Ollydbg

Состав информации, которую дает программа при отладке программ, совпадает с тем, который включают и другие отладчики. Например, на (Рис. 7) показана панель CPU, в которой отображены текущий фрагмент программы (выделена текущая команда), состояние регистров, флагов, стека процессора.

Рис. 7. Вид окна CPU при отладки программы в Ollydbg

Наряду с этим, программа выполняет анализ фрагмента текста, показывает предполагаемые циклы, в комментариях – где это возможно – указывает регистр, используемый в качестве счетчика цикла.

В процессе отладки все изменения, которые произошли с отображаемыми данными за последний шаг, показываются красным цветом.

Рис. 8. Возможности изменения ассемблерных команд в Ollydbg

 


Дата добавления: 2015-12-19; просмотров: 12; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!