Apples App-Store-Verantwortung für In-App-Items

Marco Tabini bündelt für Macworld.com noch einmal die Fakten der Freitagsgeschichte über den Klau von ‘In-App-Items’ unter iOS und stellt die berechtigte Frage inwieweit Apple in die Pflicht zu nehmen ist.
Apple is perfectly aware of this limitation, and strongly recommends that developers use their own mechanism to validate IAP receipts. Typically, this involves setting up a separate server, sending the receipts over to it, and then validating them against Apple’s servers.
[…] Besides, the entire premise of the App Store is that the whole app distribution process is delegated to Apple precisely so that developers can focus on what they do best: Write great apps. Apple’s 30 percent cut becomes much harder to justify if, in addition to writing great software, developers also have to worry about being defrauded.
Apples ‘App-Store-Verantwortung’ spielt in der Diskussion eine entscheidende Rolle. Ja, Entwickler können ihre In-App-Einnahmen durch einen technischen Mehraufwand schützen. Ja, über dessen (Arbeits-)Umfang (Server-Kosten, Software-Pflege, Verschlüsselungskenntnisse, etc.) lässt sich streiten. Aber glaubt man den diversen Tutorials für diesen ‘Hack’, scheint er in hohem Maße ‘kompatibel’. Das unterstützt die Annahme, dass viele Entwickler die separate Prüfung der In-App-(Kauf-)Belege nicht durchführen.
Mittlerweile spendiert eine simple 3-Schritt-Anleitung bereits technisch unbedarften Nutzer ohne Jailbreak den Gratis-Download. Ob die Konsequenzen, die ein geänderter DNS-Eintrag und ein Gaukel-Zertifikat so mit sich bringen, vollständig umrissen werden, zweifle ich an.
Wie der Hacker gegenüber Macworld erklärte, werden die Passwörter, die beim Kauf im Appstore eingegeben werden, im Klartext übertragen.
Selbst wenn man rücksichtslos argumentiert, dass hier ohnehin nur die Nutzerkonten von ‘In-App-Dieben’ gestohlen werden (welch Ironie!), verliert man aus den Augen, dass geknackte iTunes-Accounts* eine negative Auswirkung auf das gesamte Ökosystem haben – angefangen bei Cheatern mit unendlichen Game-Ressourcen (beispielsweise Waffen, Gegenstände oder Zaubertränke), bis zum Vertrauensverlust in das iTunes-Bezahlsystem.
Apple hat ein eigenes (ausgeprägtes) Interesse daran, solche ‘Tricks’ in ihrer streng kontrollierten Umgebung einzudämmen – wird’s ‘praxistauglich’, hat man verloren. Unter Jailbreak-Bedingungen fehlt dieses Problembewusstsein, weil man sowieso bemüht ist, jede Schwachstelle die den iOS-Dateibaum entblößt, auszubessern.
In-App-Betrügern, die keinen Jailbreak benötigen, muss man sich allerdings aus eigener Anstrengung entgegenstemmen, weil für Apple selbst zuviel auf dem Spiel steht.
* Um sich vom Vorwurf des Accounts-Diebstahls loszusagen, modifizierte der verantwortliche Hacker bereits an diesem Wochenende seine Proxy-Methode, die ab sofort keine (richtigen) iTunes-Login-Daten mehr verlangt. Trotzdem existieren Trittbrettfahrer, trotzdem leitet man seinen (gesamten) Datenverkehr durch dunkle Gassen, trotzdem reißen manipuliere Zertifikate Sicherheitslücken auf und ganz bestimmt will man nicht wegen ein paar Goldtalern irgendwann mit heruntergelassenen Hosen dastehen.
Hacker bitten um Fehlerberichte

Um Lücken im iOS-System aufzuspüren, bittet das Jailbreak-Team um die Zusendung der iPhone- und iPad-Fehlerberichte (-> Einstellungen -> Diagnose- & Nutzungsdaten). Dazu stellt das Team um Joshua Hill eine (Mac-)Software zur Übermittlung bereit.
At this point, the program copies all the crash reports off your device (which, under normal circumstances, would be sent right back to Apple), and instead sends this data to a secure, private server hosted by your friendly Chronic Dev team.
Wer danach strebt, dass sich iOS nicht weiter verbessert, Applikationen aus dem App Store abstürzen und das Betriebssystem angreifbarer wird, sendet “all your valuable data” auf den privaten Server eines jungen Hackers.
Kinect ‘Dodgeball’ mit iPhone und iPad
Am 14. Februar hüpfte eine sehr feine Spielidee durchs Internet, welche die Bewegungssteuerung von Xbox Kinect mit mehreren Windows Phone 7-Telefonen drahtlos verknüpfte. Dabei ließen sich vom Mobilfunkgerät Spielbälle auf einen, vor der Tiefensensor-Kamera stehenden Spieler, abfeuern, der diesen Geschossen ausweichen musste.
Einen Tag später stellte sich heraus, dass daraus zumindest in diesem Jahr kein schlüsselfertiges Produkt mehr entsteht. O weh!
Doch wie wir alle wissen, baut sich das Internet, wonach es gelüstet.
Unter dem Titel Supertouch zeigt jetzt eine Entwickler-Gruppe ihr interaktives Kinect-Experiment. Ein ‘kleiner’ Kinect-Hack und ein bisschen Unity3D-Grafik schustern eine erste Version von diesem ‘crowd-controlled game‘. Das mobile Android- oder iOS-Equipment spricht dabei über einen Computer mit dem Kinect-Sensor und befeuert den vor der Kamera stehenden Spieler mit Bällen.
Das, soviel weiß man schon jetzt nach der ersten Technik-Demo-Minute, fühlt sich nach einer gehörigen Tracht Spaß an.
Chaos = Ordnung, die wir nicht verstehen
Wie hinlänglich bekannt, gibt es zu iPhone-Produktveröffentlichungen generell Chaos.
Chaos bei den Aktivierungen. Chaos im App Store. Chaos beim Push. Chaos ums Tethering oder die MMS. Chaos bei den Jailbreakern. Überall…Chaos.
Beginnen wir unseren Streifzug durchs Kuddelmuddel bei dem unverhältnismässig hohen Ansturm. Diese Weblog hatte in der letzten Woche mit einem Ansturm der fünf bis sieben-fachen Besucherzahl gegenüber ‘normalen’ Zeiten zu kämpfen (und sich Dank des neuen Servers ganz gut geschlagen).
Als am Freitag alle neuen 3GS-Geräte gleichzeitig auf die Aktivierungsserver von Apple zugreifen wollten, streckte diese kurzfristig alle Viere von sich. Auch wenn vereinzelt (wie beispielsweise hier in den Kommentaren beschrieben) eine zweistellige Anzahl von Versuchen unternommen werden musste, irgendwann quetschten sich alle durch die – sicherlich nicht dünne – Leitung.
Im (mobilen) App Store sah es ähnlich aus. Ich persönlich flog zwar nur zwei-dreimal aufgrund zu hoher Nachfrage raus. Andere – mir zugespielte Erfahrungsberichte – kämpften anscheinend härter. Trotzdem war auch das alles nur ‘semiproblematisch’.
Als jedoch am gestrigen Dienstag mit BeejiveIM die erste sinnvolle Push-Anwendung freigeschaltet wurde, implodierte nach kurzer, aber erfolgreicher, Testlaufzeit das System. Auf Seiten der Anwendungs-Entwickler rangelte man mit ‘Spinning Wheel-’, ‘Crashing’- und ‘Connection’-Problemen.
Die ‘Push’-Skalierung versagte erst gegen Mittag. In den frühen Morgenstunden (6 Uhr) testete ich mit einem Freund die ganz aktuell veröffentlichte Anwendung und war komplett begeistert. Am Abend konnte ich mich nicht in einige Account einwählen, geschweige denn eine Nachricht versenden. Vor zwei Stunden war BeejiveIM sogar kurzfristig komplett aus dem deutschen App Store verschwunden. Wenn man ganz still ist, kann man praktisch die schwitzenden Server im Hintergrund spüren…
Große Verwirrung auch beim Tethering und den MMS. Während die Amerikaner damit wenig Probleme haben, weil AT&T höchstpeinlich nicht rechtzeitig seine Infrastruktur auf die Reihe gebracht hat, ist in Deutschland das große Schweigen ausgebrochen. Nach mehrfachen Hotline-Aussagen, Tethering bei T-Mobile würde 25€ (!) extra kosten, habe ich bei der Pressestelle nachgefragt.
“Es wird noch ein paar Wochen dauern, bis wir hier konkret werden können”, war die relativ unbefriedigende – aber offizielle – Antwort. Nichtsdestotrotz funktioniert mit einer richtigen Datei die Tethering-Freischaltung.
Experimente, sowohl technischer als auch anbieterseitiger Art, sollte jeder nur auf eigene Gefahr durchführen.
O2, offizieller iPhone-Anbieter in UK traf dazu bereits eine klare Aussage: Die iPhone-Verbindung kann am Laptop für £15 genutzt werden, wer dies nicht extra bezahlt wird ausgeschimpft und abgeklemmt.
Under those terms we reserve the right to charge customers making modem use of their iPhone or disconnect them. If customers wish to use the Internet Tethering feature on their iPhone 3G or iPhone 3G S, we recommend taking the Bolt On which is available from Friday 19 June.
Apropos abgeklemmt. Auch dem Dev-Team ging so langsam das Muffensausen. Großspurig kündigte man in der letzten Woche den 3G-Unlock an und lieferte dann tagelang nicht aus. Erst waren die PINs, der SIMs Schuld, dann das YouTube. Was am gestrigen Dienstag schlussendlich mit ‘ultrasn0w‘ Online gestellt wurde, scheint zu funktionieren. Trotzdem häufen sich im gleichen Zusammenhang die Fehlerberichte was den Jailbreak angeht. Fehlendes ‘Push’, kein YouTube und (gewohnt) hunderte von Kommentaren, die trotz allen Bemühungen keinen Empfang bekommen.
Außerdem hätte ich gerne erklärt (rhetorische Frage!), welches der drei Werzeuge (PwnageTool, QuickPwn oder redsn0w) zu Verwenden sind…
Das Tohuwabohu geht weiter. Mit Geohot. Der junge Mann hat bereits wenige Tage nach der 3GS-Vorstellung Code im iBoot des neuen Gerätes ausführt und springt freudigen Schrittes in eine mögliche Jailbreak-Zukunft. Für Endanwender ist jedoch bislang keine Software verfügbar.
Verfügbar war lediglich eine bunte Auseinandersetzung an der Hacker-Front. Die AugenInternet-Zeugen verfolgten dabei ein wirres Gerangel um Spenden. Das Dev-Team rief (erstmals) zu einer finanziellen Unterstützung auf, um ein 3GS-Testgerät zu erwerben. Daraufhin steuerte der Inhaber von QuickPWN.com runde 1.500 Dollar bei, die jedoch das Dev-Team ablehnte und lieber seine Domain zurück hätte. Der gute Mann war während Firmware 3.0 Beta-Zeiten immer wieder durch (ininoffizielle) Jailbreaks in die Schlagzeilen gekommen und fiel damit beim Dev-Team in Ungnade.
Zählen wir Firmware-Veröffentlichung und den iPhone 3GS-Start zusammen, reicht mir die Summe an Chaos in den letzten sieben Tagen erst einmal aus. Deshalb zum Abschluss (ganz unchaotische) zwei beruhigen Bilder, der lange erwarteten iPhone-Schutzfolie im Retro-Stil.

