Advertencia Este artículo es solo para información sobre qué es un exploit. La explotación está en contra de los Términos de servicio de Roblox.
An explotar es el uso de fallas y vulnerabilidades de software en Roblox por parte de un jugador para alterar el juego o la jugabilidad para obtener una ventaja injusta. Las hazañas se han definido como una forma de hacer trampa.
Algunas vulnerabilidades se encuentran en forma de programas o archivos DLL inyectables, que rompen explícitamente los TOS de Roblox y pueden llevar a una prohibición permanente por parte de Roblox. Un ejemplo serían las populares "GUI de piratería", en las que muchas herramientas de explotación se colocan en forma de GUI para el jugador.
Otros exploits se aprovechan de las fallas en los scripts o la construcción de un juego. Un buen ejemplo sería el infame error "Noclip" en Jailbreak, donde los jugadores aprovechan el script de rastreo y las paredes delgadas para ingresar a áreas que de otro modo serían inaccesibles. Roblox no puede prohibir tales exploits, pero un desarrollador puede prohibir a los jugadores que sean sorprendidos haciendo esto si el juego tiene una infraestructura de moderación, como un script de administración.
Muchos usuarios creen que el término correcto para los programas que cambian Roblox para la ventaja de un jugador es "explotación", y otros creen que "piratería" es el término correcto. Sin embargo, piratear es el acto de obtener acceso no autorizado a un sistema mientras que explotar es abusar de una vulnerabilidad para hacer lo mismo.
Contenido
- 1 Denuncia de un explotador
- 2 Tipos de exploits
- 2.1 Bytecode a través de la función de cadena de carga
- 2.2 Proto conversión
- 2.3 Envoltura de Lua
- 2.4 Inyección de DLL
- 2.5 Conmutación por retraso
- 2.6 Omisión de FE
- 2.7 Niveles de explotación
- 2.8 Clickers automáticos
- 2.9 Aimbots
- 3 Anti-Exploits
- La crítica 4
- 5 trucos inapropiados
- 6 Véase también
- 7 Referencias
Informar a un explotador
Una vez que haya confirmado que hay un explotador en el servidor, use la función de Informes (Informar de abuso) e informe al explotador por hacer trampa / explotar. Antes de enviar el informe, asegúrese de incluir tantos detalles como sea posible. Una vez hecho esto, haz clic en "Enviar" para enviar el informe al equipo de moderación de Roblox.
Tipos de exploits
Bytecode a través de la función de cadena de carga
Cuando Lua ejecuta programas, la máquina virtual Lua compila el código en bytecode Lua antes de que sea interpretado. Este proceso es irreversible sin artefactos (a través de la descompilación) y, por lo tanto, se usó con frecuencia para la ofuscación de código.
El código de bytes Lua no tiene la misma estructura que Lua y permite, por medios no convencionales, la manipulación de la pila y otras cosas que no son posibles en la programación normal de Lua. Es posible, aunque difícil, escribir el código ensamblador de Lua manualmente y ensamblarlo en el código de bytes de Lua. El proceso de Roblox puede cargar código Lua y código de bytes Lua mediante el uso de la función de cadena de carga (que se puede alternar en ServerScriptService).
Se ha propuesto en la lista de correo de Lua que la manipulación directa de la pila podría usarse para acceder al entorno de otras funciones durante su ejecución y, por lo tanto, para robar valores de estas funciones (incluidas las funciones C a las que Lua tiene acceso), algo que es no es posible en puro Lua.
El usuario de Roblox, NecroBumpist, demostró que la idea era cierta y posible. [1] Utilizando el código de bytes Lua, creó una función que permitía a un script robar valores de otras funciones, incluidas las funciones C. Esto hizo posible robar valores de las API de Roblox, pero pasaron meses hasta que alguien encontró una manera de usar este error para modificar el entorno global y ser capaz de hacer que los scripts principales y el script de unión ejecutaran cualquier código Lua en un servidor de juegos.
Esto resultó en la eliminación del código de bytes de Roblox y la capacidad de usarlo con la función de carga. [2] A pesar de la creencia común, este exploit no estaba relacionado con un exploit de biblioteca dinámica directa (DLL) en el mismo período de tiempo. La eliminación del código de bytes no tuvo otro efecto secundario que hacer imposible la ofuscación del código sin otros medios.
Proto conversión
Después de eliminar el compilador de Lua del cliente, Roblox realizó grandes cambios en la máquina virtual de Lua. El código de bytes compatible con Roblox después del cambio contenía un uso intensivo de cifrado y ofuscación y requería una firma especial del servidor, que es donde se compilaron todos los scripts del cliente. Generar este nuevo código de bytes desde cero resultaría casi imposible para los posibles explotadores.
En el verano de 2015, a un usuario de un foro clandestino de desarrollo / mercado de exploits de Roblox se le ocurrió una idea: al usar el compilador regular de vanilla Lua para generar un prototipo de función Lua y luego modificarlo para que sea compatible con la máquina virtual de Roblox, podría lograr ejecución del script. Este proceso se hizo más fácil mediante el uso de tipos de datos muy flexibles de C ++, donde después de revertir las estructuras correctas, acceder a todos los datos de un prototipo de función de Roblox era trivial.
Después de resolver el cifrado, este usuario logró la ejecución del script y denominó su método "protoconversión". Luego creó un exploit, que fue el primero de muchos exploits en utilizar el nuevo método. Algunos de los exploits más frecuentes e infames de la historia han utilizado este método para ejecutar scripts.
Envoltura de Lua
También se estaba trabajando en un nuevo método para obtener la ejecución del script después de los grandes cambios en la máquina virtual que implementó Roblox. Este método, denominado "envoltura de Lua" o simplemente "envoltura", se convirtió en el segundo método más popular para obtener la ejecución de un script. Este método funcionó generando un entorno Roblox falso en una instancia normal de Lua y emulando el entorno Roblox normal en funciones C implementadas por el exploit. Esto hizo que los intentos de Roblox de parchear estos exploits fueran extremadamente difíciles, lo que les permitió sobrevivir a las principales actualizaciones de seguridad sin perder ninguna característica.
Los primeros intentos de implementar este método de ejecución de scripts se incluyeron en algunos exploits muy populares, realizados por algunos de los principales desarrolladores de exploits de la época. Ambos exploits se reescribieron más tarde para usar Proto Conversion en su lugar.
Aproximadamente 2 años después, nació una nueva clase de exploits de envoltura con un exploit que, hasta el día de hoy, es uno de los exploits más populares. Aproximadamente un mes después, otro exploit también implementó el mismo método para obtener la ejecución del script. Ambos exploits utilizaron en gran medida los mismos métodos descritos en la parte superior de esta sección.
Inyección de DLL
La mayoría de las vulnerabilidades actuales son archivos DLL que se inyectan en Roblox mediante un inyector de DLL. Una vez inyectado, el exploit puede funcionar correctamente. Inyectar una DLL en un proceso no es todo lo que se requiere, ya que Roblox ha introducido muchas salvaguardas para evitar que la memoria se manipule fácilmente.
Cambio de retardo
El cambio de retraso es un exploit que no ha sido parcheado desde una demostración en 2015. La carga de un interruptor de retraso le permitirá usar las teclas de acceso rápido disponibles. Si el usuario activa la activación, su computadora dejará de enviar señales al módem, en este caso el usuario ya está usando Roblox y puede deambular libremente, el usuario debe volver a conectar su computadora a Internet en 9 segundos o Roblox se apagará. Si el usuario desactiva el interruptor de retraso, su cliente vuelve a la normalidad. La gente se queja de este exploit ya que los usuarios pueden "teletransportarse" a casi cualquier lugar del juego. Una ventaja importante del interruptor de retardo, para los explotadores, es que el lado del cliente del juego, la GUI, etc., todavía funciona normalmente, al igual que los elementos del espacio de trabajo, por lo que podrían, en un juego de rompecabezas con palancas móviles, desconectarse y cambiar las palancas de la manera completamente incorrecta y luego vuelva a conectar para estropear el juego.
Otro exploit conocido como congelación de procesos permite al usuario congelarse pausando toda la ejecución del código de Roblox. Un ejemplo de esto fue el exploit Jailbreak donde la gente podía pausar el proceso del juego para salir del tren más rápido.
Omitir FE
La única forma conocida de eludir el filtrado habilitado es mediante la puerta trasera o mediante el uso de sombreros para construir (por ejemplo: Fe building o SSBtools, es decir, herramientas de construcción del lado del servidor). El explotador debe insertar un script, como por modelo gratuito, plugin instalado o por acceso directo al juego, dentro del juego que permita ejecutar scripts de Lua como si fuera parte del juego, replicando a todos los jugadores. Este tipo de hazañas se han visto en cafés, teatros y juegos de reuniones de fans. Es casi imposible que las puertas traseras se implementen en los grandes juegos, ya que el juego no utiliza modelos gratuitos y, por lo general, se revisan previamente antes de su publicación para asegurarse de que todos los scripts no sean maliciosos.
Niveles de explotación
Los niveles son la identidad del hilo de Roblox que está ejecutando el script ejecutado a través del exploit de Roblox. Los LocalScripts normales se ejecutan con el nivel 2, los scripts de Roblox generalmente se ejecutan con los niveles 3-4, la barra de comandos en Roblox Studio se ejecuta con el nivel 5 y los complementos en Studio se ejecutan en el nivel 6. Es un error común pensar que los niveles se relacionan con la eficacia de un exploit. es, pero en realidad, si ya pudieras ejecutar en Roblox, podrías establecer el nivel. La mayoría de los exploits ejecutan sus scripts en el Nivel 6 y degradan intencionalmente sus niveles cuando llaman a ciertas funciones en el juego para evitar ser detectados. El nivel 7 es un nivel superior que se sospecha que es falso y una estafa, aunque probablemente existió con exploits como Synapse X antes de Filtering Enabled (FE).
Clickers automáticos
Los clics automáticos son programas de computadora que hacen clic automáticamente en ciertas ubicaciones para el usuario, generalmente para obtener ventajas en varios juegos de Roblox. El género de juegos "clicker" que incluye juegos como Case Clicker son juegos en los que es más probable que los usuarios que utilizan clickers automáticos obtengan ventajas. Estos no son bannables, ya que son simplemente dispositivos de control de entrada y no alteran el cliente de Roblox en sí.
Aimbots
Los Aimbots son más comunes en muchos de los principales juegos de FPS y son principalmente lo más destacado de los explotadores que los usan. Los Aimbots son scripts que funcionan de 2 formas, silenciosa o descaradamente.
Silenciosamente se refiere al guión que altera a la fuerza el área de impacto de la munición del arma para golpear mejor al objetivo, mientras que descaradamente es su punto de mira perfectamente rastreando. Silent Aimbot se usa generalmente cuando se intenta enmascarar el aimbotting, ya que tiene la capacidad de alterar el rango de su uso. Estos scripts generalmente no funcionan con juegos con un sistema de armas basado en proyectiles, sin embargo, los desarrolladores de exploits pueden usar trayectorias para calcular dónde golpear. Los piratas informáticos más inteligentes utilizarán piratas informáticos que apunten a diferentes partes del cuerpo (es decir, el estómago) para que no tengan sospechas solo de disparos a la cabeza. Por supuesto, puede ser fácil ver a través de ellos.
Anti-Exploits
Los anti-exploits son scripts codificados por el propio jugador / desarrollador, actualmente se utilizan contra los explotadores que intentan alterar el juego. Anti-Exploits nunca será perfecto, ya que siempre habrá nuevos exploits y bypasses creados por la comunidad explotadora que el desarrollador debe mantener al tanto.
Crítica
Los explotadores no pueden hacer lo que quieran. Sin embargo, pueden arruinar ciertas cosas del juego. Por ejemplo, una granja automática o la ejecución de un control remoto para enviar spam a algo.
Hacks inapropiados
Se recomienda la discreción del lector para esta sección. Lea bajo su propio riesgo.
Algunos explotadores han insertado modelos, calcomanías y sonidos inapropiados y han utilizado guiones para hacer cosas inapropiadas con los avatares en el juego, lo que genera preocupaciones en los padres cuando tales explotaciones se exponen a los niños. El caso más grave de esto y de los exploits en general fue el 4 de julio de 2018, cuando dos explotadores estaban realizando acciones muy inapropiadas con el avatar de una niña de 7 años. Este incidente apareció en gran medida en varios sitios web de noticias, lo que llevó a Roblox a prohibir permanentemente a los explotadores y a aplicar restricciones a los juegos del Modo Experimental (consulte las restricciones de los juegos del Modo Experimental para obtener más información). [3] [4] Tenga en cuenta que los antivirus encuentran exploits como malware. Los exploits son virus en ciertos casos y otros no, ralentizan los dispositivos si se ejecutan.
Véase también
- Filtrado de replicación
- Identidad del hilo
- Falla
Referencias
- ↑ Exploits de códigos de bytes mágicos de Necro, foros de Roblox, http://www.roblox.com/Forum/ShowPost.aspx?PostID=57817090
- ↑ John Shedletsky, Bye Bye Bytecode, Blog de Roblox, http://blog.roblox.com/2012/08/bye-bye-bytecode
- ↑ https://devforum.roblox.com/t/changes-to-experimental-mode-games-now-hidden-from-sort/139752
- ↑ https://www.thesun.co.uk/tech/6692872/roblox-avatar-gang-raped-video-game/