2 Stimmen

Richtlinien zur effektiven Verwendung von ProGuard/DexGuard beim Schreiben von Codes?

Gibt es Richtlinien, wie man ProGuard/ DexGuard effektiv einsetzen kann beim Schreiben von Codes? Ich habe irgendwo gelesen, dass es gut ist, alle sensiblen Daten in einer anderen Klasse anstatt sie direkt in die Activity-Klasse zu setzen, da Activity-Klassen nicht obfuskiert werden können. Wie kann ich meine Anwendung so codieren, dass ich die Nutzung von ProGuard/ DexGuard maximieren kann? Gibt es Regeln beim Codieren, wenn man vorhat, ProGuard/ DexGuard zu verwenden, um Anwendungsfehler zu vermeiden?

1voto

AlexWien Punkte 27800

Ja, du hast recht.

Platzieren Sie den gesamten "geheimen" Code in obfuskierten Methoden und lassen Sie die öffentlichen Methoden nur eine obfusierte aufrufen:

Beispiel

public static void main(final String[] args) {
    SecretKnowHowWorker.doWork(args);
 }

main kann nicht oder sollte nicht obfuskiert werden, aber der Rest wird obfuskiert. In Eclipse können Sie auf "Referenzierte Bibliotheken" klicken, wenn Sie auf die obfuskierte JAR-Datei klicken, um zu sehen, was obfuskiert wurde und was nicht.

1voto

Marcin Orlowski Punkte 69097

Die Activity-Klasse kann perfekt obfuskiert werden, aber einige Methodennamen (wie z.B. onCreate()) können nicht. Platzieren Sie daher Ihre sensiblen Informationen außerhalb solcher Einstiegspunkte wie bekannte Methoden (alle, die das Framework aufrufen soll), und es sollte besser sein. Ich empfehle auch, Ihre eigene App zu knacken, um zu sehen, wie sie nach dem Decodieren aussieht, und etwas Mühe zu investieren, um es schlechter aussehen zu lassen :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X