"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo ocultar eficazmente cadenas confidenciales en código ofuscado?

¿Cómo puedo ocultar eficazmente cadenas confidenciales en código ofuscado?

Publicado el 2024-11-10
Navegar:740

 How can I effectively hide sensitive strings in obfuscated code?

Revelar cadenas ocultas en código ofuscado

Los ofuscadores como ProGuard pueden mejorar la seguridad del código al ofuscar cadenas visibles, pero pueden no ser suficientes para información confidencial como URL o datos de licencia.

Ocultar datos confidenciales Cadenas

Para ocultar cadenas confidenciales de manera efectiva, considere las siguientes técnicas:

  • Codificación: Codifique cadenas usando métodos como Base64 para que parezcan codificadas.
  • Cifrado: Cifre cadenas usando algoritmos como AES para hacerlas ininteligibles sin el cifrado clave.

Para implementar estas técnicas, puedes:

  1. Cifrar manualmente la cadena usando una clave conocida.
  2. Ajusta tu código para usar la clave descifrada. versión de la cadena. Por ejemplo:
// 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);
}

Ubicación de la clase R

Durante la descompilación, la clase R no siempre es fácilmente visible debido a la ofuscación. Sin embargo, el archivo de mapeo de ProGuard puede proporcionar información sobre su ubicación:

  • Busque la sección "clases" en el archivo de mapeo.
  • Busque "R.java" para encontrar el original ruta de la clase R.
  • Navega hasta esa ruta en el directorio de código descompilado para acceder a la clase R.

Comprensión Números de clase R

Los números como "2130903058" en el código descompilado representan ID de recursos. Estos números se refieren a recursos en su proyecto, como archivos de diseño.

Para encontrar los recursos correspondientes:

  • Descompila el archivo R.java del archivo de mapeo.
  • Busque el ID del recurso en el archivo R.java descompilado.
  • El recurso correspondiente (por ejemplo, archivo de diseño) se especificará en la búsqueda resultados.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3