Ich habe darüber nachgedacht und es scheint, als ob Sie Ihre Anwendung wirklich von Hackern sichern wollten, gibt es wirklich nur 1 Möglichkeit, es zu tun. Sie können alle Arten von Phantasie Methoden der Versicherung Ihrer Anwendung ist lizenziert und bezahlt, wie in der Google-Artikel beschrieben, aber alles, was es braucht, ist ein guter Hacker, um Ihre Anwendung zu dekompilieren und zu finden, wo der Code ist und dann kommentieren oder ändern Sie eine Funktion immer wieder wahr werden.
Implementieren Sie stattdessen einen Teil Ihrer Anwendung, der für die Verwendung in jni/ndk erforderlich ist, und prüfen Sie in diesem Code auf Gültigkeit. Es muss nicht extrem komplizierter Code sein, aber Sie können nicht einfach etwas wie eine Funktion (zB checkValidity) setzen, da ein Benutzer den Java-Aufruf, der in das ndk aufruft, einfach kommentieren kann. Stattdessen sollten Sie einen Aufruf an Ihren ndk machen, um etwas zu tun, das für Ihre Anwendung nicht trivial ist - etwas, das der Benutzer nicht einfach auskommentieren oder mit einer definierten Funktion wechseln kann, die das Gleiche tut. Innerhalb des ndk-Codes überprüfen Sie die Integrität/Lizenzierung Ihrer Anwendung und, falls dies fehlschlägt, beenden Sie die Anwendung oder was immer Sie tun müssen.
Um dies zu umgehen, müsste der Hacker den ndk-Code neu implementieren oder es rückentwickeln. Was viel komplizierter und nicht wert sein sollte.
offensichtlich keine einfache Lösung Dies ist und wird immer noch nicht Ihre Anwendung garantiert nie gehackt wird, aber es sollte als die anderen Methoden sehr viel schwieriger zu brechen sein ..
Mögliche Duplikat von [ Gibt es eine Möglichkeit, den Quellcode aus einer APK-Datei zu erhalten?] (Https://stackoverflow.com/questions/3593420/is-there-a-way-to-get-the-source-code-from-an- apk-file) –