Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #57, АВГУСТ 2005 г.

Портативный взлом

Gelios

Спецвыпуск: Хакер, номер #057, стр. 057-066-2


Что нам понадобится?

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

Первый и главный инструмент, без которого не обойтись при исследовании программ всех без исключения КПК и телефонов - это, конечно же, дизассемблер IDA. Он поддерживает все типы процессоров, которые могут встретиться. Здесь важно, что программы для КПК используют свои DLL, то есть файлы типа user32.dll, используемые в обычных ПК, просто не подойдут. В последней версии IDA Pro 4.8 эти библиотеки получают в наличие сразу после установки, однако во всех предыдущих версиях их нет. Ищи их на сайте www.ka0s.net, посвященном исследованию КПК - тут можно найти много полезных статей и документов.

Далее понадобится какой-нибудь шестнадцатеричный редактор, например HIEW. Также будет очень нужен отладчик. Вот здесь и возникает проблема: дебаггеров для отладки программ под КПК почти нет! Вообще-то можно обойтись и без дебаггера, использовать только дизассемблер, но это работает далеко не всегда. Однако Microsoft о нас все-таки не забыли :). Они не поленились и написали среду разработки программ для мобильных устройств - eMbedded Visual C++, которая, к всеобщему счастью, содержит встроенный отладчик. Последнюю версию этой среды, а также Service Pack (его желательно поставить) можно найти и бесплатно скачать с www.microsoft.com/windowsmobile. Очень рекомендую скачать там же Microsoft Pocket PC 2003 SDK – пригодится при отладке.

Может пригодиться и какой-нибудь редактор ресурсов. Спешу еще раз предупредить: формат исполняемых файлов для многих типов КПК и для персональных компьютеров один и тот же. Иными словами, такие файлы без проблем воспринимаются стандартными программами типа Resource Hacker, PETools и т.п.

Последнее, что понадобится – это сам КПК, если, конечно, ты собираешься отлаживать программу, а не пытаться анализировать код только с помощью IDA. Также желательно иметь достаточно интернета, чтобы скачать все описанные инструменты :).

Этап первый. Снимаем основные ограничения

Когда все необходимые инструменты установлены и находятся под рукой, можно приступать непосредственно к исследованию программ. Для примера возьмем игру Plant Tycoon версии 1.0, и этот выбор не случаен. Во-первых, игра далеко не новая, поэтому взломана давно, так что, надеюсь, мы уже не нанесем материального ущерба ее автору. А во-вторых, на этой программе можно наглядно показать процесс создания патча. Смысл игры состоит в выращивании и скрещивании разных растений – что-то вроде тамагочи.

Назад на стр. 057-066-1  Содержание  Вперед на стр. 057-066-3