"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 se pueden ocultar cadenas confidenciales en un código ofuscado?

¿Cómo se pueden ocultar cadenas confidenciales en un código ofuscado?

Publicado el 2024-11-05
Navegar:147

 How Can Sensitive Strings Be Hidden in Obfuscated Code?

Ocultar cadenas confidenciales en código ofuscado

Ocultar código para proteger información patentada es una práctica común, pero ojos perspicaces aún pueden descubrir cadenas ocultas. Para ocultar datos confidenciales de manera efectiva, considere las siguientes técnicas:

Codificación versus cifrado

Si el objetivo es disuadir la inspección casual, la codificación puede ser suficiente. La clase android.util.Base64 ofrece un método conveniente. Sin embargo, la codificación proporciona una seguridad insignificante.

Para una mayor protección contra los atacantes, se recomienda el cifrado simétrico con un cifrado como AES. La clase javax.crypto.Cipher proporciona un ejemplo de su uso.

Cifrado y descifrado manual

Implemente el cifrado y descifrado manualmente siguiendo estos pasos:

  1. Cifre la cadena con una clave conocida.
  2. Actualice el código para usar la versión descifrada de la cadena (por ejemplo, use MyDecryptUtil.decrypt(cifrado, clave) en lugar de mySecret = "http:// example.com").

Soluciones DRM de terceros

Considere la posibilidad de utilizar soluciones DRM de terceros, como el servidor de licencias de Google. Ofrecen posibles beneficios de seguridad en comparación con las soluciones automáticas, pero aún tienen limitaciones similares al cifrado y descifrado manual.

Cadenas de clase R

Las cadenas de clase R que mencionaste en su código son referencias a recursos. Los ofuscadores como ProGuard no ofuscan la clase R en sí, sino las referencias a los ID de recursos. Mantienen el mismo número pero cambian la asignación que apunta al recurso real.

En este caso, 2130903058 hace referencia a un archivo de diseño. Sin la clase R descompilada, no se puede recuperar directamente el recurso que representa, pero sigue siendo una dirección de los datos binarios del recurso.

Ú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