Maison  >  Article  >  Java  >  Comment puis-je masquer efficacement les chaînes sensibles dans du code obscurci ?

Comment puis-je masquer efficacement les chaînes sensibles dans du code obscurci ?

DDD
DDDoriginal
2024-10-31 22:28:28135parcourir

 How can I effectively hide sensitive strings in obfuscated code?

Dévoilement des chaînes cachées dans un code obscurci

Les obfuscateurs comme ProGuard peuvent améliorer la sécurité du code en masquant les chaînes visibles, mais ils peuvent ne pas suffire pour les informations sensibles telles que des URL ou des données de licence.

Masquage des chaînes sensibles

Pour masquer efficacement les chaînes sensibles, envisagez les techniques suivantes :

  • Encodage : Encodez les chaînes à l'aide de méthodes telles que Base64 pour les faire apparaître brouillées.
  • Cryptage : Chiffrez les chaînes à l'aide d'algorithmes comme AES pour les rendre inintelligibles sans la clé de cryptage.

Pour mettre en œuvre ces techniques, vous pouvez :

  1. Chiffrer manuellement la chaîne à l'aide d'une clé connue.
  2. Ajuster votre code pour utiliser la version déchiffrée de la chaîne. Par exemple :
<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>

Localisation de la classe R

Pendant la décompilation, la classe R n'est pas toujours facilement visible en raison d'un obscurcissement. Cependant, le fichier de mappage ProGuard peut fournir des informations sur son emplacement :

  • Localisez la section « classes » dans le fichier de mappage.
  • Recherchez « R.java » pour trouver l'original chemin de la classe R.
  • Accédez à ce chemin dans le répertoire de code décompilé pour accéder à la classe R.

Comprendre les numéros de classe R

Les nombres comme "2130903058" dans le code décompilé représentent les ID de ressources. Ces numéros font référence aux ressources de votre projet, telles que les fichiers de mise en page.

Pour trouver les ressources correspondantes :

  • Décompilez le fichier R.java du fichier de mappage.
  • Recherchez l'ID de ressource dans le fichier R.java décompilé.
  • La ressource correspondante (par exemple, le fichier de mise en page) sera spécifiée dans les résultats de la recherche.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn