Wie immer gibt es einen Kompromiss zwischen Komfort und Sicherheit. Je sicherer Sie Ihre App haben möchten, desto weniger bequem wird es für Sie sein, sich zu entwickeln.
Der Quellcode ist aufgrund der leichten Dekompilierung inhärent unsicher, besonders bei gerooteten Telefonen. Um Ihren Quellcode zu schützen, können Sie Ihren Code verschleiern und/oder verschlüsseln, was eine Dekompilierung verhindert. Ich bin mir nicht sicher, welche Tools für Android verfügbar sind, aber ich bin mir sicher, dass dies den Build-Prozess erschweren wird. Wenn Sie nur verschleiern, ist die Dekompilierung zwar immer noch möglich, wird aber sehr viel schwieriger und erfordert wahrscheinlich, dass die Person, die versucht, Ihren Code zu dekompilieren, Bytecode versteht und versteht, wenn ein starker Grad an Verschleierung verwendet wird.
Um Ihre Vermögenswerte zu schützen, glaube ich, dass Ihre einzige Option die Verschlüsselung ist. Auch dies wird die App und/oder Build-Prozess komplizieren, je nachdem, wo Sie implementieren.
Auch wenn Sie zum Schutz Ihrer Assets eine Verschlüsselung verwenden, müssen Sie den Verschlüsselungscode in Ihrem Quellcode schützen. Offensichtlich ist es egal, welches Verschlüsselungsschema Sie verwenden, wenn Ihr Verschlüsselungsschlüssel im Quellcode im Klartext ist, dann kann jeder den Schlüssel und Ihr Asset abrufen und entschlüsseln. All dies macht noch einen kleinen Zaun, um darüber zu springen.
Wenn Sie jedoch den Verschlüsselungsschlüssel richtig schützen und einen guten Verschlüsselungsalgorithmus verwenden, sollten Sie sich weniger Sorgen machen. Dies ist jedoch ein ziemlich komplizierter Prozess. Es ist schwierig, einen Schlüssel für die Verschlüsselung in Ihrem Code zu verwenden und ihn nicht im Klartext zu behalten. Auch wenn Sie es nicht im Klartext innerhalb des Codes behalten, muss es sich irgendwann im Speicher befinden, um die Entschlüsselung durchzuführen. Wenn also jemand zum richtigen Zeitpunkt einen Debugger anhängen oder Speicher ablegen kann, wird der Schlüssel kompromittiert. Natürlich erfordert dies einen viel geschickteren Gegner.
Insgesamt müssen Sie genau entscheiden, wen Sie sich Sorgen machen, Ihre Vermögenswerte zu stehlen. Wenn du dir Sorgen machst, dass der durchschnittliche Joe sie kopiert, dann solltest du in Ordnung sein. Wenn Sie sich Sorgen machen, dass ein professioneller Hacker, ein Script-Kiddie usw. Zugang zu ihnen hat, dann haben Sie wahrscheinlich kein Glück.
Ich habe versucht, Ihre Methode der Verschlüsselung und Entschlüsselung, aber es erheblich verlangsamt die App.So bevorzuge ich die Vermögenswerte direkt zu halten.Danke für deine Antwort – Yogamurthy