29
1 Proseminar TUM Proseminar TUM Informatik Informatik PalmPilot und Handspring: PalmPilot und Handspring: Technik, Programmierung, Anwendung Technik, Programmierung, Anwendung Hacks Hacks 15.11.2001 15.11.2001 Daniel Schweighart Daniel Schweighart [email protected] [email protected]

1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart [email protected]

Embed Size (px)

Citation preview

Page 1: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

11

Proseminar TUM Proseminar TUM InformatikInformatik

PalmPilot und Handspring:PalmPilot und Handspring:Technik, Programmierung, AnwendungTechnik, Programmierung, Anwendung

HacksHacks

15.11.200115.11.2001

Daniel SchweighartDaniel [email protected]@Schweighart.net

Page 2: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

22

ÜbersichtÜbersicht

GrundlegendesGrundlegendes ProblemeProbleme HackmanagerHackmanager HackprogrammierungHackprogrammierung Bekannte HacksBekannte Hacks

Page 3: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

33

OS-AufbauOS-Aufbau

Betriebssystem im RomBetriebssystem im Rom Funktionsadressen im Ram (Trap-Funktionsadressen im Ram (Trap-

Tabelle)Tabelle)

Trap Tabelle

Rom

Funktionsaufruf

Betriebssystem

Ram

Page 4: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

44

TrapsTraps

Tabelle im Tabelle im RamRam Palm OS 4 hat über 1000 Trap-Palm OS 4 hat über 1000 Trap-

NummernNummern Nummern fortlaufend ab 0xA000 Nummern fortlaufend ab 0xA000

vergebenvergeben Kurzer Befehl (32-Bit-Zahl)Kurzer Befehl (32-Bit-Zahl)

Page 5: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

55

Was ist ein Hack?Was ist ein Hack?

Anwendungsübergreifende Anwendungsübergreifende FunktionenFunktionen

Kein eigenes Icon im LauncherKein eigenes Icon im Launcher Aktivierung über HackmanagerAktivierung über Hackmanager Ähnlich wie TSR-Programme unter Ähnlich wie TSR-Programme unter

DosDos

Page 6: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

66

Wie funktioniert ein Wie funktioniert ein Hack?Hack? Umleitung der Trap Adresse auf Umleitung der Trap Adresse auf

eigenen Programmcodeeigenen Programmcode

Ersetzen / Erweitern der Ersetzen / Erweitern der BetriebssystemfunktionBetriebssystemfunktion

Zuletzt gestarteter Hack wird Zuletzt gestarteter Hack wird zuerst aufgerufenzuerst aufgerufen

Page 7: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

77

ÜbersichtÜbersicht

GrundlegendesGrundlegendes ProblemeProbleme HackmanagerHackmanager HackprogrammierungHackprogrammierung Bekannte HacksBekannte Hacks

Page 8: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

88

ProblemeProbleme

Trap Tabelle Rom

Normaler Funktionsaufruf

Page 9: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

99

ProblemeProbleme

Trap Tabelle Rom

A

Laden von Hack A

Page 10: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1010

ProblemeProbleme

Trap Tabelle Rom

AB

Laden von Hack B

Page 11: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1111

ProblemeProbleme

Trap Tabelle Rom

AB

Schließen von Hack A

Page 12: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1212

ProblemeProbleme

Trap Tabelle Rom

AB

Schließen von Hack B

Page 13: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1313

ÜbersichtÜbersicht

GrundlegendesGrundlegendes ProblemeProbleme HackmanagerHackmanager HackprogrammierungHackprogrammierung Bekannte HacksBekannte Hacks

Page 14: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1414

HackmanagerHackmanager

Verwaltet das Patchen der TrapsVerwaltet das Patchen der Traps Verhindert Konflikte beim PatchenVerhindert Konflikte beim Patchen Keine Verwendung mehrerer Keine Verwendung mehrerer

Hackmanager möglichHackmanager möglich Gängigste Hackmanager: Gängigste Hackmanager: HackmasterHackmaster, , EVPlugBaseEVPlugBase, , X-X-MasterMaster, , TealmasterTealmaster..

Page 15: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1515

HackmasterHackmaster

Erster HackmanagerErster Hackmanager Entwickelt 1996 von Edward KeysEntwickelt 1996 von Edward Keys seit 1997 keine seit 1997 keine

WeiterentwicklungWeiterentwicklung Shareware 5$Shareware 5$ http://www.daggerware.com/http://www.daggerware.com/

Page 16: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1616

HackmasterHackmaster

