2010-04-27 9 views
18

Me preguntaba cuál era la forma más efectiva de evitar que las personas robaran mi aplicación (descargar una copia de .apk en línea en lugar de comprarla).¿Cómo prevenir el robo de aplicaciones (específico de las aplicaciones de Android)?

Pasé un lote de de tiempo en uno en particular (Droidbox) y no lanzaré Sync hasta que pueda garantizar que las personas que proporcionan copias ilegales de la versión pro no pueden.

¿Alguien ha implementado esto? Intenté comprobar los versos de firma de mi paquete y la firma de una copia sin firmar, pero parece ser la misma, quizás estoy haciendo algo incorrectamente aquí. Estoy seguro de si la gente realmente distribuyen el apk firmado en cuyo caso no creo validación de la firma trabajaría para empezar ...

Tenga en cuenta, esta pregunta es específica para aplicaciones Android del mercado - la diferencia Al ser, la entrega de la aplicación está fuera de mis manos y no tengo forma de vincular una compra legítima con una descarga ilegal.

Respuesta

13

Ahora existe la nueva Licencia de Aplicación de Google disponible. Para obtener información más detallada, lea al respecto en el android developer blog.

Un breve resumen: Google proporciona una biblioteca que realiza una llamada entre procesos al cliente del mercado por teléfono. El cliente del mercado le preguntará a los servidores de google si el usuario registrado ha comprado la aplicación y le enviará esta respuesta. Debería haber una clave pública en su perfil de desarrollador que necesita encriptar la conexión al servidor de google para evitar falsificaciones de respuestas. También proporciona una identificación única de aplicación y dispositivo con la consulta para que sea imposible reenviar las consultas aprobadas a otro dispositivo y crear algo así como un proxy de licencia con una copia comprada reenviando las respuestas de IS LICENCIADAS a otros dispositivos.

Por el momento, este servicio se ve lo suficientemente seguro como para proteger incluso las aplicaciones más valiosas del mercado. Lo probaré y tal vez regrese y deje más información después de que lo use un poco.

Si su aplicación es realmente popular, como un juego de EA o algo así, no impide que los usuarios la pirateen. Para hackear la aplicación, alguien tiene que comprarla, luego descomprimir la aplicación y editar el código de bytes de tu aplicación para pensar que el mercado envía una respuesta correcta. El nuevo código de bytes se puede empaquetar en otra aplicación y se puede instalar en cada teléfono que permita la carga lateral. Para hacerlo más difícil siempre puedes tratar de ofuscar tu apk y hacer que tu bytecode sea difícil de entender.

+1

Definitivamente cambiaría esto a la respuesta correcta, ya que es una nueva solución compatible con Google para esta preocupación exacta. –

+1

Pero esto requiere una conexión a Internet que funcione, ¿verdad? ¿Hay alguna manera de proteger una aplicación de la misma manera si desea que su aplicación se pueda utilizar sin Internet? (jugando un juego en un avión, por ejemplo) – ibiza

+1

Si implementa esto de manera estándar, la aplicación solo necesita acceso a Internet una vez por semana más o menos. La respuesta de la Play Store se almacenará en caché. Si el usuario no ha abierto su aplicación durante un tiempo e intenta usarla sin red, puede fallar. Si te gustan tus usuarios, podrías ahorrar las veces que el mercado obtuvo una respuesta negativa y desactivar la aplicación solo después de que x falle. Esto es más agradable para el usuario pero más fácil de hackear para acceder a la aplicación pirateada. – Janusz

1

General shareware asesoramiento aquí - licencia el software para el individuo. es decir, proporcionar una clave de licencia personalizada a su nombre de usuario. Tendrán muchas menos probabilidades de distribuir una clave si tiene su nombre. Probablemente pueda automatizar el cumplimiento de back-end del pedido, para proporcionar claves personalizadas. Haga que su versión "Pro" funcione en modo de prueba hasta que se ingrese el nombre/clave.

+0

Realmente no creo que esta forma de licencia sea factible ya que la distribución de la aplicación (junto con la compra) se maneja a través del mercado de Android y no por mí. –

0

No abandone sus computadoras para que alguien pueda robar sus aplicaciones desde allí.

O espere ... ¿Quiso decir que no quiere que otros copien su software? Entonces ... no publicarlo en primer lugar es probablemente tu mejor opción.

Un poco enlace relacionado: http://news.cnet.com/8301-27076_3-20003120-248.html

Usted no tiene ningún mecanismo para estimar la cantidad de software copiado ilegalmente. Disfrute sus intentos de detener la lluvia a pesar de que las entidades más grandes que usted han intentado y han fallado.

4

Las personas que son lo suficientemente flexibles como para usar copias pirateadas de su aplicación para acceder a su DropBox probablemente estén usando su DropBox para piratería de todos modos. Olvídate de esa gente Déjalos ir. Sí, es una gran cantidad de personas a las que apuesto, pero seamos sinceros, esa gente nunca te pagaría nada de todos modos. Concéntrese en las partes que puede controlar y olvídese del resto.

