¡Vuelvo a la carga con
ganas de jugar!, y es que si después del tostón laboral… volvemos a casa a
leer enelpc y nos encontramos con una
angustiosa entrada hablando de problemas personales, ¡moriríamos de estrés! Relax hermanos… ¡la crisis se irá! O si no… ¡nos
iremos nosotros!
Esta vez se me ocurrió dar la última pincelada a mi
herramienta EnelDLL Injector, ahora
sí, contando con una librería en C++
que inyectar al proceso del juego WarRock.
Entre mil y una prueba, con noche incluida, dimití este fin de semana a seguir
utilizando Windows7, para realizar el volcado de la memoria del proceso del
juego. Y es que por defecto, WarRock.exe viene empaquetado con Themida, esto hace del reversing, una
tarea ardua y tenebrosa. Así que me monté una máquina virtual de cero, con
Windows XP a la antigua usanza y copié todo el contenido de la carpeta del
juego en su escritorio, para tratar de realizar el dumpeo del ejecutable con un
famoso software llamado Kernel Detective,
el cual no es funcional en Windows7.
¿Cómo no? Tenía que encontrarme con problemas, después de
todo, lo más importante es que en la máquina virtual se ejecutase WarRock.exe… ¡Pues no! Error 207 arrancando HackShield
Pro. Ya tenía que empezar a darme guerra sin pincharle si quiera.
Así que buscando información sobre el error, me topé con lo
siguiente:
¿Recuerdan la entrada
de los Antis? Pues simplemente Themida
se encargaba de realizar su tarea, evitando la ejecución del proceso en un
entorno virtualizado. Así que era imposible ejecutar Warrock en un VMware ¿eh?
Nada más sencillo, como modificar el fichero de arranque de
la máquina virtual, incluyendo unas instrucciones para deshabilitar los
controles de copiado y pegado de las Isolations
Tools. ¡Bypass al Themida!
Arrancando el juego y Kernel
Detective, ahora sí, podremos disponernos a realizar el volcado del proceso…
Guardé como WarRock.exe y me lo llevé de nuevo a mi querida máquina
real con Windows7.
Paso siguiente, sería buscar las direcciones de memoria,
donde realizar las modificaciones para nuestros super-poderes. Así que tirando
de foros, me hice con unos listados sencillos de los tipos de cheats que podría
realizar, siendo inteligentes, si queremos realizar trucos sin ser detectados,
deberíamos de utilizar aquellos en los que no se nos vea volando o matando a 20
a la vez… ya saben, ¡dos dedos de frente!
Uno de los chetos más interesantes para mí, sería el que me
diera la posibilidad de hacer las paredes transparentes, así vería a todos los
contrincantes venir. ¡Pero claro! o
bien activo y desactivo el cheto constantemente, o bien me conozco el mapa
mentalmente para no chocarme con las paredes transparentes. ;)
El truco es conocido como GlassWall, nada que ver con WallHack, lo último es atravesar
paredes jejej. Según palabras textuales de los foros de MPGH.net:
-[GlassWalls]-
Now we are going to find the addie for Glasswalls so search
"Frustum.FarDistance". You will see:
___:004960D0 push offset flt_9E23F4
So it's #define Glasswalls
0x9E23F4
¿Sería posible
encontrar Frustum.FarDistance en mi volcado? Nada mejor que utilizar IDA Pro, para estos casos. Así que
buscando la dirección actual, me encontré fácilmente con el PUSH.
Otra de las direcciones necesarias para realizar el cheto, es
el puntero del jugador, con lo que realizando la búsqueda, esta sí un poco más
compleja, la encontré.
Cogí mi proyecto y fui directo a Dev C++ 32 Bits para compilarlo, un simple IF a la espera de la tecla F6,
con la función GetKeyState, sería la
encargada de poner el valor en 1 ó 0 para activar/desactivar.
Aunque conseguí hacerlo funcionar, otro problema apareció en
la sombra de HackShield Pro. Al rato
de jugar con la librería cargada en memoria, aparecía el siguiente mensaje que
cerraría mi actividad.
Después de ofuscar el código manualmente y no encontrar
solución, decidí darle vuelta a la tortilla y actualizando mis Service Packs,
descargué Visual Studio C++ 2010 para
realizar otra compilación.
No contento con esto, se me ocurrió buscar uno de los softwares
punteros en protección de librerías DLL desarrolladas en C++. Nada como VMProtect Professional v2.05, con
controles Anti-Debuggin a nivel de usuario y Kernel, protecciones al Entry
Point…
Con el consiguiente resultado, desde RDG Packer Detector, se necesita de sus métodos heurísticos para
detectar el Packer.
EnelDLL Injector en
automático y…
SPAM! SPAM!
SPAM! SPAM! SPAM! SPAM!
ANTES…
DESPUÉS…
PD1: La tecla para activar la última compilación del cheto es Insert.
PD2: Un enorme abrazo a los grandes de Flu Project, Juan Antonio Calles y Pablo Gonzalez. Vuestro proyecto Flu-AD, sí que es una muestra del auténtico étical injection.
PD3: Cabrones, que vergüenza pasé con mis atuendos en el escenario de RootedCon jajajaj
y la foto de los atuendos en el rooted? ;-P
ResponderEliminarjeje buenos trucos pero a mi me matarían hasta con todos los trucos del mundo :(
Vamos poco a poco... ya he puesto la del esquimal en el perfíl! jajaj
EliminarNo creo que te matasen tan rápido, inclusive yo me dejo morir para que vean que no quedo 15-0 en todas xD
Saludos!
Me apunto a la petición de los atuendos !
ResponderEliminar"Mucha clase y no llevo encima nada Luois Vuitton"
Eliminarbro mandame el Kernel Detective ya entendi el truco
ResponderEliminardisculpa amigo tengo una gran duda existencial, cual es que juego un mmorpg cual usa hackshield pro y quería saber si se puede aplicar lo mismo en el, de lo que tu haces en WarRock
ResponderEliminaryo tengo la misma duda, espero que puedan ayudarnos :)
Eliminaryo tambien tengo la misma duda :/
EliminarBuenas Brother, ya se que tu publicacion es del 2013 pero por si ves este comentario quisiera preguntarte como puedo hacer un hack en un juego que tiene HackShield Pro y Nexon Security y cuando abro un programa como Cheat engine a los 10 segundos me cierra todo y nose como hacerlo, si me podrias ayudar amigo,
ResponderEliminarSaludos
el GLASSBALL FUNCIONA EN TODO LOS JUEGOS ?
ResponderEliminaruna consulta man espero que me respondas por favor , en caso de no lograr desenpaquetar themida . con tan solo un dump ya puedo buscar address con el IDA y asi hacer hackz/trainer del juego que estoy atacando ?
ResponderEliminar