via Infectious
Ach.
Dev-Team zeigt ultrasn0w-Demo für iPhone 3G-Unlock
Ultrasn0w ist das neue yellowsn0w: Ein Software-Unlock für das iPhone 3G auf Basis der Firmware 3.0.
MuscleNerd zeigte vor wenigen Minuten eine erste Live-Videodemonstration des Hacks (die ersten zwei YouTube-Minuten gibt es lediglich Rauschen in der Leitung). Danach wird ein iPhone 3G mit der aktuellsten Firmware (7A341) und neuster Baseband (04.26.08) präsentiert, welches sich nach dem Unlock auch mit anderen SIM-Karten – als der Dazugehörigen – füttern lässt.
Der neue Software-Unlock wird über die Paketverwaltung Cydia auf Geräten mit Jailbreak zu beziehen sein und jedes iPhone 3G entsperren, unerheblich welchen (derzeitigen) Bootloader oder welche Baseband ihr betreibt.

Theoretisch sollte sich der Unlock auch auf die neusten iPhone 3G S-Geräte, die erst am Freitag in den Läden stehen, anwenden lassen. Die Baseband-Version soll identisch sein. Ob es jedoch möglich sein wird, die Geräte mit dem benötigten Jailbreak auszustatten, bleibt zu diesem Zeitpunkt unbeantwortet.
Ultrasn0w ist für eine Veröffentlichung am Freitag geplant.
Bootloader 5.8 Exploit gefunden