Page 17: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1717

EVPlugBaseEVPlugBase

Entwickelt 1998 von EVSoftEntwickelt 1998 von EVSoft Letzte Version von Ende 1999Letzte Version von Ende 1999 Schützt aktive Hacks vor Schützt aktive Hacks vor

ÜberschreibenÜberschreiben Unterstützt Gruppierung von HacksUnterstützt Gruppierung von Hacks Anzeige der gepatchten FunktionenAnzeige der gepatchten Funktionen Reihenfolge der HacksReihenfolge der Hacks Erweiterung der API durch eigene Erweiterung der API durch eigene

FunktionenFunktionen

Page 18: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1818

EVPlugBaseEVPlugBase

Page 19: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

1919

X-MasterX-Master

FreewareFreeware Entwickelt 2000 von LinkesoftEntwickelt 2000 von Linkesoft Schützt aktive Hacks vor Schützt aktive Hacks vor

ÜberschreibenÜberschreiben Unterstützt Gruppierung von HacksUnterstützt Gruppierung von Hacks Anzeige der gepatchten FunktionenAnzeige der gepatchten Funktionen Reihenfolge der HacksReihenfolge der Hacks http://linkesoft.dehttp://linkesoft.de

Page 20: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2020

X-MasterX-Master

Page 21: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2121

TealmasterTealmaster

Kommerziell 9.95$Kommerziell 9.95$ Entwickelt 2001 von TealpointEntwickelt 2001 von Tealpoint Schützt aktive Hacks vor Schützt aktive Hacks vor

ÜberschreibenÜberschreiben Unterstützt Gruppierung von HacksUnterstützt Gruppierung von Hacks Anzeige der gepatchten FunktionenAnzeige der gepatchten Funktionen Hack-PrioritätHack-Priorität http://www.tealpoint.comhttp://www.tealpoint.com

Page 22: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2222

TealmasterTealmaster

Page 23: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2323

ÜbersichtÜbersicht

GrundlegendesGrundlegendes ProblemeProbleme HackmanagerHackmanager HackprogrammierungHackprogrammierung Bekannte HacksBekannte Hacks

Page 24: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2424

HackprogrammierungHackprogrammierung

Erweiterung vorhandener Erweiterung vorhandener SystemroutinenSystemroutinen

Keine Fehlerbehandlung nötigKeine Fehlerbehandlung nötig

Schwer zu Debuggen, da kein Schwer zu Debuggen, da kein vollständiges Programmvollständiges Programm

Page 25: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2525

SpeicherSpeicher

Keine globalen VariablenKeine globalen Variablen Hack läuft im Stack-Frame der Hack läuft im Stack-Frame der

AnwendungAnwendung Features: Features:

Anwendungsübergreifende Anwendungsübergreifende Variable (32-Bit-Wort)Variable (32-Bit-Wort)

Große Variablen Große Variablen Datenbank Datenbank (langsam)(langsam)

Page 26: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2626

KompatibilitätKompatibilität

Was ist zu beachten?Was ist zu beachten?– Keine undokumentierten Funktionen Keine undokumentierten Funktionen

benutzenbenutzen– Nur API-Funktionen verwendenNur API-Funktionen verwenden– Nach Hack Aufruf: Aufruf der original Nach Hack Aufruf: Aufruf der original

FunktionFunktion– Keine Optimierung auf bestimmte Keine Optimierung auf bestimmte

HackmanagerHackmanager

Page 27: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2727

ÜbersichtÜbersicht

GrundlegendesGrundlegendes ProblemeProbleme HackmanagerHackmanager HackprogrammierungHackprogrammierung Bekannte HacksBekannte Hacks

Page 28: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2828

Bekannte HacksBekannte Hacks

Glowhack: http://www.dovcom.comGlowhack: http://www.dovcom.com Findhack: Findhack:

http://perso.wanadoo.fr/fpillet/http://perso.wanadoo.fr/fpillet/ Quickwrite Hack: http://www.mobi-Quickwrite Hack: http://www.mobi-

systems.comsystems.com

Über 350 Hacks auf Über 350 Hacks auf http://www.palmgear.com http://www.palmgear.com

Page 29: 1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks15.11.2001 Daniel Schweighart Daniel@Schweighart.net

2929

QuellenQuellen

ct 16 / 2001ct 16 / 2001 http://www.daggerware.com/http://www.daggerware.com/ http://linkesoft.dehttp://linkesoft.de http://www.tealpoint.comhttp://www.tealpoint.com