Erhalte Dateigröße von info.plist, um Piraterie zu verhindern

8

Ich versuche, Anti-Piraterie-Code in meiner App zu setzen. Die vorherige Antwort darauf (die ich wegen meines Mitgliedsstatus nicht anhängen kann - saugt) kann leicht konterkariert werden, da der String "SignerIdentity" in der Binärdatei mit einem Hex-Editor gesucht und ersetzt werden kann.

Stattdessen wird die Dateigröße der Datei info.plist überprüft und mit einem Referenzwert verglichen. Sie klingt solider (da die info.plist hier und da modifiziert wird, wenn die App geknackt wird). Wie würde ich das tun? Ich habe Folgendes versucht, aber es loggt 0.

%Vor%     
samvermette 24.05.2009, 05:34
quelle

4 Antworten

7

Sie können verhindern, dass die noobish Cracker Verweise auf "SignerIdentity" in Ihrem Code finden, indem Sie ROT13 oder einen ähnlichen einfachen Verdeckungsalgorithmus anwenden Ссылка

Nach der Anwendung von ROT13 würde "SignerIdentity" zu "FvtareVqragvgl" werden.

Wie auch immer, die Antwort auf Ihre Frage (wie Sie die Größe der Info.plist-Datei erhalten):

%Vor%

Beachten Sie auch, dass die Größe (in Byte) von Info.plist in Ihrem Xcode-Projektverzeichnis und die Info.plist innerhalb des Pakets davon abweichen können. Sie möchten das Spiel wahrscheinlich einmal erstellen, dann auf die Größe von <your app bundle.app>/Info.plist schauen und dann Ihren Anti-Piracy-Code aktualisieren.

    
Julio Gorgé 24.05.2009, 13:46
quelle
5

Ich habe nie für das iPhone programmiert, aber könnten Sie nicht einfach einen Hash der Datei nehmen und ihn mit einer Referenz vergleichen, möglicherweise mit dem Hash-Wert, um zu verhindern, dass jemand den Referenz-Hash einfach auf den neuen setzt? / p>     

Alex S 24.05.2009 13:52
quelle
2

dieser Code hat noch viele Giveaways:

Die Zeichenfolge Info.plist ist leicht zu finden. NSFileSize ist auch sehr verdächtig ....

    
Yllier 19.09.2009 22:47
quelle
2

Wie hier gesagt Bestimmen, ob ein iPhone Jail ist Programmatisch gebrochen sieht es so aus, als ob einige der letzten Crack-Apps, die über install0us installiert wurden, ihre infoplpliste nicht modifiziert haben. (Zumindest die info.plist enthält keinen Signeridentity-Schlüssel). Wie können wir den Riss in einem solchen Fall erkennen?

    
yonel 11.01.2010 10:21
quelle