[LIBERACION] LittleXrefS | Analizador de referencias cruzadas de offsets en IL2CPP Arm

  • Hola Invitado, ¿Quieres ganar dinero con GamerzHacking?, estamos necesitando creadores de contenido en game hacking o pirateria de juegos ingresa al siguiente enlance para mayor informacion AQUI
  • Hola Invitado, ¿Creas contenido sobre game hacking en tu blog o sitio web?, ¿Te gustaria formar una alianza para asi poder generar mas trafico en tu sitio y seguir creciendo como comunidad? INGRESA AQUI


24
Me Gusta
16
Temas

Mstik

Moderador
Registrado
4 May 2021
Temas
16
Mensajes
36
Mejores respuestas
0
¿Hackeas juegos de Unity? ¿y no tiene un dispositivo real para configurar vigilantes en algunas direcciones de compensaciones de clase libil2cpp?, esta herramienta podría ayudarte, actualmente está disponible solo para arm por ahora, pronto se implementarán abis más nuevos como x86 y arm-64v.

Que Informacion te brinda esta herrameinta:​

  • Nombre y clase de la funcion que usa el offset
  • Offset exacto de las instructiones que usan el offset
  • Previsualizacion de instrucciones que accede a el offset

Cómo usar:​

para el uso necesitarás:
  • Volcado de archivo JSON desde cualquier dumper de il2cpp por ahí
  • binario il2cpp utilizado en el volcado
  • Nombre de clase donde reside el desplazamiento con nombres de sub_namespaces si es necesario (si el dumper genera un encabezado, solo busque el nombre de su clase de destino allí e ingréselo en la herramienta)
  • compensación que desea buscar
en el tiempo de ejecución, solo proporcione una ruta al binario il2cpp y el volcado JSON, luego ingrese el nombre de la clase y el desplazamiento, y espere hasta que lo analice.

Cómo funciona:​

esta herramienta analiza estáticamente el flujo de código de todas las funciones que hacen referencia a la clase como puntero de parámetro, luego el análisis consiste en buscar acceso a la memoria o escribir en un registro relacionado que contiene el puntero de instancia de clase de destino y el desplazamiento de destino para buscar, también utiliza recursividad , ejemplo, digamos que tenemos una clase llamada foo (del volcado) y un desplazamiento 0x8, y una función del volcado JSON que toma un puntero de instancia de foo como primer parámetro:
Porfavor, Acceder o Registrarse para ver el contenido citado!
entonces en arm se registrará el primer parámetro
Porfavor, Acceder o Registrarse para ver el contenido citado!
por lo tanto, debemos comenzar a analizar allí, solo necesitamos recorrer y buscar LDR`S o STR`S (leer, escribir en el brazo), relacionar R0 y el desplazamiento objetivo, y esto terminará cuando se sobrescriba R0 (Foo_o *) , entonces, ¿dónde está la recursividad? Bueno, cuando el registro que contiene Foo_o*(R0 pero podría ser cualquiera) se copia en otro registro, también debe aplicar lo mismo a este nuevo registro, debe verificar qué instrucción usa LDR` S o STR`S en este nuevo registro copiado y el desplazamiento de destino, y esta es la lógica de recurrencia.

Además, no es necesario cargar Foo_o* en el primer parámetro, ya que alguna función podría apuntar a él en cualquier posición de parámetro, por ejemplo.
Porfavor, Acceder o Registrarse para ver el contenido citado!
Tomé esto en consideración, por lo que se maneja adecuadamente.

1641590909437.png

Ejemplo Creado con Among Us 9.9 Android y clase GameData, y 0x24 All Player Offset.

json dump utilizado en dumper generado por ==> il2cppdumper
desensamblador usado ==>CapStone
analizador json usado ==> JsonCPP

Porfavor, Acceder o Registrarse to view URLs content!

Porfavor, Acceder o Registrarse to view URLs content!
 

Adjuntos

  • LittleXrefS.zip
    2,7 MB · Visitas: 2
  • Love
  • Like
Reacciones : Ezekiel Ez y c0de
AdBlock Detectado

Lo sentimos, los anuncios son molestos!

Claro, el software de bloqueo de anuncios hace un gran trabajo al bloquear anuncios, pero también bloquea funciones útiles de nuestro sitio web. Para obtener la mejor experiencia en el sitio, deshabilite su AdBlocker.

He desactivado AdBlock    No, gracias