Карманная безопасность

Xakep, номер #035, стр. 035-056-5


Называется сие чудо hackMaster. Установленный на пальму, он позволяет управлять другими программками-патчами. Если установить все что нужно из патчей, то сам hackMaster потом можно удалить. Патчей уже создано великое множество. Начиная от Backlight - который запоминает, была ли включена подсветка в последний раз, когда включали пальму, и восстанавливает ее состояние - и заканчивая русификатором cyrHack, с помощью которого можно пользоваться русской раскладкой клавиатуры и вводить/смотреть сообщения на русском языке.

Дизассемблеpы и CISC-asm

Ну и самое интересное напоследок. Взлом программ для пальмы представляет собой нетривиальную задачу. Весьма интересно и заманчиво выглядит большинство шароварных программок, распространенных в Сети. Моментально в мозгу хакеру появляется вопрос: если можно взламывать их аналоги на intel-платформе, нельзя ли проделать тот же финт ушами на пальмах?

Как я удачно выяснил - можно и еще как! Для начала немножко информации о пальмовом процессоре. На Palm m100, о котором, в общем-то, и речь идет, стоит DragonBall 16Mhz. Это 32-разрядный CISC-процессор с основным чипом M68K. То бишь Motorola. CISC в описании означает гораздо большее количество ассемблерных команд в листинге, которые могут нести похожие, а то и одинаковые функции, но называться совсем по-разному и иметь больше различных операндов. Так, к примеру, на CISC процессоре можно запросто одной командой перенести содержимое одной ячейки памяти в другую. А на RISC (каковыми являются, например, Pentium III) такого сделать уже не получится - нет таких команд у процессора.

Поэтому, если дать такому CISC 32bit-процессору те же мегагерцы, что и у современных пней-III, то он уделает вполне себе и новый тысячный пентиум-IV. Так что пальмовым процем можно смело гордиться. Он хоть и мелкий и работает в однозадачном режиме, но производительность у него - дай Боже.

Однако CISC-технология привносит свои проблемы - команд у M68K-ассемблера на порядок больше, хотя построение опкодов для них немножко попроще. Описание всех инструкций и опкодов есть от производителя - Motorola перевела в электронный вид документацию по процессорам серии M68XXX. Найти ее можно на www.motorola.com.

Для исследования программ, написанных для пальмы, нам понадобится ряд инструментов. Нашей целью будет самая популярная картосмотрелка HandMap-Deluxe версии 3.1 размером 77164 байт. Лучше нее для пальмы просмотрщика карт городов пока нет. Например, очень хорошую карту Москвы можно скачать с www.palmsoft.ru. Так что примемся за дело.

Во-первых, по сети гуляет специальный дизассемблер PilotDis вкупе с утилитой prc2bin. На самом деле нам больше понадобится prc2bin - специальная программка, которая разбирает файл формата PRC, - это исполнимые файлы для пальм-операционки - в небольшие бинарные файлики *.bin. В них содержатся экранные формы, текстовые надписи и другая полезная информация в том виде, в каком она пребывала до того, как программка *.prc была скомпилирована (расширение файлов у программ для пальмы - *.prc). Во-вторых, нам понадобится какой-нибудь патчер/HEX-вьювер. HIEW будет лучшим выбором.

Назад на стр. 035-056-4  Содержание  Вперед на стр. 035-056-6