Duda para impedir inyeccion en proceso ?

Iniciado por TrashAmbishion, 4 Junio 2016, 23:07 PM

0 Miembros y 1 Visitante están viendo este tema.

TrashAmbishion

Hi,

En mi red jugamos BF3, Mw3 y luchamos contra los Cheaters batalla interminable pero bueno a lo que iba..

Regularmente los cheaters usan inyeccion DLL me preguntaba si yo protegiera el EXE con digamos ARMADILLO esto evitaria que alguien pudiese hacer una inyección o mejor dicho le costaria muchisimo mas trabajo.

Lo otro seria que todos tuvieran que usar esta aplicacion modificada y no usaran la de por defecto pero creo que se pueden idear otras soluciones, para esa tarea.

Salu2

K3NS4N

De todos modos lo que desees hacerle al juego, van a tener que usarlos todos los que se encuentro dentro del servidor, como cualquier anticheat, no se exactamente que anticheats tendrá dicho juego, pero según mi experiencia es la única salida que tienes  :(

BloodSharp

Cita de: TrashAmbishion en  4 Junio 2016, 23:07 PMRegularmente los cheaters usan inyeccion DLL me preguntaba si yo protegiera el EXE con digamos ARMADILLO esto evitaria que alguien pudiese hacer una inyección o mejor dicho le costaria muchisimo mas trabajo.

Lo otro seria que todos tuvieran que usar esta aplicacion modificada y no usaran la de por defecto pero creo que se pueden idear otras soluciones, para esa tarea.

Estrictamente los protectores de software no previenen la inyección de código de terceros, normalmente lo que hacen es modificar el archivo ejecutable para que el código sea complicado de entender con un desamblador/depurador normal, pero a la larga siempre se encuentra vulnerabilidades en el programa original o el código del protector :P
En resumen lo que hacen es complicar el entendimiento del programa (en este caso juegos), pero por otra parte cuidado... si son originales y conectan a los "servidores oficiales" con sistemas antitrampas existe la posibilidad(normalmente alta) de que quién use el software intencionalmente modificado te baneen porque la comprobación de la sumatorias de los archivos no coincidan con las sumatorias oficiales/originales...
Hasta donde yo recuerdo el MW3 y el BF3 creo que usaban PunkBuster...


B#



TrashAmbishion

Hola,

El BF3 lo jugamos de forma local nada de internet.

Ahora mismo no tengo nada del Armadillo o algun programa encriptador pero según recuerdo modifican las TABLAS IAT y las direcciones de memorias por virtuales asi no es mas complicado.

El tema es que los inyectores que hay para estos juegos buscan cierto espacio de memoria para poder funcionar la inyeccion si este protector ofusca esto supongo que estaría un 85% solucionado.

Lo otro sería hacer que todos los usuarios usen el EXE protegido esto me parece que es pan comido, montando un cliente - servidor que verifique esto cada 10 min o algo asi podria ser una solución.

Salu2

fary

Cuando inyectas en memoria creas un nuevo espacio dentro del proceso, ofusca lo que quieras que te van a inyectar  :laugh:
Un byte a la izquierda.

Kaxperday

#5
Quizás si reservas toda el máximo de la memoria disponible para el proceso en el que se quiere en el inyectar ya no tengan espacio para inyectarse código, pero eso sí habrá que ocupar toda la memoria virtual en windows, si tienes 4 GB de RAM, deberías de reservar memoria hasta llegar a su límite, luego ya no me preguntes si funcionaría o no el SO, pero no creo que te pudieran inyectar en ese caso XD, no tendrían memoria virtual disponible para hacerlo.

Bueno he estado leyendo, y windows usa el disco duro para asignar memoria virtual en caso de que la RAM quede ocupada, así que lo veo bastante jodido (link).

Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

fary

#6
Cita de: Kaxperday en  8 Junio 2016, 17:06 PM
Quizás si reservas toda el máximo de la memoria disponible para el proceso en el que se quiere en el inyectar ya no tengan espacio para inyectarse código, pero eso sí habrá que ocupar toda la memoria virtual en windows, si tienes 4 GB de RAM, deberías de reservar memoria hasta llegar a su límite, luego ya no me preguntes si funcionaría o no el SO, pero no creo que te pudieran inyectar en ese caso XD, no tendrían memoria virtual disponible para hacerlo.

Bueno he estado leyendo, y windows usa el disco duro para asignar memoria virtual en caso de que la RAM quede ocupada, así que lo veo bastante jodido (link).

Saludos.


Esta sin duda alguna es la respuesta del mes  ;-) ;-) ;-) ;-) ;-) ;-)




Como ya dije se pueden recorrer la DLLs que hay cargadas en un proceso y si no te cuadra alguna descargarla... obviamente todos los que estuvieran jugando deberían de jugar con el parche porque si no no haces nada.

saludos.
Un byte a la izquierda.

Kaxperday

Cita de: fary en  8 Junio 2016, 17:10 PM

Esta sin duda alguna es la respuesta del mes  ;-) ;-) ;-) ;-) ;-) ;-)


Pues yo la veo una respuesta como cualquier otra, si ocupas la memoria virtual no puede inyectarse en tu proceso.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

fary

Cita de: Kaxperday en  8 Junio 2016, 17:18 PM
Pues yo la veo una respuesta como cualquier otra, si ocupas la memoria virtual no puede inyectarse en tu proceso.

Y si cierras el programa tampoco pueden inyectarse en el, no? :xD
Un byte a la izquierda.

.:UND3R:.

Cita de: Kaxperday en  8 Junio 2016, 17:18 PM
Pues yo la veo una respuesta como cualquier otra, si ocupas la memoria virtual no puede inyectarse en tu proceso.

Memoria Virtual, ASLR lo que sea, si se busca el set de instrucciones que se desea alterar para que funcione el cheat, siempre se podrá hacer pues el código no varía, a no ser que sea polimórfico, aun así que más di, basta con modificar el patrón de búsqueda, lo cual de la misma forma permita que se localicen las instrucciones a "parchar" en tiempo de ejecución (finalidad del cheat generalmente).

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)