Implementando la seguridad en una aplicación en Android.

Estos días estoy muy atareado implementando la seguridad en mi proyecto de Android, intentando añadir una capa extra para impedir (inútilmente?) que crakeen la aplicación.
Concretamente tengo pensado ponerla de descarga gratuita y que se desbloquee mediante compra "in-app", esto es, realizar un pago desde dentro de la aplicación.

No quiero poner dos versiones de la app, una de pago y una gratuita, porque seria ponérselo más fácil a los crackers, esto es, que te crackeen (no estoy seguro si se escribe así) la app de pago, y como no tengas verificación de dispositivo (y aunque lo tengas), amigo mio, esa apk puede rular por todos los markets piratas libremente, sin necesidad de nada más...

Tras leer e investigar por Internet, foros, stackoverflow y demás, uno llega a la siguiente conclusión. No puedes hacer nada para evitar que te pirateen, tan solo ponérselo más difícil a los hackers, tan solo darle unos minutos o quizás unas horas mas de trabajo.

Hay apps piratas que simulan las compras inapp, esto es, hacen de bypass entre tu app y la API del servicio de compras, y le envían la señal a tu teléfono de que la compra fue efectuada correctamente. Tu aplicación se cree este engaño y tira palante con lo que tenga que hacer.
Hay juegos bastante potentes (como el mítico Clash of Clans) que consiguen burlas estos sistemas de fraude, seguramente porque se pueden permitir pagar un ingeniero (o varios) con años de seguridad "anticracker". ¿Pero que hay de mi caso? un solo desarrollador que pretende hacer absolutamente todo en su aplicación, pues podre hacer poco al respecto.

Preguntando en foros me han comentado que validando la compra con un servidor propio externo es la única manera de burlar estas apps "simulacompras".
Yo no puedo permitirme pagar un server externo, ni gastar todo ese montón de horas, en programarlo.
Así que no me queda otra que esmerarme en programar la seguridad en local (en la misma app).

A pesar de que no hay nada seguro mientras este en local, mi objetivo será burlar a estos sistemas simula compras. Si consigo lograr esto, me puedo dar con un canto en los dientes. Será solo cuestión de tiempo que consigan hackear la app mediante ingeniera inversa, y cheteando código en ensamblador.

Pero es mi objetivo en cuanto seguridad, conseguir que no se pueda burlar fácilmente a la primera.

Y si no me queda remedio, pues ya me miraré lo del servidor...

josemwarrior

Read more posts by this author.

Subscribe to @josemwarrior

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!