Карманное рукоприкладство goabruce & porosenok Хакер, номер #096, стр. 096-076-1 (goabruce@beesoftware.ru) Взлом программ для КПК PocketPC «Я достаю из широких штанин...» мой маленький КПК. Запускаю прогу и вижу надпись: «Trial period is expired!». Давай посмотрим, что можно с этим делать. Введение В середине 80-х годов прошлого века мой друг приобрел персональный компьютер. Это был ЕС 1841 - шедевр советского плагиата. В комплект входили: процессорный блок размером 900х900х200 мм, в котором стояли камень Intel 8088 на 4 МГц, 640 Кб оперативки, 2 флоповода на 5,25" и винт аж на 4 Мб; блок питания (точно такого же размера, как и процессорный блок); телевизор CGA с разрешением 320х240 и с 16 цветами (но видюха могла отображать только 4 цвета из шестнадцатицветной палитры). В те времена это был предел мечтаний, и мы сгорали от зависти. Про цену вообще стыдно было спрашивать. Сейчас же у меня в кармане лежит HP Jornada 565 размером 132x77x17 мм, который примерно в 100 раз быстрее ЕС 1841. Да уж, мобильные устройства прочно осели в нашей жизни. Уже никого не удивишь карманным компьютером с процессором 600 МГц и экраном 640х480, с поддержкой Bluetooth, WiFi, 3D и т.д. По быстродействию КПК уверенно приближаются к большим собратьям. На них можно посмотреть новый фильм, почитать интересную книгу или поиграть в какой-нибудь новый квест - да и вообще, можно делать все, лишь бы был нужный софт, а добра этого на разных интернет-свалках хватает. Одна только беда - почти весь софт является платным, и цена некоторых программ доходит аж до нескольких сотен зеленых президентов. У честного русского человека таких денег нет, по крайней мере, на софт :). Да и большинство приложений явно не тянут на такую цену. Поэтому не скоро еще «зарастет народная тропа» на крякерские сайты. Все бы ничего, да вот только количество софта растет не по дням, а по часам, и «труженики ножа и топора» просто не успевают их ломать, так как не всегда можно найти нужное лекарство от жадности для новенькой проги. Я надеюсь, ты понял, к чему я веду. Правильно! У нас и своих мозгов хватит. В конце концов, не боги горшки обжигают. В этой статье я рассмотрю КПК, работающие под управлением операционных систем семейства Windows Mobile. PalmOS и Symbian оставим на потом. Ликбез Сразу хочу предупредить, что весь материал этой статьи дается в исключительно ознакомительных целях для тех, кто пишет или собирается писать софт для КПК, в качестве напоминания о том, как нельзя защищать свои программы. Использование материалов статьи в иных, в частности противозаконных, целях является уголовным преступлением. Никакой ответственности за возможное применение этой информации на практике автор не несет. Итак, ты, наверное, слышал, что все современные КПК используют ARM-процессоры, которые имеют RISC-архитектуру, в отличие от обычных ПК, процессоры которых имеют CISC-архитектуру. Этому можно было бы не придавать значения, но ARM-процессоры имеют совсем другую систему команд и, соответственно, другую мнемонику ассемблера. Чтобы не грузить себя мегабайтами англоязычной информации, советую тебе обратить внимание в первую очередь на то, что поможет реализовать бит-хак, а именно на следующее: 1. Процессор имеет 16 регистров общего назначения: R0-R15. Эти регистры могут быть использованы для хранения адресов и данных. Кроме этого имеется регистр состояния CPSR. В этом регистре есть флаги условия (биты 28-31): V (28 бит) - Переполнение; С (29 бит) - Переполнение/Заем/Расширение; Z (30 бит) - Флаг нуля; N (31 бит) - Отрицание/Меньше. |