Domanda

Quali sono accettati metodi per ridurre la pirateria applicazione per iPhone, che non violano processo di valutazione di Apple?

Se la mia "casa telefoni" applicativi per fornire l'ID unico dispositivo su cui viene eseguito, quali altre informazioni avrei bisogno di raccogliere (ad esempio, l'Apple ID utilizzato per acquistare l'applicazione) per creare un token di registrazione valido che autorizza l'uso dell'applicazione? Allo stesso modo, quale codice dovrei utilizzare per accedere ai dati in più?

Quello che sembrano essere i migliori approcci tecnici disponibili a questo problema, al momento attuale?

(Si prega di astenersi da le risposte non-programmazione di come la pirateria è inevitabile, ecc so che la pirateria è inevitabile. Sono interessato a risposte base di programmazione- che discutere di come ridurre esso. Grazie in anticipo per la vostra comprensione.)

È stato utile?

Soluzione

UPDATE

visitare e leggere

Grazie alla chpwn nei commenti.

Il codice che è troppo vecchio! - 11 maggio 2009

Per ora c'è un modo più semplice per rilevare se la vostra applicazione per iPhone è stato craccato per l'uso della pirateria. Non si tratta di verificare gli ID univoci di iPhone contro un elenco di ID accettati.

Al momento ci sono tre cose cracker fare:

  1. Modificare il file Info.plist
  2. decodificare l'Info.plist da binario a UTF-8 o ASCII
  3. Aggiungi una coppia di chiavi per Info.plist {SignerIdentity, IPhone di Apple OS Firma Applicazione}

L'ultimo è più facile da controllare con questo codice:

NSBundle *bundle = [NSBundle mainBundle]; 
NSDictionary *info = [bundle infoDictionary]; 
if ([info objectForKey: @"SignerIdentity"] != nil) 
{ /* do something */  }

In generale non abbiamo SignerIdentity in una qualsiasi delle applicazioni di App Store che costruiamo in modo controllo per nil poi l'esecuzione di istruzioni set dovrebbe rendere più difficile per i cracker e pirati.

Non riesco a prendersi il merito per questo vi preghiamo di visitare Come contrastare iPhone IPA Cracker. c'è un sacco di informazioni là sulla pirateria su iPhone e su come frenare esso.

Altri suggerimenti

Come sottolineato da Andrey Tarantsov nei commenti, cercando la stringa "SignerIdentity" nel binario (utilizzando un app come HexEdit) e la sua sostituzione è abbastanza facile.

Si potrebbe codificare la stringa, ma poi di nuovo tutto quello che dovete fare è cambiare un carattere di esso e l'applicazione non sta andando a cercare la chiave "SignerIdentity" più ma per qualche altra chiave che probabilmente non esiste ( quindi è nullo). Quella chiave è nullo, l'applicazione pensa che non è rotto (dal SignerIdentity dovrebbe essere nullo se l'applicazione non è rotto).

Invece, preferisco controllare la dimensione del info.plist e confrontarlo con un valore di riferimento. Ho notato Simulator e dispositivi costruisce non hanno la stessa dimensione del file Info.plist. Lo stesso vale per il debug, di uscita e distribuzione costruisce. Pertanto, assicuratevi di impostare il valore di riferimento utilizzando la dimensione del file Info.plist per Build dispositivo di distribuzione.

Come cercare il al momento del lancio :

Sembra che il risparmio di checksum MD5 di Plist e controllando Cryptid dovrebbe fare bene fino a qualche tempo.

Controlla iTunesMetadata.plist per la data di Purchace come a volte, quando un app è incrinato, tale data viene cambiata in qualcosa di scandaloso.

Anche controllare per vedere se esiste il campo del nome purchacer. Nella mia esperienza con screpolature applicazioni per uso personale, che di solito è rimosso. Se qualcuno sa come la protezione anti discarica di Temple Run funziona, si potrebbe usare che, in combinazione con una certa protezione che poedCrackMod non può ottenere (google poedCrackMod creare hackulo.us account, vai a dev aspetto centrale per poedCrackMod, installarlo sul iDevice) .

frizione che non si crepa cose con Temple Run come la protezione, ha una funzione detta OverDrive destinato al silenzio di rilevamento crepa di un app. poedCrackMod ha LamestPatch, che non è così buono. Anche poedCrackMod è uno script bash open source che può essere reverse engineering. Per ricapitolare, si dispone di un'applicazione che ha protezione da copia che non può essere aggirato con frizione / overdrive, ma può essere rotto con poedCrackMod. Tuttavia poedCrackMod non può eludere le app di app nei controlli di pirateria. E 'difficile correggere manualmente controlli integrety nel eseguibile dell'applicazione. Quindi la vostra applicazione è difficile da rompere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top