YAHM - Yet Another Hack Manager
Written by Igor Nesterov (C) 2002-2003
THe latest YAHM: http://yahm.palmoid.com/YAHM_2_5_113.prc
YAHM with Zodiac support early beta: http://yahm.palmoid.com/yahm_239.prc
Download latest YAHM from http://yahm.palmoid.com/yahm.zipNews
2.3.6 (April 3, 2004) - Clear resource translation cache after calling hack about and config panels.
- Bugfix: support for hacks with 20+ traps
Index
1. About YAHM
2. PalmOS5 support
3. Requirements
4. About Hacks
5. Yet another hack manager? Why?
6. YAHM Installation
7. YAHM Usage
8. OS5 ready hacks
9. ARM hack development
10. User reviews
11. Disclaimer
12. Developers license
13. Version History
14. Author information
15. My other Palm software
1. About YAHM
YAHM - Yet Another Hack Manager. It is a control utility for so called 'hacks' management: activating, deactivating, beaming and deleting. YAHM presents my favorite feature set for hack manager.
Features:
- Hack activation/deactivation
- Viewing hack 'About page'
- Hack configuring
- Viewing detailed information about hack: name, version and patched syscalls
- Hack beaming
- Hack deletion. All other hack bases, preferences and features deleted too.
- Soft reset from program
- Option for all hack deactivation
- Active patch list
- Five profiles
- Increased protection in interference with hidden hacks
- Software protection from delete for active hacks
- Native ARM support
2. PalmOS5 support
YAHM can't run old style hack under PalmOS5. One can read about hacks and PalmOS5 in excellent article "Hacks on PalmOS 5" by Daniel Seifert at http://www.79bmedia.com/hacks/hack5.html.
Only new hacks, written for ARM processor can be run under this OS version. This approach has its own have pro and contra
Pros:
- No performance loss. There are no switches between the ARM execution and the m68k emulation layer. TealMaster-like old style hack emulation requires frequent switches.
- Hack development very similar to writing classic hacks.
- Patches influence both m68k and arm applications.
- All benefits of hack manager behind direct patches.
Cons:
- No direct support for old hacks.
- Not very documented native API usage.
3. Requirements
YAHM requires PalmOS 3.1-4.1 for running classic hacks and works on any device from Palm, Sony, Handspring and Handera. PalmOS5 devices can run only native ARM hacks.
4. About Hacks
Each Operating System has API - application program interface. This is a function set, provided by OS for applications. PalmOS isn't an exception to this rule. Significant parts of applications just use this API for achieving their production purposes. Some other applications were written for extending PalmOS functionality, like extended find or hard button redirection. Those programs should intercept API function calls (also known as system calls, syscalls) and extend their behavior.
Increased numbers of such programs cause conflicts, leading to system crashes. What is the roots of these conflicts?
- Simultaneous patching of one syscall.
- Wrong order of patch activation/deactivation.
Although, PalmOS offers functions for syscall patching, but it has no way to control all patches.
In 1996 Edward Keyes offered HackMaster: program for patch management. This program introduced a new kind of program for PalmOS: hacks. The hack author now had no responsibility for patch activation and deactivation; the primary goal of hack code was PalmOS functionality improvement. HackMaster did all hack management. Hacks became popular.
At the same time there were exists programs with their own patch management. One could discover them by using buttons or menu items named 'Enable program'. They were known as hidden hacks. Keyboard drivers and national language support were samples of such kind of programs. One can now find most of the hidden hacks with my
TrapCatcher tool for hidden hack search.
5. Yet another hack manager? Why?
Why was YAHM written? The answer is simple: no one of the existing hack managers offers me:
- All the features I want in one manager.
- Stable interference with hidden hacks
After one month of testing, when I was satisfied with program stability, YAHM was released.
6. YAHM Installation
Download YAHM from http://yahm.palmoid.com/yahm.zip. Unzip it and install Yahm.Prc on your device. Run it.
7. YAHM Usage
Install any hacks you want. Run YAHM. You can see classic Hack Manager interface. All hacks are listed on the screen.
First column with checkbox show you hack activity. If checkbox checked, hack is active.
Second column show hack name.
Click on third column with question icon show 'About' dialog from hack.
Click on fourth column with plus icon lead you to hack configuration screen.
Below is the row of buttons. Select hack with clicking on its name and press button. 'Config' and 'About' show the same dialogs form hack, 'Details' show information about hack. 'Beam' can beam hack to another device. 'Delete' button can delete hack with its bases, preferences and features.
Menu items:
- Soft reset - reset device.
- Deactivate all - for all hack deactivation.
- Active patches - show list of active patches.
- Check programs - analyzes all programs on device and report about programs that can cause possible conflicts with YAHM. This option has no meaning under OS5.
- Clear Profile - help with sticking on profile with buggy hack. Allow clearing profile without its activation.
- Make lite - saves 20Kb of memory by removing unneed syscall names list. If listbox "Patched traps" have no meaning for you, you can safely remove this info.
8. OS5 ready hacks
Feel free to send your own hacks to support@palmoid.com.
9. ARM hack development
Coming soon. You can read YAHM/V for PalmOS5 page. YAHM/V now was merged with YAHM. Look for samples in yahoo group: palmnest.
10. User reviews
Tanker Bob: Yet another hack manager! Igor was dissatisfied with all offerings, especially because of their less-than-stellar support of hidden traps. Igor wrote YAHM for himself to get the features that he wanted and offered it to the public. There are some features, like naming profiles, in X-Master that I still like, but YAHM solved every hack conflict on my device. I emailed Igor about support for disabling hacks during Hotsync, and he promptly emailed me a link to the latest beta with that feature. Great program with great support.
Ruben Santos:
I just had to give YAHM an excellent review. I've been using it for a couple weeks now and it is just as stable X-Master. Excellent feature choices and has become my hack manager of choice. I'm always delighted to see an excellent freeware applications released.
11. Disclaimer
YAHM provided as is, and not guaranteed to be free of bugs. The author assumes no liability for any problems resulting from the use of this product.
If you find a bug, please report about it to support@palmoid.com, along with the following info:
- Device model.
- PalmOS version.
- Active hacks list.
- Application, where crash happens.
This application is free.
12. Developers license
YAHM is freeware. Hack programs for YAHM can be distributed under any license: freeware, shareware or commercial. You can thank the author, having sent it a registered copy of your program, but it is not necessary ;-) .
YAHM can be freely distributed with hack programs. Yahm.zip file should be unchanged in distribution.
Publishing YAHM on freeware/shareware CD's require author's permission at support@palmoid.com.
13. Version History
- 2.3.6 (April 3, 2004)
- Clear resource translation cache after calling hack about and config panels.
- Bugfix: support for hacks with 20+ traps
- 2.2.2 (January 18, 2004)
- Making Lite version (20Kb less). Activates from Menu->Options->Make Lite.
- Disable "Check programs" for OS5: no incompatible programs for now ;-)
- Option "Clear profile" was added. Helpful for buggy profile clearing without activation
- Zero timeout warning.
- New safe ARM trap patching code
- Tungsten C compatibility
- 2.0.113 (November 8, 2003)
- Native ARM hacks support.
- QVGA scroll buttons was fixed
- Trap list was added to Details window
- Some incompatibility bugs were fixed
- Numerous enhancements in hack API. Hack development became simpler.
- 2.0 (October 11, 2003)
- Native ARM hacks support!
- 0.99 (June 9, 2003)
- Disable at HotSync option added (PalmOS 3.5+ only)
- Configurable startup timeout
- Discussion group 'palmnest' opened
- 0.98 (February 11, 2003)
- Bugfix: "delete hack" option fixed
- Bugfix: show database name if name resource absent
- 0.91 (October 28, 2002)
14. Author information
Feel free to send bugreports and suggestions to me.
Web page: http://yahm.palmoid.com
Email: support@palmoid.com
Yahoo group: palmnest15. My other Palm software