¿Hay alguna manera de proteger el archivo apk para que no sea descompilado?

1

Me gustaría saber si hay algo para ayudar con eso que no sea tan complicado como me gustaría proteger una aplicación de Android al menos un poco.

Quisiera aclarar que estoy hablando de evitar la descompilación del archivo apk en sí, sé que hay algunos trucos para hacer que el código sea más difícil de entender, como usar Proguard para ofuscar el código o no almacenar en bruto valores (también los implementaré), pero quiero saber si hay alguna forma en la que si alguien obtiene el apk y lo pone en un decompilador de Android no puede obtener el código (al menos en algunos casos) .

Esto parece difícil al principio, pero no creo que sea imposible. Renombro que hace años, algunas aplicaciones de escritorio podían detectar que se estaban descompilando, y no permitían que se tomara su código, si renombro bien, podrían hacerlo en Los menos detectan que estaban siendo detectados por algún descompilador como OllyDbg. No veo una razón por la que no debería ser posible con un archivo apk.

PD: no estoy seguro de si esto va aquí o en reverseengineering , creo que la pregunta es en realidad sobre la ingeniería anti reversa, que creo que es Un subcampo de seguridad de la información. Pero me gustaría pedirle a un administrador que lo mueva allí si es necesario.

Gracias por tu tiempo.

    
pregunta Jesús Gómez 28.09.2017 - 20:23
fuente

1 respuesta

1

Es imposible ofuscar completamente tu código. Sin embargo, lo que puede hacer es compilar parte de su lógica empresarial en bibliotecas nativas.

System.loadLibrary("yourlibrary.so");

y luego invocar a los nativos con JNI. Seguiría siendo defectuoso, pero al menos sería mejor que usar el código puro. No soy un desarrollador Java competente, pero una característica similar en C # sería DllImport. No evitará que te depuren, pero es más difícil de depurar, especialmente contra los chavales de script.

Ah, y recuerda que será un dolor mantener, especialmente cuando no estés escribiendo Java en el archivo .so. Y también recuerda apuntar a múltiples arquitecturas.

A mi entender, puedes hacerlo más difícil pero no imposible. ProGuard debería hacerlo bien.

    
respondido por el Lucca Ferri 28.09.2017 - 20:55
fuente

Lea otras preguntas en las etiquetas