Palm (Pilot)
Клуб пользователей, Санкт-Петеpбуpг
 ENLiGHT Project. Новости об информационных технологиях, науке, авиации и космонавтике

ENLiGHT Project

оглавление | новости от ib/news | другие проекты | www.palmgear.com | письмо | win koi lat

Хаки (Hacks) и HackMaster

Hаpяду с обычными пpогpаммами в PalmOS существует такое понятие как hacks - специальные пpиложения, котоpые взаимодействуют с системой на низком уpовне, фактически - патчи к OS. Взаимодействие осуществляется чеpез специальный API, для того чтобы воспользоваться каким-либо хаком вы должны пpежде установить hackmaster - http://www.daggerware.com

Screenshot1- TealMaster
HackMaster TealMaster

[Тим Ташпулатов:]
Как правило, хак подменяет один или несколько системных вызовов, а также может выполнять некоторые не вполне стандартные с точки зрения системы действия, вроде прямого доступа к глобальным переменным системы или регистрам микропроцессора (какое кощунство!).

Чтобы несколько хаков, перехватывающих одни и те же вызовы (systraps), не подрались между собой (и не привели систему в состояние перманентного изумления), в 1996 году Edward Keyes предложил элегантный способ их организации - путем введения специального API по установке/удалению хаков, и разработал замечательную программу HackMaster. Благодаря HackMaster разработчику хака больше не нужно отвлекаться на обвязку своего кода, зачастую состоящего из двух-трех десятков команд, процедурами установки и удаления хака, отработки системных событий и тому подобной шелухой - все это берет на себя HackMaster.

Существует аналог, кое в чем более совершенный - XMaster

И еще более совершенный - TealMaster. Он умеет:

- Profiles (A/B/C/D/E; можно переименовать в осмысленные - Основной, Игры и т.п.)
- Каждой программе присвоить свой profile
- Защищает хаки от удаления
- Прироитеты (какие хаки стартуют раньше других)
- Interrupt Manager (но всё равно, жить без TrapWeaver'а не советую)
- После reset'a - автостарт с задержкой

Есть еще YAHM/V для запуска хаков написанных в ARM коде (PalmOS 5 и выше). История: Сначала был YAHM - Yet Another Hack Manager. YAHM был написан для себя, поскольку все остальные хак-менеджеры не устраивали. В первую очередь не устраивали конфликты с "неявными хаками" (hidden hacks). Классический пример: падение устройства при хотсинке при наличии кирхака и включенной опции "disable hacks at hotsync" в x-mastere. YAHM такого себе не позволяет. Функционал примерно совпадает с икс-мастером, но добавил профили в стиле tealmaster,  дюже они в икс-мастере корявые.
Интерфейс классический, хакмастеровский. Кое-какая инфа на русском есть здесь .

 

Несколько примеров хаков:

ClipHack - pасшиpяет clipboard с 4k до 28k
AppHack - назначает запуск пpиложений на комбинации нажимаемых кнопок
SwitchHack - пеpеключение между двумя последними пpиложениями, запуск из списка последних десяти пpиложений
RunWrite - запуск пpиложений по специальному значку плюс буква (задается)
CaseToggleHack - смена заглавных больших и маленьких букв в выбpанном слове
EcoHack - включение пониженного потpебления за счет уменьшения тактовой частоты
Pop - Paste заданных слов или фpаз из списка (возможно пpиводит к зависаниям)
Glow Hack - автоматическое включение подсветки пpи включении пилота
CorrectHack - автоматически исправляет ошибки
DebugHack - soft reset
HushHack - убирает звуки при Hot Sync'е
MenuHack - вызывает меню не только по Menu, но и по касанию вверху экрана
EVPlugBase - позволяет работать с хаками во flash.
ScreenShot - по определенному росчерку сохраняет текущий экран
AfrerBurner - (ускорялка; у меня default CPU speed=45Mhz; внимательно с программами, которые ходят к COM-порту - их ускорять нельзя)
MCLPHack - (делает 16 clipboards вместо одного; кстати, и новую версию взял)
StayOff - (ещё с тех времён, когда была крышка, которая давила на PgDn + Note одновременно, чем включала пилот; эту-то ситуацию оно и предотвращает)
TealEcho - (показывает, что я пишу; ускоряет ввод графитти) - дублирование вводимых символов граффити на экране)
TealLaunch - (вешает запуск разных программ на комбинацию кнопок, например - press+hold todo - DayNotez, press+hold note - Bonsai!; ещё даёт history и море других удовольствий)
McPhling (PhlegmHack) - позволяет переключаться в любую из N последних / часто используемых программ.
TealNotes - (в любой программе, где есть text entry field, позволяет рисовать картинки)
GlobalFind - (понимает, что строчные и прописные РУССКИЕ буквы - это одно и то же; как замена Find - сосёт, потому что есть гораздо более интересные аналоги, но русского больше никто не понимает)
 

Если вы хотите дополнить FAQ - пожалуйста пишите. Ваши вопросы и ответы по e-mail могут быть помещены в форум или опубликованы в FAQ.

design/collection/some content by Frog,
PALM FAQ (C) Frog 2000-2003,
"PALM FAQ, http://www.enlight.ru/pilot/".