Also haben wir das jetzt schon mehrmals durchgemacht, wir veröffentlichen ein Spiel (für wenig Geld) und jemand hackt es und stellt es auf einen Spiegel. Wir richten Google Alerts für alle unsere Apps ein, damit wir täglich erfahren, wer das Hacken ausführt. Bisher haben wir den Lizenzierungsdienst implementiert, wie von Google vorgeschlagen. Unser Salt wird jedes Mal zufällig hergestellt, wenn die Lizenz mit der eindeutigen Geräte-ID initiiert wird. Wir führen den Überprüfungsdienst einmal aus, wenn die Anwendung zum ersten Mal gestartet wird. Wir generieren dann einen 512-Zeichen-Hash für den Schlüssel und den gespeicherten Wert, mit dem von da an in SharedPreferences verglichen wird.
Jetzt weiß ich, dass bei einmaliger Überprüfung wahrscheinlich die Anwendung blockiert wird. Unser Bytecode wurde höchstwahrscheinlich ohne die Zeile, die die Prüfung einleitet, überprüft und neu kompiliert.
Von hier aus möchte ich unseren Code nicht verschleiern, da ich ihn schon einmal kaputt gesehen habe. Ich möchte etwas solideres, und ich möchte auch lernen, wie man das richtig macht. Ich bin an dieser Stelle mehr am Lernen als am Geldverdienen interessiert, da nur 2% der Leute jemals nach einer gehackten Version suchen werden.
Bisher habe ich mir selbst einen Zufallszahlengenerator ausgedacht, der in mehreren Startbereichen des Spiels platziert ist. Bei der Initiierung (z. B. 1 von 50 Mal) wird die Lizenz überprüft. Ich weiß, dass dies das Hacken erschweren würde, da der Cracker jeden Fall eliminieren, kompilieren, eliminieren, kompilieren müsste. Diese Methode ist jedoch immer noch knackbar ... also, was schlägt ihr vor? Auch hier bin ich wirklich an diesem Sicherheitsprozess interessiert. Bitte informieren Sie sich, verwandeln Sie dies nicht in eine Diskussion über Verschleierung oder regelmäßige Überprüfung anhand eines Zeitstempels.
Vielen Dank