Concéntrese en los usuarios de Android que usan DropBox para su trabajo, para sus negocios, para su propio código, para sus finanzas, para su tesis, y/o para sus fotos familiares privadas. El 95% de esas personas, que tienen algo de valor en su DropBox, y que quieren que se mantenga en privado, van a querer comprar su aplicación (suponiendo que sea lo suficientemente bueno para ellos).

Permítanme utilizar esta analogía:

Cuando se trata de contratar a un cerrajero para poner un candado en su casa, ¿usted contrata el tipo que se ve la parte y se lleva $ 150 por hora, o qué contratar la sombra tipo que está dispuesto a venderte un candado robado para poner en la puerta de tu casa?

+2

No puede ignorar completamente la piratería, también hay plagio. ¿Qué pasa con las personas que toman su aplicación y la pasan como propia (haciéndose pasar por el cerrajero)? –

+0

Además, muchas aplicaciones, incluida la mía, tienen costos que aumentan con el uso de la aplicación (Mi aplicación implicaba cargar archivos a Amazon s3 y usar otras API pagas). Cuando las personas piratean mi aplicación, me cuesta dinero, incluso si nunca la hubieran comprado. El pensamiento "No lo comprarían de todos modos" no se aplica a la situación de todos. – user1023127

2

Lance su propia copia ilegal en los foros más conocidos y tienen que desactivar sí mismo después de una semana y que muestra un mensaje como

Gracias por robar ... me gano la vida con la programación de esta aplicación. El x dólar no te hará daño y podría hacerlo en mi próxima comida y continuaré haciendo excelentes actualizaciones para ti.

Creo que esto es lo único que puede hacer al respecto. Las personas siempre encontrarán la manera de copiar su aplicación y todas las contramedidas solo molestarán a los usuarios que pagaron la aplicación.

Las personas que copian su aplicación no son sus clientes y nunca lo serán. Simplemente vea su uso del programa como una especie de marketing viral. Al menos están hablando de su aplicación y tal vez algunos de sus amigos luego comprarán la aplicación.

+0

O podría asustarlos para que no pirateen con un mensaje como este: "su información ha sido enviada a la policía, que ahora vigilará de cerca su actividad en la web y reaccionará en consecuencia si se infringen algunas leyes" – jcw

5

Existe una conexión única y útil entre un comprador de la aplicación y el desarrollador a través del mercado, la dirección de correo electrónico de reenvío proporcionada por google para ponerse en contacto con el comprador.

Utilizando la configuración de devolución de la integración para enviar información de compra a su propio servidor, puede usar PHP para enviar un identificador único (código de registro) a la compra por correo electrónico (en tiempo real cuando la devolución de llamada se envía desde google. entonces, el usuario utiliza este correo electrónico para registrar su software utilizando el identificador único, que luego se vincula a su androide ID (o google cuenta nombre de usuario) y el software se "activa" y garantizada ser legítimo.

Preguntas obvias

  • ¿Por qué es esta una solución adecuada cuando requiere que el usuario lea el correo electrónico? Nuestro mercado son aquellas personas que son capaces de comprar una aplicación usando un dispositivo Android. Al usar un dispositivo Android, se implica que el usuario tiene una cuenta de Google que implica que sabe cómo usar el correo electrónico.

  • ¿Cómo uso el correo electrónico con el identificador único con mi aplicación? Cree un controlador de contenido en su aplicación que maneje algo como "myactivator: // uniqueid-or-something", que hace que su aplicación se comunique con su servidor interno que controla las activaciones. Incruste esto como un enlace en el correo electrónico en el que el usuario puede hacer clic.

  • ¿Cómo debo generar el identificador único? Voy a utilizar el correo electrónico de alguna manera: estoy bastante seguro de que Google ya lo ha hecho lo suficientemente único como para rechazar cualquier método factible de venta de información de contacto.

  • ¿Qué pasa con las personas que ya compraron el software? Aquí hay muchas opciones, ninguna ideal o terrible.

    • enviar correos electrónicos a todos los compradores anteriores
    • Permitir a los usuarios activan escribiendo en su número de pedido (se puede obtener ingresando a checkout.google.com.

¿Por qué molestarse ?

Debido a que algunos de nosotros ponemos mucho de tiempo en las aplicaciones y decir "sh solo aceptaría piratear "es una bofetada en la cara.

0

Hay una nueva herramienta en la naturaleza que parece bueno para ser verdad:

Automatic Application Licensing de Keyes laboratorio.

No lo he probado todavía, pero si esto funciona, parece algo que desea utilizar en sus aplicaciones de Android de alto precio.

Si alguien lo probó dejar un comentario o editar mi respuesta con comentarios personales.

Cuestiones relacionadas