2011-08-03 13 views
9

En el iPhone hay varias maneras de detectar cuando el usuario abre la versión de su aplicación que fue pirateada.Android detectar la aplicación pirateada/craqueada

¿Hay alguna manera en el Android para detectar cuándo un usuario está utilizando la versión pirateada de su aplicación?

Respuesta

11

License Verification Library (LVL) es similar a su necesidad.

El servicio de licencias es un medio seguro para controlar el acceso a sus aplicaciones. Cuando una aplicación verifica el estado de la licencia, el servidor de Market firma la respuesta de estado de la licencia utilizando un par de claves asociado de forma única con la cuenta del editor. Su aplicación almacena la clave pública en su archivo compilado .apk y lo utiliza para verificar la respuesta del estado de la licencia.

Cualquier aplicación que publique a través de Android Market puede usar el servicio de Android Market Licensing. No se necesita ninguna cuenta especial o registro. Además, como el servicio no utiliza API de marco dedicadas, puede agregar licencias a cualquier aplicación heredada que use un nivel mínimo de API de 3 o superior.

Para ayudarlo a agregar licencias a su aplicación, el SDK de Android proporciona fuentes de biblioteca que puede incluir en su proyecto de aplicación. La Biblioteca de verificación de licencias (LVL) maneja todas las comunicaciones relacionadas con licencias con el cliente de Android Market y el servicio de licencias. Con el LVL integrado, su aplicación puede determinar el estado de su licencia para el usuario actual simplemente llamando a un método de comprobación de la biblioteca e implementando una devolución de llamada que recibe el estado.

This document explica cómo funciona el servicio de licencias y cómo agregarlo a su aplicación.

Y here es un ejemplo.

Se hace referencia en here.

+0

echa un vistazo a mi comentario en la segunda respuesta. Gracias. – Talha

4

Si pirateado quiere decir que la aplicación se saca de un dispositivo que legítimamente la compró y copió a otro dispositivo y la ejecuta, entonces sí, la Biblioteca de Verificación de Licencias la detectará y llamará a su código para tratarla. Desafortunadamente, la mayoría de las aplicaciones pirateadas disponibles en los sitios pirateados y sitios de igual a igual han sido descompiladas, se ha eliminado y recompilado y firmado digitalmente con un certificado diferente, por lo que el LVL no sirve. Si ese es el caso, como sucedió con mi aplicación paga, no hay detección y, francamente, no hay nada que puedas hacer al respecto. Google nos ha proporcionado una plataforma que hace que sea muy fácil para otros robar su propiedad intelectual. De hecho, es muy fácil, la mayor parte del robo ahora está automatizado. Es una píldora amarga para tragar, y hasta que Google haga algo al respecto, continuará sucediendo. El código de Dalvik Dex se puede descompilar editado, recompilado y firmado digitalmente por otra persona. No es seguro de ninguna forma o forma.

+0

¿Quiere decir que todo mi trabajo duro de 1 año para diseñar-construir-probar una aplicación de la que toda mi (especie de) idea de inicio depende estará disponible para el público, no solo eso sino sus códigos fuente, xml, activos? Porque si dex se descompila en jar, entonces jar también puede descompilarse en archivos de clase. Corrígeme si estoy equivocado. Probé esta descompilación en la aplicación de depuración, usando algunas [herramientas/tutoriales gratuitos] (http://stackoverflow.com/questions/1249973/decompiling-dex-into-java-sourcecode) disponibles. Pensé que la aplicación firmada no se podía extraer debido a la codificación sha-1. – Talha

+2

@Talha Sí, él es correcto. La aplicación firmada por cualquier certificado (depuración/publicación) se puede decompilar. Para manejar esto, almacene la firma en el servidor y verifique la firma de la aplicación en el lanzamiento. De esta forma puedes bloquear el acceso. –

+0

¿Te refieres a mi propio servidor?Sí, eso tiene sentido, pero no veo por qué el principal distribuidor de plataformas no puede configurar un protocolo de seguridad para mantener seguros los productos (aplicaciones). – Talha

Cuestiones relacionadas