Good old ‘Hacking’-Times.
Lange ist es her, als hier Artikel über Bootloader, Basebands und BBUpdater geschrieben wurden. Genauso lange hat sich auch George Hotz – aka GeoHot – vom Thema ‘iPhone-Unlocking’ verabschiedet.
Zumindest öffentlich.
Nachdem der heute 20jährige Student im August 2007 den weltweit ersten Hardware-Unlock für das Apple Telefon in seinem Weblog demonstrierte, wird er als Entität immer noch gerne als Zugpferd vor das iPhone-’Hacking-Thema’ gespannt.
Insgesamt soll ein Team aus fünf Mitgliedern für den Unlock der ersten iPhone Classic-Generation mit Bootloader 3.9 zuständig gewesen sein. Als ab Produktionswoche 45 mit Firmware 1.1.2 ein neuer Bootloader auf den Classics ausgeliefert wurde, lagen weltweit einige hunderttausend importierte Geräte in der Ecke. Das iPhone war zu diesem Zeitpunkt ausschließlich in den USA verfügbar, erfreute sich jedoch einer blühenden Export- und Software-Unlock-Leidenschaft, da Apple und AT&T die Geräte ohne Vertragsbindung verkauften.
Cydia Store eröffnet
Jay Freeman aka Saurik (Twitter-Account) stellt am heutigen Tag ein Cydia-Update für alle iPhones mit Jailbreak bereit, welches ein kostenpflichtiges Shop-System integriert.

Als erste Bezahlapplikation wird von Saurik selbst das Programm Cyntact für $1 feilgeboten, das Kontaktbilder zur eurer Kontaktliste hinzufügt. Bezahlt wird via Amazon Payment und Kreditkarte; die Zahlungsmöglichkeit via PayPal soll in der nächsten Woche implementiert werden. Ein Facebook oder Google-Account sind zur Authentifizierung notwendig.
via NeOtRix
Soviel zur formalen Nachricht. Diskutieren wir das Thema doch einmal ausführlich, wenn schon ‘The Wall Street Journal’ einen Online-Artikel dazu verfasst.
Was?
Der Apple App Store umfasst eine breite Programm-Palette, schließt jedoch spezifische Applikationen aus. Neben dem Umstand, das die jeweiligen Programme keine systemweiten Eingriffe vornehmen dürfen, kategorisiere ich hier vier spezielle Applikations-Funktionen, die nicht im App Store erlaubt sind:
- Video-Applikationen (Cycorder, Qik)
- Modem-Applikationen (PdaNet, iPhoneModem)
- Customisation-Programme (Winterboard, etc.)
- Emulatoren (snes4iphone, gpSPhone)
Diese Liste ist sicherlich diskussionswürdig und alles andere als vollständig, speziell wenn man alternative SMS-Dienste (biteSMS, iRealSMS) und den ganzen Crack-Schrott außen vorlässt. Die vier genannten Programmarten umfassen meiner Meinung nach jedoch ein ganz gutes Spektrum, der im (offiziellen) App Store vermissten Endverbraucherprogramme.

