Ergebnis 1 bis 4 von 4
-
07.01.2011, 12:32 #1./Konklave ./Bruderschaft86
./root86club
./SysOp
./houdini86
- Registriert seit
- 03.10.2009
- Ort
- Zuhause im 1. Stock... (AT)
- Beiträge
- 1.778
- Thanks
- 0
- Thanked 2 Times in 2 Posts
Kopierschutz in der Theorie [Obj-C IOS SDK IAP]
Aloha...
Ich hab ja seit August ein Projekt laufen. Dabei geht es um ein Magazin auf dem iPad welches 2wöchentlich erscheint.
Leider habe ich im Moment keine Möglichkeit, dieses Magazin ordentlich abzusichern.
Szenario:
User ladet die App gratis runter. Darin finden sich die einzelnen Ausgaben (vergleichbar mit "WIRED") die man (mit IAP - In App Purchase) kaufen kann.
Die erste Ausgabe ist bereits runtergeladen und entpackt sodaß der User diese Ausgabe einfach aufrufen kann.
Weitere Ausgaben kann er - wie gesagt - kaufen. Nach dem Kauf kann er diese Ausgabe runterladen. Sobald geladen, wird die Ausgabe auch wieder entpackt und kann aufgerufen werden.
Nun zur Sicherung:
Ich habe bereits eine Theorie entwickelt, die DownloadURL an sich zu sichern. Neben SSL-Verschlüsselung prüft der Server auch die TransactionID und leitet die Anfrage dann auf das Produkt um welches als TransactionReturn von Apple zurück kommt. Sprich: Egal was der User auf dem iPad manipuliert hat, er kommt hier nicht weiter wenn er keine TransactionID hat. Die kann er auch nicht einfach mal irgendwo her nehmen da die ID ziemlich lang ist und für den User keinen wirklichen Sinn ergibt (so i hope)...
Gut - also runterladen kann er erstmal nichts vom Server.
Aber nun kommts: Das braucht er auch nicht.
Angenommen ein User hat die Ausgabe gekauft und lädt diese irgendwo hoch. Der andere User lädt nun das Paket runter und schiebt es in die Demoausgabe. Nun kann er die Ausgabe einfach lesen ohne es zu kaufen.
Und hier brauche ich Hilfe. Wie stelle ich es an daß der User dies nicht mehr kann ?Mein Mac: 10.6.7 Retail Client 64bit (derzeit inaktiv da keine Zeit)
Mainboard: Foxconn 945G7AD-8EKRS2H (kein Bios-Mod notwendig)
CPU: Intel E6600 Dual Core
Grafik: nVidia 8400GS (GraphicsEnabler PC-Efi)
Ram: 3 bis 4 GB DDR-2 800 (anscheinend kann mein Board nur 3GB nutzen)
Lan / Sound: GB-Lan PCI "DIGITUS DN-1011-1" - funktioniert OOTB / Lan On-Board (Realtek RTL RTL8111B) / Trust SC-5500p USB Soundkarte ( On-Board Sound mit VoodooHDA.kext (Realtek ALC 861VC) inaktiv )
HDD: 1 x 500 GB WD Caviar Black, 2 x 80GB sATA (WD und Samsung)
NAS: QNAP TS-439 2 TB + 2 TB / Bufallo LS-WX2 - 1TB (Raid 1)
Sonstiges: Drucker: Lexmark S405 - mit Faxunterstützung und Wlan für Mac, Drucker: Lexmark E320 via Fritz!Box als Netzwerkdrucker (über Fritz!Box USB), Apple Tastatur mit Ziffernblock (Alu-Design), Magic Mouse (mit aufladbaren Batterien), MIDI-Controller läuft (USB), Dual Screen läuft
Netzwerk: Pirelli PRGAV4202N, Fritz!Box 7170, Netgear 16x-Switch, Zyxel GB-Switch 5 Port (Netzwerk immer in Bewegung)
Real Macs: Mac Mini 2,4GHZ / 8 GB Ram / 320GB HDD / 2010 | MBP Late 2011 / 13" / 8GB Ram
iDevices: iPhone 4 Schwarz + Weiß / iPad 1 + 2 - WiFi, iPhone 3GS, iPod Touch, Apple TV 2
Tutorials: Installation von 10.6 Retail ohne bestehendes 10.5.x - Installation von 10.6 Retail bei laufendem Mac-System
-
07.01.2011, 17:29 #2./Konklave ./Bruderschaft86
./root86club
./SysOp
./houdini86
- Registriert seit
- 03.10.2009
- Ort
- Zuhause im 1. Stock... (AT)
- Beiträge
- 1.778
- Thanks
- 0
- Thanked 2 Times in 2 Posts
AW: Kopierschutz in der Theorie [Obj-C IOS SDK IAP]
hab jetzt den ganzen tag hin und her überlegt, skizzen gemacht, theorien durchprobiert und bin zum entschluss gekommen:
ich speichere die transaction_id in die keychain und jedes mal wenn der user was runterladen will, macht er dies an eine allgemeine URL die dann die jeweilige datei zurück gibt. somit gehe ich zumindest dem traffic aus dem weg der entsteht wenn ein user versucht, die datei runter zu laden.
gut - also die möglichkeit des downloads habe ich somit unterbunden - vorausgesetzt, der keychain-eintrag wird nicht verfälscht (ich weiß noch nicht ob das möglich ist).
aber der user kann doch einfach die bereits gekauften inhalte nehmen und in das demo-verzeichnis legen. er überschreibt die alten daten mit den neuen und é voila - er kann die ausgabe lesen.
und genau hier habe ich absolut keine möglichkeit es zu unterbinden.
jeder affe kann die dateien austauschen und dadurch ohne bezahlung alles lesen... also was tun ?
je länger ich darüber nachdenke, umso weniger ahnung habe ich was zu machen ist...
hab schon soviele tutorials gelesen wie appstore apps zu hacken sind daß ich den wald vor lauter bäumen nicht mehr sehe.Mein Mac: 10.6.7 Retail Client 64bit (derzeit inaktiv da keine Zeit)
Mainboard: Foxconn 945G7AD-8EKRS2H (kein Bios-Mod notwendig)
CPU: Intel E6600 Dual Core
Grafik: nVidia 8400GS (GraphicsEnabler PC-Efi)
Ram: 3 bis 4 GB DDR-2 800 (anscheinend kann mein Board nur 3GB nutzen)
Lan / Sound: GB-Lan PCI "DIGITUS DN-1011-1" - funktioniert OOTB / Lan On-Board (Realtek RTL RTL8111B) / Trust SC-5500p USB Soundkarte ( On-Board Sound mit VoodooHDA.kext (Realtek ALC 861VC) inaktiv )
HDD: 1 x 500 GB WD Caviar Black, 2 x 80GB sATA (WD und Samsung)
NAS: QNAP TS-439 2 TB + 2 TB / Bufallo LS-WX2 - 1TB (Raid 1)
Sonstiges: Drucker: Lexmark S405 - mit Faxunterstützung und Wlan für Mac, Drucker: Lexmark E320 via Fritz!Box als Netzwerkdrucker (über Fritz!Box USB), Apple Tastatur mit Ziffernblock (Alu-Design), Magic Mouse (mit aufladbaren Batterien), MIDI-Controller läuft (USB), Dual Screen läuft
Netzwerk: Pirelli PRGAV4202N, Fritz!Box 7170, Netgear 16x-Switch, Zyxel GB-Switch 5 Port (Netzwerk immer in Bewegung)
Real Macs: Mac Mini 2,4GHZ / 8 GB Ram / 320GB HDD / 2010 | MBP Late 2011 / 13" / 8GB Ram
iDevices: iPhone 4 Schwarz + Weiß / iPad 1 + 2 - WiFi, iPhone 3GS, iPod Touch, Apple TV 2
Tutorials: Installation von 10.6 Retail ohne bestehendes 10.5.x - Installation von 10.6 Retail bei laufendem Mac-System
-
11.01.2011, 22:45 #3./Gehirnchirurg86 ./Bruderschaft86
./root86club
./SysOp
./Dominus86
- Registriert seit
- 14.05.2009
- Beiträge
- 7.208
- Blog-Einträge
- 1
- Thanks
- 37
- Thanked 73 Times in 62 Posts
AW: Kopierschutz in der Theorie [Obj-C IOS SDK IAP]
man müsste sowas wie ne art meta-info in jede einzelne geladene datei einprägen, die sich aus irgendeiner nummer der verbauten hardware zusammen setzt bzw. diese ausliest, quasi so ne art MAC-adresse . . .
die dinger ham doch bluetooth und da gibts doch auch ne mac oder
jedenfalls wäre die dann unique genug auf der welt . . . musste nur noch die soft mit dem buch syncen . . . oder per random funktion ne einzigatrige generieren . . . dann könnte man zwar noch immer kopieren, aber nicht mehr ausführen wenn der zähler ne 0 zurück gibt . . .
aber ich bin kein programmierer und weiß auch nicht ob sowas programmiertechnisch machbar wäre
huch bin ich müde heute
Geändert von Stefe Hobs (12.01.2011 um 00:21 Uhr)
13" MBA 2010
Klaus Norbert: "Denn nicht die Versager fallen bei uns durch den Rost, sondern die Könner. Die stören nämlich Erstere beim Herummurksen und Abkassieren."
-
24.01.2011, 08:30 #4./Club86 ./root86club
./guest86
- Registriert seit
- 22.01.2011
- Beiträge
- 27
- Thanks
- 0
- Thanked 0 Times in 0 Posts
AW: Kopierschutz in der Theorie [Obj-C IOS SDK IAP]
Wie wäre es wenn diese Unique URL die man durch den AppInKauf für den Download bekommt genau diese eine Ausgabe in der App freischaltet. Du könntest durch ein Skript jede runtergeladene Ausgabe durch geringfügige änderungen eine neue MD5 zuweisen, so das nur genau der die Ausgabe auf genau nur der App lesen kann die durch diese Unique ID und der angepassten MD5 eben dazu berechtigt ist.
Du könntest verlangen das einmalig die Freigeschaltete Unique ID/MD5 paarung online bestätigt werden muss, sonst kann er sie nicht Lesen.
Das wäre sehr viel aufwand, aber ohne gewaltige änderungen an der App selbst sollte es verdammt schwer werden das zu umgehen.
Offen für Kritik!Mainboard : Asus P5K
Chipset : Intel P31/P35
Processor : Intel Core 2 Duo E6750 @ 2666 MHz
Physical Memory : 4096 MB (2 x 2048 DDR2-SDRAM )
Video Card : NVIDIA GeForce 8800 GTS
Hard Disk : WDC (320 GB)
Hard Disk : Hitachi (1000 GB)
DVD-Rom Drive : MJAJE KDU3O1QN SCSI CdRom Device
Monitor Type : LG Electronics **22W - 22 inches
Monitor Type : LG Electronics W2443 - 23 inches
Network Card : L1 Gigabit Ethernet 10/100/1000Base-T Controller
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)


Zitieren