
Seguridad de juegos móviles: protección contra piratería
En general, con la excepción de los grandes desarrolladores de juegos (empresas con fondos limitados disponibles fuera del desarrollo de juegos), la mayoría de las veces se planifica la seguridad cuando se obtienen ciertas ganancias después del lanzamiento del juego.
Pero, si el número de usuarios en los servicios de juegos supera una cierta cantidad de usuarios, aumenta la cantidad de trabajo de desarrollo, lo que significa que se pierde el tiempo para aplicar la seguridad y luego intentar protegerse después de comprender toda la estructura del juego para los piratas informáticos. Sin embargo, debido a que los piratas informáticos ya han completado la comprensión de la estructura de la aplicación, se pueden realizar intentos de piratería adicionales con frecuencia.
Por lo tanto, es importante hacerlo desde el principio, incluso con muy poca seguridad.
A continuación se presentan las medidas de defensa adecuadas para cada tipo de piratería de juegos.
(1) BÚSQUEDA DE MEMORIA
(2) REEMPAQUETADO
(3) HERRAMIENTA DE PIRATERÍA
(4) ROOTING, MÁQUINA VIRTUAL
Búsqueda en la memoria
Para que las herramientas de piratería accedan a la memoria de la aplicación del juego, a menudo utilizarán la API proporcionada por el sistema operativo o accederán directamente al archivo de memoria del proceso de la aplicación del juego.
Métodos de defensa
1. Para protegerse contra la búsqueda y modulación de la memoria, se requiere la capacidad de detectar y bloquear el acceso de herramientas de piratería a la memoria de la aplicación a través de la API o el acceso al archivo de memoria del proceso de la aplicación del juego.
- Ver Protección de memoria de LIAPP
2. Los efectos de estas funciones también nos permiten protegernos contra la comprensión del flujo de información importante y el volcado para poder tomar información importante de la memoria dentro de la aplicación.
Reempaquetado
Alteración de recursos
[ Alteración del código fuente ]
By tampering the core source code that drives the game, the hacker achieves the goal they wants.
1. El código fuente de Java o el código fuente de UNITY que se utilizan actualmente en las aplicaciones de juegos es un lenguaje que se ha desarrollado principalmente para la portabilidad de dispositivos, por lo que es relativamente fácil identificar y alterar las estructuras.
2. En el caso de Unreal Engine, no se trataba de CÓDIGO BYTE, como JAVA y UNITY. Sin embargo, los hackers que están familiarizados con la piratería solo necesitan más tiempo y son capaces de comprender y alterar las estructuras.
[ Manipulación de recursos ]
La manipulación de recursos modifica archivos que no son de código fuente y que son necesarios para ejecutarse dentro de un paquete de aplicación para lograr el objetivo que desea un hacker.
1. Al principio del juego, hay muchas cosas de las que preocuparse para implementar la función del juego en sí, por lo que puedes definir archivos importantes en el archivo de recursos del paquete y usarlos como referencia.
A veces, estos archivos no son intencionales, pero debido a un descuido o a fechas de vencimiento en la fecha de apertura, los DATOS importantes/críticos del juego se pueden distribuir tal como se define dentro del paquete de la aplicación.
1. Detección de integridad
La detección de integridad es una función que determina si un archivo de una aplicación es un archivo distribuido por el desarrollador o manipulado por otra persona.
La detección de integridad ayuda a prevenir la manipulación no autorizada del código fuente y de los recursos en las aplicaciones de juegos.
- Puedes evitar la piratería o la manipulación de recursos comprobando si la aplicación que se está ejecutando actualmente ha sido manipulada por un pirata informático o si los archivos publicados por el desarrollador son correctos.
- A veces, si un hacker elimina y reemplaza un anuncio del juego, el desarrollador debe protegerlo mediante la detección de integridad, ya que se podrían robar todos los ingresos publicitarios.
2. Protege el código fuente
- PROTECCIÓN DEL CÓDIGO JAVA, PROTECCIÓN DEL CÓDIGO UNITY
La protección del CÓDIGO UNITY para las aplicaciones desarrolladas por JAVA CODE y UNITY que forman la base de la aplicación Android es esencial.
Debido a que identifica y puede atacar el juego mediante manipulación, debe protegerse mediante cifrado y ofuscación para no poder analizar el código fuente fácilmente.
- Unreal Engine, cocos
En el caso de Unreal Engine y cocos, el código fuente importante de las aplicaciones de juegos tiene un archivo .so en la carpeta lib del archivo del paquete.
Se debe proteger de modo que no se pueda determinar la estructura del archivo y, aunque realice modificaciones, debe protegerlas para que se puedan usar normalmente en las aplicaciones de juegos.
La detección de integridad y la protección del código fuente desempeñan un papel fundamental en la protección de las aplicaciones de juegos.
Las funciones anteriores hacen que sea esencial crear servicios de juegos seguros.
- Ver LIAPP Anti-Manipulación
- Ver Protección de biblioteca nativa LIAPP
Herramientas de piratería
Para defender eficazmente la herramienta de piratería, solo es posible una defensa eficaz cuando se consideran los dos casos siguientes:
Detecta herramientas de piratería conocidas
Bloquea el acceso de herramientas de piratería desconocidas
Además, es necesario prevenir las funciones típicas proporcionadas por las herramientas de piratería para proteger eficazmente la herramienta de piratería.
Modulación de memoria
SPiratería de velocidad
Evitar compras dentro de la aplicación
Las estadísticas muestran que las herramientas de piratería se utilizan principalmente para fines de modulación de memoria y piratería de velocidad.
1. Para la modulación de memoria y la piratería nuclear de velocidad, es posible defenderse contra herramientas de piratería conocidas y desconocidas bloqueando el acceso al proceso de la aplicación del juego mencionado en el método de "Búsqueda de memoria".
2. Además, en el caso de las herramientas de piratería conocidas, es importante comprobar si la herramienta de piratería se está ejecutando actualmente para detectarla y bloquearla.
- Ver detección de hacktools de LIAPP
A veces, no sabes si las aplicaciones que has recibido son herramientas utilizadas para hackear. Para estos usuarios, si la herramienta de hackeo instalada impide que el juego se bloquee, puede generar quejas, que pueden ser causadas por la salida del usuario.
Si se detecta la herramienta de hackeo, el usuario puede minimizar los inconvenientes comprobando si la herramienta de hackeo se ejecuta durante el proceso sin comprobar el estado de instalación de la herramienta de hackeo.
3. Para evitar las compras dentro de la aplicación, la aplicación del juego envía el recibo de pago dentro de la aplicación emitido en el momento del pago al servidor del juego para verificar la validez del recibo.
El rooteo significa obtener privilegios de administrador al cambiar su dispositivo móvil. Los derechos de administrador tienen acceso completo al sistema del dispositivo móvil para que pueda usarlo para falsificar aplicaciones de juegos o acceder a la memoria y los procesos.
Para detectar el rooteo, debe combinar la detección de archivos que se pueden convertir a derechos de administrador y la detección de roms personalizadas, lo que significa una detección eficiente.
Sin embargo, las aplicaciones de juegos a menudo permiten el enrutamiento teniendo en cuenta las entradas de usuarios, y el bloqueo incondicional del enrutamiento puede evitar que los usuarios ingresen a los servicios del juego.
Desde una perspectiva segura, la política de bloqueo del dispositivo rooteado es eficiente, o las aplicaciones de juegos pueden brindar protección contra piratería sensible con funciones como firma de memoria, detección de integridad y detección de herramientas de piratería.
[ Máquina Virtual ]
Las máquinas virtuales son programas que respaldan el entorno móvil de su PC para ayudarlo a disfrutar de juegos móviles en su PC.
La razón por la que las máquinas virtuales son importantes para el hackeo es que la mayoría de las máquinas virtuales admiten el rooteo y las mismas herramientas de hackeo poderosas que se usan en las PC se pueden usar en dispositivos móviles.
Pero al igual que el rooteo, muchas aplicaciones de juegos no recomiendan que los usuarios usen máquinas virtuales al comienzo del lanzamiento de la aplicación de juego porque también quieren ingresar usuarios valiosos.
Sin embargo, si hay muchos usuarios de aplicaciones de juegos a diferencia del rooteo, la detección de máquinas virtuales también es un factor importante a considerar.
Protege el código fuente (Protección de clase)
Previene la modulación de la aplicación (Anti-Tamper)
Protección de la memoria
Depuración de bloques (Anti-Debugging)
Protección del código de Unity (Protección de Unity)
Previene el reempaquetado (Anti-Repackaging)
Protección de Unreal, cocos Engine (Protección de biblioteca nativa)
[ Expansion ]
Detección de herramientas de pirateo
Detección de máquinas virtuales
Detección de enraizamiento
Recomiende que al comienzo del lanzamiento de aplicaciones de juegos, sea necesario usar el ticket LIAPP ONSITE (aplicar LIAPP una vez) o LIAPP ONSITE Monthly (aplicar LIAPP de manera ilimitada hasta su vencimiento) para cumplir con los requisitos de defensa esenciales de distribución.
Y recomiende que use LIAPP BUSINESS Monthly para cumplir con los elementos que corresponden a la expansión durante el mediano plazo cuando los usuarios de las aplicaciones de juegos aumentan.
Si el servicio de la aplicación de juegos se ha reclutado con un aumento explosivo de usuarios o un cierto nivel de usuarios, la estrategia efectiva es usar LIAPP for Game para proteger tanto iOS como Android, establecer políticas y controlar al usuario.