Heim  >  Artikel  >  Java  >  Wie kann ich sensible Zeichenfolgen in verschleiertem Code effektiv verbergen?

Wie kann ich sensible Zeichenfolgen in verschleiertem Code effektiv verbergen?

DDD
DDDOriginal
2024-10-31 22:28:28135Durchsuche

 How can I effectively hide sensitive strings in obfuscated code?

Enthüllung versteckter Zeichenfolgen in verschleiertem Code

Verschleierer wie ProGuard können die Codesicherheit verbessern, indem sie sichtbare Zeichenfolgen verschleiern, für vertrauliche Informationen reichen sie jedoch möglicherweise nicht aus B. URLs oder Lizenzdaten.

Sensible Zeichenfolgen ausblenden

Um sensible Zeichenfolgen effektiv zu verbergen, sollten Sie die folgenden Techniken in Betracht ziehen:

  • Kodierung:Kodieren Sie Zeichenfolgen mit Methoden wie Base64, damit sie verschlüsselt erscheinen.
  • Verschlüsselung:Verschlüsseln Sie Zeichenfolgen mit Algorithmen wie AES, um sie ohne den Verschlüsselungsschlüssel unverständlich zu machen.

Um diese Techniken zu implementieren, können Sie:

  1. Die Zeichenfolge manuell mit einem bekannten Schlüssel verschlüsseln.
  2. Passen Sie Ihren Code an, um die entschlüsselte Version der Zeichenfolge zu verwenden. Zum Beispiel:
<code class="java">// Before encryption
public class Foo {
    private String mySecret = "http://example.com";
}

// After encryption
public class Foo {
    private String encrypted = "<encrypted string>";
    private String key = "<encryption key>";
    private String mySecret = MyDecryptUtil.decrypt(encrypted, key);
}</code>

Auffinden der R-Klasse

Während der Dekompilierung ist die R-Klasse aufgrund von Verschleierung nicht immer leicht sichtbar. Die ProGuard-Zuordnungsdatei kann jedoch Einblicke in ihren Speicherort geben:

  • Suchen Sie den Abschnitt „Klassen“ in der Zuordnungsdatei.
  • Suchen Sie nach „R.java“, um das Original zu finden Pfad der R-Klasse.
  • Navigieren Sie zu diesem Pfad im dekompilierten Codeverzeichnis, um auf die R-Klasse zuzugreifen.

Grundlegende Informationen zu R-Klassennummern

Zahlen wie „2130903058“ im dekompilierten Code stellen Ressourcen-IDs dar. Diese Zahlen beziehen sich auf Ressourcen in Ihrem Projekt, beispielsweise Layoutdateien.

So finden Sie die entsprechenden Ressourcen:

  • Dekompilieren Sie die R.java-Datei aus der Mapping-Datei.
  • Suchen Sie nach der Ressourcen-ID in der dekompilierten R.java-Datei.
  • Die entsprechende Ressource (z. B. Layoutdatei) wird in den Suchergebnissen angegeben.

Das obige ist der detaillierte Inhalt vonWie kann ich sensible Zeichenfolgen in verschleiertem Code effektiv verbergen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn