Android: Ist es sicher, eine sensible Zeichenfolge in meinen Java-Code zu schreiben?

9

Meine Anwendung verwendet eine Reihe von API-Schlüsseln und URLs, die Benutzern nicht angezeigt werden können. Ich habe sie direkt in den Code eingefügt, manchmal eingebettet in die Methode, die sie verwendet, und manchmal in einer Klasse namens MyVals, die häufig verwendete Strings und Zahlen speichert.

z.B.:

%Vor%

Ist das sicher? Macht es einen Unterschied, wenn ich meine APK mit Proguard erstelle? Was ist die beste Vorgehensweise dafür?

    
Scott 17.07.2014, 14:01
quelle

2 Antworten

5

Es ist absolut nicht sicher, empfindliche Strings in Ihren Code einzubetten. Proguard verschleiert die Klassen- und Methodennamen, aber alle definierten Strings bleiben vollständig unverändert. Hier ist ein Beispiel aus einer App, die ich Proguard durchlaufen habe. Sie können sehen, dass die Methoden- und Klassennamen verschleiert sind, aber die Strings (wie sie sein müssen) sind unverändert.

Hier ist der ursprüngliche Code:

%Vor%

Und der verschleierte Code, der leicht von JD-GUI erhalten werden kann:

%Vor%

Wenn Sie vertrauliche Daten in einer Zeichenfolge in Ihrer App einbetten, kann und wird dekompiliert .

    
AWT 17.07.2014, 14:09
quelle
-5

Nein, das ist nicht sicher.

Sie sollten die Informationen zumindest in die SharedPreferences einfügen.

Aber trotzdem könnte jeder mit root-access sie lesen.

    
PKlumpp 17.07.2014 14:02
quelle