---
title: Jamba Downloads
language: de
layout: default
created: 2009-04-11 22:06:49 +0200
updated: 2009-04-11 22:06:49 +0200
toc: false
tags:
  - know-how
  - hacking
  - hardware
  - jamba
---
Vor etlicher Zeit hatte ich mal 100,- € Guthaben bei Jamba gewonnen. Beim Versuch, ein Programm auf mein Samsung Z300
zu laden (das Z300 gibt's bei Jamba nur unter der T-Mobile-Bezeichnung *ZM60*), zeigte mir Jamba, dass mein Handy
angeblich keine Software downloaden könne. Der kleinere Bruder, das Z500, hingegen unterstützt das merkwürdigerweise.

Früher hatte es mal funktioniert, dass ich mir den Download-Link an mein Smartphone schicken lasse, und dann von dort
oder vom PC aus die .jad und .jar Dateien herunterlade - aber neuerdings kommt nur "*Ihr Handy unterstützt keine Spiele
- bitte suchen Sie sich stattdessen ein Logo aus:*" und ein paar Logos, die ich nicht mal unter Androhung von Gewalt
herunterladen würde.

Von einigen Experimenten mit einem P910i und Jamba hatte ich herausgefunden, dass Jamba nach dem UserAgent-String vom
Browser geht. (Für ein Opera auf dem PC ist das z.B. `Opera/9.00 (Windows NT 5.1; U; en)`.) Und wenn Jamba einen String
nicht erkennt, verweigert es den Download. Dies ist sicherlich auch dazu da, dass man die Spiele nur auf ein Handy
bekommt, von wo aus man sie nicht weiter verschicken kann. Wär ja auch doof, weil sonst könnte man ja die Software auf
ein neues Handy kopieren.

Also hab ich meine Geräte auf eine von mir präparierte PHP-Seite geschickt und mal die Browser-Strings gespeichert.
Hier ein paar:

* `SonyEricssonP910i/R5B SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0`
* `SGH-Z300 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0`
* `MOT-V3v/0E.42.08R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Link/6.3.0.0.0`

Um das Z500 zu simulieren, habe ich den zweiten String in folgenden abgewandelt:

* `SGH-Z500 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0`

Nimmt man jetzt einen Browser und stellt diesen UserAgent ein, bekommt man eine WML-Seite zum Download. In dieser
befindet sich dann auch der ersehnte Link zur `.jad`-Datei. Hat man diese heruntergeladen, findet man darin auch den
Link zur finalen `.jar`-Datei.

Das Z300 akzeptiert nun aber auch keine Java-Programme, die man per Bluetooth sendet, sondern nur welche, die per
WAP/GPRS heruntergeladen wurden. Dazu bietet sich [David Pye's FreeWap-Service](http://www.davidpye.com/index.php?page=freewap) an.
Wer es über seinen eigenen Server laufen lassen will, muss zusehen, dass die `.jar`-Dateien mit dem MIME-Typ
"`application/java-archive`" gesendet werden, statt "`application/octet-stream`". Das erreicht man beim
Apache-Webserver mit folgender Zeile in einer Datei `.htaccess`:

    AddType application/java-archive .jar

Dann braucht man nur noch per GPRS auf den URL der `.jar`-Datei zuzugreifen und der Download startet.
