"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-10
Parcourir:536

 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.

Masquer les chaînes sensibles

Pour masquez 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 chiffrement.

Pour mettre en œuvre ces techniques, vous can :

  1. Chiffrer manuellement la chaîne à l'aide d'une clé connue.
  2. Ajustez votre code pour utiliser la version déchiffrée de la chaîne. Par exemple :
// Before encryption
public class Foo {
    private String mySecret = "http://example.com";
}

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

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 au R class.

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 rechercher 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 la recherche résultats.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3