2012-10-08 58 views
14

Buscando mejorar la seguridad de mi aplicación de Android para marcar si la .apk se ha extraído, modificado, reempaquetado y renunciado. Aquí hay un artículo de Zdnet que señala el problema link1.Verificar que la apk de Android no se haya reempaquetado.

La preocupación es si la aplicación es atacada por piratas informáticos, podrían agregar código malicioso y subirlo a una tienda de aplicaciones alternativa y engañar a los usuarios para que lo descarguen.

Así que estoy pensando en el código para verificar una suma de comprobación de la apk o certificado de firma?

Aprecio que el código de la aplicación pueda ser reempaquetado y se elimine cualquier código de seguridad, pero aumenta la dificultad de reempaquetarlo, tal vez lo suficiente como para que prueben otra aplicación.

[update] Sé que el módulo de licencias de la tienda Google Play ofrece algo similar, pero estoy buscando algo para aplicaciones no pagas y otros/no mercados.

+0

Vieja pregunta ahora, pero desde entonces la he investigado y recientemente escribí una publicación de blog que incluye la verificación de la firma https://www.airpair.com/android/posts/adding-tampering-detection-to-your- android-app – scottyab

+0

relacionada https://android.stackexchange.com/questions/9312/how-can-i-verify-the-authenticity-of-an-apk-file-i-downloaded –

Respuesta

3

Terminé usando Dexgaurd (Ofuscador pagado para Android) ofrece un módulo que preformas de verificación apk. Principalmente tan simple de implementar y ofrece una mejor protección media.

Aquí está el código para hacer el registro de entrada:

dexguard.util.TamperDetection.checkApk(context) 

El principal problema es dónde almacenar la suma de comprobación del apk para verificar contra dado que podía ser reemplazado. La forma de Dexguard es verificarlo localmente, pero el uso de otras características como el cifrado de clase/cadena y la ocultación de la API oscurecen esta llamada.

0

Utilice el servicio de licencias de Google Se conectará con Play Store para asegurarse de que el usuario compró la aplicación cada pocos días. (puede establecer la cantidad) También mirar a ProGuard. Quita todos los nombres de clase, método y variable del código, lo que hace que sea realmente difícil de entender una vez que se descompila.

+0

Gracias, soy consciente de el servicio de licencias, pero eso no es bueno para aplicaciones no pagas, he actualizado la pregunta. También la ofuscación es un buen comienzo, pero no evita el decompilamiento, está de acuerdo en que es más difícil. – scottyab

+0

Tampoco es lo suficientemente bueno para aplicaciones pagas. Varias aplicaciones cargadas en Aptoide han descifrado las licencias de Google. – beetree

Cuestiones relacionadas