1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks Daniel Schweighart
2 Übersicht Grundlegendes Grundlegendes Probleme Probleme Hackmanager Hackmanager Hackprogrammierung Hackprogrammierung Bekannte Hacks Bekannte Hacks
3 OS-Aufbau Betriebssystem im Rom Betriebssystem im Rom Funktionsadressen im Ram (Trap- Tabelle) Funktionsadressen im Ram (Trap- Tabelle) Trap Tabelle Rom Funktionsaufruf Betriebssystem Ram
4 Traps Tabelle im Ram Tabelle im Ram Palm OS 4 hat über 1000 Trap- Nummern Palm OS 4 hat über 1000 Trap- Nummern Nummern fortlaufend ab 0xA000 vergeben Nummern fortlaufend ab 0xA000 vergeben Kurzer Befehl (32-Bit-Zahl) Kurzer Befehl (32-Bit-Zahl)
5 Was ist ein Hack? Anwendungsübergreifende Funktionen Anwendungsübergreifende Funktionen Kein eigenes Icon im Launcher Kein eigenes Icon im Launcher Aktivierung über Hackmanager Aktivierung über Hackmanager Ähnlich wie TSR-Programme unter Dos Ähnlich wie TSR-Programme unter Dos
6 Wie funktioniert ein Hack? Umleitung der Trap Adresse auf eigenen Programmcode Umleitung der Trap Adresse auf eigenen Programmcode Ersetzen / Erweitern der Betriebssystemfunktion Zuletzt gestarteter Hack wird zuerst aufgerufen Zuletzt gestarteter Hack wird zuerst aufgerufen
7 Übersicht Grundlegendes Grundlegendes Probleme Probleme Hackmanager Hackmanager Hackprogrammierung Hackprogrammierung Bekannte Hacks Bekannte Hacks
8 Probleme Trap TabelleRom Normaler Funktionsaufruf
9 Probleme Trap TabelleRom A Laden von Hack A
10 Probleme Trap TabelleRom AB Laden von Hack B
11 Probleme Trap TabelleRom A B Schließen von Hack A
12 Probleme Trap TabelleRom AB Schließen von Hack B
13 Übersicht Grundlegendes Grundlegendes Probleme Probleme Hackmanager Hackmanager Hackprogrammierung Hackprogrammierung Bekannte Hacks Bekannte Hacks
14 Hackmanager Verwaltet das Patchen der Traps Verwaltet das Patchen der Traps Verhindert Konflikte beim Patchen Verhindert Konflikte beim Patchen Keine Verwendung mehrerer Hackmanager möglich Keine Verwendung mehrerer Hackmanager möglich Gängigste Hackmanager: Hackmaster, EVPlugBase, X-Master, Tealmaster. Gängigste Hackmanager: Hackmaster, EVPlugBase, X-Master, Tealmaster.
15 Hackmaster Erster Hackmanager Erster Hackmanager Entwickelt 1996 von Edward Keys Entwickelt 1996 von Edward Keys seit 1997 keine Weiterentwicklung seit 1997 keine Weiterentwicklung Shareware 5$ Shareware 5$
16 Hackmaster
17 EVPlugBase Entwickelt 1998 von EVSoft Entwickelt 1998 von EVSoft Letzte Version von Ende 1999 Letzte Version von Ende 1999 Schützt aktive Hacks vor Überschreiben Schützt aktive Hacks vor Überschreiben Unterstützt Gruppierung von Hacks Unterstützt Gruppierung von Hacks Anzeige der gepatchten Funktionen Anzeige der gepatchten Funktionen Reihenfolge der Hacks Reihenfolge der Hacks Erweiterung der API durch eigene Funktionen Erweiterung der API durch eigene Funktionen
18 EVPlugBase
19 X-Master Freeware Freeware Entwickelt 2000 von Linkesoft Entwickelt 2000 von Linkesoft Schützt aktive Hacks vor Überschreiben Schützt aktive Hacks vor Überschreiben Unterstützt Gruppierung von Hacks Unterstützt Gruppierung von Hacks Anzeige der gepatchten Funktionen Anzeige der gepatchten Funktionen Reihenfolge der Hacks Reihenfolge der Hacks
20 X-Master
21 Tealmaster Kommerziell 9.95$ Kommerziell 9.95$ Entwickelt 2001 von Tealpoint Entwickelt 2001 von Tealpoint Schützt aktive Hacks vor Überschreiben Schützt aktive Hacks vor Überschreiben Unterstützt Gruppierung von Hacks Unterstützt Gruppierung von Hacks Anzeige der gepatchten Funktionen Anzeige der gepatchten Funktionen Hack-Priorität Hack-Priorität
22 Tealmaster
23 Übersicht Grundlegendes Grundlegendes Probleme Probleme Hackmanager Hackmanager Hackprogrammierung Hackprogrammierung Bekannte Hacks Bekannte Hacks
24 Hackprogrammierung Erweiterung vorhandener Systemroutinen Erweiterung vorhandener Systemroutinen Keine Fehlerbehandlung nötig Schwer zu Debuggen, da kein vollständiges Programm
25 Speicher Keine globalen Variablen Keine globalen Variablen Hack läuft im Stack-Frame der Anwendung Hack läuft im Stack-Frame der Anwendung Features: Anwendungsübergreifende Variable (32-Bit-Wort) Features: Anwendungsübergreifende Variable (32-Bit-Wort) Große Variablen Datenbank (langsam) Große Variablen Datenbank (langsam)
26 Kompatibilität Was ist zu beachten? Was ist zu beachten? –Keine undokumentierten Funktionen benutzen –Nur API-Funktionen verwenden –Nach Hack Aufruf: Aufruf der original Funktion –Keine Optimierung auf bestimmte Hackmanager
27 Übersicht Grundlegendes Grundlegendes Probleme Probleme Hackmanager Hackmanager Hackprogrammierung Hackprogrammierung Bekannte Hacks Bekannte Hacks
28 Bekannte Hacks Glowhack: Glowhack: Findhack: Findhack: Quickwrite Hack: systems.com Quickwrite Hack: systems.com Über 350 Hacks auf Über 350 Hacks auf
29 Quellen ct 16 / 2001 ct 16 /