Warum?
Freeman selbst gibt gegenüber dem Wall Street Journal an, das 1.7 Millionen iPhones modifiziert mit Jailbreak durch die Gegend laufen.
Selbstredend und mit gutem Recht, möchten sich auch die ‘unabhängigen’ Jailbreak-Entwickler ein kleines Kuchenstück vom überwältigenden App Store-Erfolg abzwacken. Mit seiner implizierten Zielgruppeneinschätzung liegt Freeman jedoch meiner Meinung nach vollkommen daneben: Ein Großteil der derzeitigen Jailbreak-Geräte ist lediglich für den Unlock des iPhone Classic aufgebrochen, wobei der Jailbreak ein notwendiges Übel ist.
Seit Eröffnung des offiziellen App Stores und dem schleichenden ‘Installer’-Tod, bewegen sich meiner Einschätzung nach nur ein sehr geringer Prozentsatz dieser Benutzer in Cydia. Die Funktionsweise verstehen noch Weniger. Man erkläre einem IT-unbedarftem Menschen wie oder was Repositories sind. Sources? Packages? Wie finde ich die im Netz und gibt’s bei der Implementation etwas zu beachten?
Mal im Ernst. Wer hier mitliest, wird das alles sicherlich aus dem Effeff beherrschen – bzw. die Begrifflichkeiten immer mal wieder aufgeschnappt haben. Repräsentativ ist dies jedoch nicht.
Wie?
So sehr ich den ‘Misfits‘ auch ihre Handvoll Extra-Dollars gönnen würde, einen nur annähernd mittelmäßigen Erfolg prophezeie ich dem ‘Cydia Store’ nicht. Spätestens wenn das nächste Apple Firmware-Update den Jailbreak lahm legt (bzw. kurzzeitig außer Gefecht setzt), fangen die Beschwerden, Re-Installationsschwierigkeiten und Kompatibilitätsproblem von Neuem an.
Diejenigen, die sich mit der offenen Cydia-Struktur auskennen – die übrig-gebliebene Zielgruppe wenn man so möchte – kennen natürlich auch das Repository ‘nebenan’, in denen es die kostenpflichtige Cydia-Apps bereits gecrackt zum Download gibt.
Die Beweggründe der Jailbreak-Entwikclergemeinde sollte hier nicht unterschätzt werden. Nicht jeder möchte sein Programm ab heute dort verkaufen. Genauer genommen wird dies nur einen sehr kleiner Prozentsatz der Programmierer ausmachen.
Wofür?
Ja, auch ich würde mir wünschen das einige der oben genannten Applikationen den offiziellen App Store erreichen und dessen Entwickler für ihre avantgardistische Arbeit – unter dem amtlichen Apple-Radar – entlohnt werden.
Der Cydia Store gibt hoffentlich einen Anstoß, das Apple seine Politik für dringend erwünschte Modem- oder Videofunktionalität lockert. Applikationen werden jedoch weiterhin im offiziellen App Store verkauft und in ihrer (kosten-)freien Form über Cydia vertrieben.
3G Podcast Hack
Da dieser Artikel vermutlich auch International auf Interesse stößt, erscheint er in englischer Sprache.
One of the most interesting new features in iPhone Firmware 2.2 is the ability to download podcast episodes without a computer. Unfortunately Apple restricts this to episodes below 10MB.
Well, we found a workaround for our own Podcast and would like to share the solution with you. Please notice that this solution is implemented on the podcast server. The Client (iPhone) remains untouched. So this article is mostly for those producing or hosting their own Podcast.

iTunes telling you “Preparing download…” Wait. No really, just wait!
The trick is basically not telling the iPhone how big the file is. Just leave out the Content-Length Response Header or set it to “-1″. For this to work the filename needs to remain untouched. In theory this should be an easy task with mod_headers. Unfortunately our apache ignored everything which had to do with the content-length. If you find a working solution please tell us.
So what we implemented instead is a combination of mod_rewrite and a little php script.
The downsize of this solution is that the Client can’t tell you any progress while downloading. The iPhone will just tell you that it is preparing the download while actually downloading. Please note that with the solution below nothing will change for your iTunes or Mobile-iTunes if on WiFi. Everything will work as used (including progress bar).
Example Implementation:
# Check if the Client is an iPhone on the cellular network.
SetEnvIf X-Apple-Connection-Type "^3G" iphone_wo_wifi=1 SetEnvIf X-Apple-Connection-Type "^2G" iphone_wo_wifi=1
# Redirect the request to our php file # (if the client is an iPhone without wifi)
RewriteEngine on
RewriteBase /Podcast/
RewriteCond %{ENV:iphone_wo_wifi} ^1$
RewriteRule ^(.*)\.m4a$ small_episode_fake.php?filename=$1
<?php
// THIS IS A VERY DANGEROUS PHP FILE! // IF YOU DO NOT KNOW WHAT YOU ARE DOING.... LEAVE IT. // THIS FILE GIVES USERS FILES RESIDING ON YOUR SERVER... // IF YOU DON'T TAKE CARE THIS MAY BE __ANY__ FILE
// WHERE ARE YOUR FILES ..
$podcastdir = "/var/www/kyri0s.de/htdocs/Podcast/"; $filename = basename($_GET['filename']);
// Long time no php.. i'm kinda paranoid since I don't
// know if basename() is safe enough.
// YOU NEED TO CHANGE THE FOLLOWING LINE. Replace
// "iPhoneBlog\.de_Shortcast_\d+" with a pattern matching
// your episodes.
// Example:
// if(preg_match('/^GarageBand_Episode_\d+$/',$filename))
// This would match:
// GarageBand_Episode_1,
// GarageBaned_Episode_2,
// etc..
// see http://en.wikipedia.org/wiki/Regular_expressions
// on matching rules
if(preg_match('/^iPhoneBlog\.de_Shortcast_\d+$/',$filename))
{
header('Content-type: audio/mpeg');
header('Content-Length: -1');
readfile($podcastdir . $filename . '.m4a');
}
?>


