Показать сообщение отдельно

Введение в крэкинг с нуля, используя OllyDbg
  #1  
Старый 11.11.2008, 14:25
StopFreeLife
Участник форума
Регистрация: 30.12.2007
Сообщений: 280
С нами: 9665204

Репутация: 557
Exclamation Введение в крэкинг с нуля, используя OllyDbg

Продолжаем практиковаться в распаковке, каждый раз используя более трудный упаковщик, постепенно повышая тем самым уровень сложности.

Следующим упаковщиком на шкале сложности является aspack, очень похожий на UPX, и для которого у нас есть крэкми UnPackMe_ASPack2.12.exe, использовавшееся в главе 32.

Для практики установим OllyDump в директорию с плагинами, чтобы сделать дамп с его помощью.

Здесь была ссылка, но она устарела. Возможно, поможет вот эта.

Открываем OllyDbg, защищённый плагинами от обнаружения, и находим OEP с помощью метода PUSHAD.




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



Видим начальный PUSHAD, который проходим с помощью F7, а затем делаем


ESP-FOLLOW IN DUMP, чтобы установить в DUMP’е железную (hardware) точку останова на доступ к значениям двух регистров, которые сохраняются инструкцией PUSHAD.



Затем нажимаем F9.



И останавливаемся прямо после POPAD, который восстанавливает сохранённые в эти регистры значения. Трассируем с помощью F7, пока не прибудем в OEP.



Как видим, код был не понят, выходим из анализа.



И видим, что если проанализировать его ещё раз, всё становится гораздо лучше.



Затем приступаем к дампу файла. Идём в меню PLUGINS и ищем там OllyDump.





Нам открывается окно плагина, в котором уже отображено то, что можно модифицировать. Можно исправить базу кода без необходимости потом править её в заголовке. В окне видим, что база кода равна 4000, а если помним, то aspack выполняется не в первой секции, поэтому не меняем это значение, которое соответствует 404000, где находится OEP и выполняется программа.

Ещё одна важная фишка – это опция «REBUILD IMPORT», находящаяся внизу окна. OllyDbg пытается сделать работу IMP REC’а, для чего ему служат METHOD1 и METHOD2, которые могут работать для простых упаковщиков. Вы можете сделать два дампа, используя каждый из этих методов, и посмотреть, работает ли хотя бы один из них. Это не всегда срабатывает, но иногда может.

Мы снимаем галочку с «REBUILD IMPORT», так как мы будем использовать IMP REC для большей надёжности.


Последний раз редактировалось StopFreeLife; 11.11.2008 в 14:34..
 
Ответить с цитированием