Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - .:UND3R:.

#1581
Cita de: karmany en 23 Octubre 2011, 11:07 AM
En los tutoriales de Ricardo Narvaja, él mismo dice lo siguiente:
"CÓMO CONFIGURAR EL OLLYDBG 1.10 COMO JIT ( JUST IN TIME DEBUGGER - JUSTO A TIEMPO)
Aclaro que no conviene tener configurado el OLLYDBG constantemente COMO JIT, sólo conviene hacerlo en ocasiones especiales, ya que al estar como JIT capturara el error de cualquier programa de nuestra maquina y arrancara solo, lo cual puede resultar molesto si no estamos debuggeando o crackeando, por lo tanto les enseño como se configura para casos especiales, pero conviene dejarlo con la opción que trae por default que no esta como JIT.

1.- Para colocar el OLLYDBG como JIT vamos a OPTIONS-JUST IN TIME DEBUGGING
Y aprieto el botón MAKE OLLYDBG JUST IN TIME DEBUGGER y DONE.
2.- Para quitarlo, en el mismo lugar aprieto RESTORE JUST IN TIME DEBUGGER y DONE
"

Tal como comenta karmany aunque de todas formas si se puede dejar OllyDBG en JIT sin que sea molesto ya que dentro de configuraciones del JIT podemos activar la opción "Confirm before attaching"

de esta manera cada vez que se produzca una excepción nos mostrará el SEH genérico (Cartel de error con dos botones,enviar y no enviar errores) y un botón adicional que se llama "Depurar" de esta forma no será molesto y no se lanzará automáticamente OllyDBG

PD:En windows 7 esta opción entra en conflicto si el OllyDBG que está configurado con JIT está configurado para iniciarse con derechos de administrador por lo que  es conveniente usar nuestro clásico Windows xp

Saludos
#1582
OllyDBG y Cheat engine

OllyDBG puede ser muy útil junto con Cheat engine al momento de querer
alterar, modificar un proceso en tiempo de ejecución y en este tutorial veremos cómo podemos aprovechar estos dos grandes programas en la creación de un trainer que funcione en cualquier máquina.

En esta ocasión utilizaremos como ejemplo un juego llamado: PlantsVsZombies versión 1.2.0.1073 Un juego simple pero muy adictivo.

Descarga:http://www.mediafire.com/download.php?6s16ifbo81evav9
(Subido por Wildseba)

Cheat engine:
Cheat engine es un potente buscador de address que por lo general es usado para modificar valores de juegos.

OllyDBG:
Excelente debugger con un sin fin de opciones que facilitan considerablemente su uso.

I)Conociendo al objetivo
Si iniciamos y luego de esperar que cargue el juego veremos el menú principal:


Iniciamos una nueva partida en modo aventura y al comenzar el juego veremos lo siguiente:


Explicaré rápidamente el juego, como podemos apreciar vemos una línea de césped esa línea es el lugar en donde nosotros podemos plantar plantas que se encargarán de combatir a los zombies y evitar que estos entren a "nuestra casa" y que nos coman el cerebro, para poder plantar requerimos soles, en la parte superior de la pantalla a la derecha podemos ver la cantidad de soles totales que tenemos y al lado las plantas que podemos plantar. Estas plantas tienen un coste de soles y podemos verlo en la parte inferior de la planta:


Para poder colocar una planta debemos seleccionarla con un clic y luego seleccionar en qué posición de nuestro césped la queremos plantar:


Una vez plantada se nos descontará de nuestros soles totales el coste de la planta, que en este caso su coste era de 100 soles quedándonos solo 50:


Para poder tener más soles podemos recoger los que caen del cielo, estos equivalen a 25 soles:


Si atrapamos 2 se nos sumarán 50 soles a nuestra cantidad total:


Lo que intentaremos en este tutorial será evitar que al plantar plantas se nos descuenten soles. para ello debemos entender que los juegos al igual que cualquier aplicación trabajan lógicamente con valores y estos están ubicados en una cierta dirección(Address) esta dirección puede estar dentro del ejecutable(rango de address) o fuera de él (Address generado en tiempo de ejecución) por lo que nuestro objetivo será encontrar el address que opera con la cantidad de soles totales, para localizar address utilizaremos Cheat engine.

II)Cheat engine
Abrimos la herramienta Cheat engine y veremos lo siguiente:


veremos un botón que tiene un borde que cambia de color, este botón se encarga de indicarle a la herramienta Cheat engine cual será su objetivo, hacemos clic en el botón y veremos nuestra lista de procesos activos:


en este caso el proceso del juego es popcapgame1.exe lo seleccionamos y presionamos Open

Una vez seleccionado podremos buscar el address de los soles:

en mi caso actualmente poseo 100 por lo que Cheat engine buscará en todos los address aquellos que tengan valor 100, aclaro que por defecto Cheat engine utiliza números decimales pero si deseamos buscar valores hexadecimales tildamos el cuadro hex y podremos buscarlos sin ningún problema

Si desconociéramos el valor inicial del address que queremos encontrar podemos utilizar la siguiente opción:

esto nos puede ser útil para aquellos valores que no son expresados de forma numérica como por ejemplo una barra de vida.

No entraremos en detalle de las opciones de búsqueda que trae Cheat engine ya que actualmente existe mucha información sobre esta herramienta

Presionamos First scan y en el lado izquierdo nos mostrará los address que contienen el valor que hemos buscado(la idea es llegar a 1 address):


Ahora es momento de alterar el valor, nos situamos en el juego y recogemos un sol al realizar esta operación el valor 100 se transformará en 125 ya que cada sol que cae suma 25 a nuestra cantidad total de soles:




Ahora de todos los valores que anteriormente encontró Cheat engine haremos que busqué el valor 125:

Presionamos Next scan

Si miramos en la parte izquierda del programa notaremos que encontramos el address correcto :


Le hacemos doble clic y nos aparecerá en la parte inferior del programa:


Active:congela o descongela el valor del address, esto nos da la posibilidad si es que está activado nuestra cantidad de soles totales serán siempre 125

Description:Nos da la posibilidad de cambiar o colocar un nombre al address para no confundirlo con otros que tengamos en la parte inferior del programa

Address:Dirección en donde está contenido el valor encontrado

Value:Valor decimal por defecto que contiene el address

Una vez encontrado el valor podremos crear un programa que se encargue de congelar o modificar un valor de un address de un proceso en tiempo de ejecución con tan solo presionar una cierta combinación de teclas, estos programas en el área de los juegos son conocidos como trainer's

pero para poder crear un trainer el address que debemos encontrar debe estar localizado dentro del rango del ejecutable y no afuera de él ya que los address creados en tiempo de ejecución varían en cada máquina e inclusive cada vez que cargamos el juego por lo que el trainer creado funcionaría una sola vez lo cual no es la idea, esto se debe a que los programas generalmente le piden al sistema memoria virtual (VirtualAlloc) para almacenar información que solo será útil mientras se esté ejecutando, como lo son la información de una partida de un juego, no así los avances o progresos ya que estos si los debe tener el programa de manera permanente ya que cada vez que se inicie el juego se cargarán tales datos por lo que son guardados en archivos. Nuestro objetivo será localizar el address en donde operará con nuestro valor ubicado en tiempo de ejecución y modificar la operación para nuestra propia ventaja

III)OllyDBG
Atachamos con OllyDBG popcapgame1.exe:


ya cargado nos encontraremos detenido en la siguiente address:


Ahora volvemos a Cheat engine y nos dirigimos a la address en la parte inferior, presionamos clic derecho y seleccionamos "Show as hexadecimal",esto para visualizar de la misma manera que OllyDBG:


Nos quedará de la siguiente forma:


Ahora desde el dump de OllyDBG nos dirigimos al address encontrado con Cheat engine:




ya localizada la address desde OllyDBG intentaremos encontrar el lugar en donde el programa tendrá acceso al valor de la address, para ello colocamos un hardware breakpoint on write:


Presionamos F9 y plantamos una planta:


Nos detendremos en la siguiente address:


Subamos un poco más arriba para ver si encontramos alguna operación llamativa:


Notaremos que se realiza una resta, lo más probable es que se reste el valor de la planta con la cantidad total de soles, intentemos invertir el OP-Code por un ADD para que en vez de restar sume el costo de la planta con nuestra cantidad total



Quitamos el hardware breakpoint y damos RUN al comprar una planta el coste se adicionará:

En este caso de 150 aumentó a 250

Obtenido el address ubicado en el ejecutable podremos crear un trainer genérico es decir que sirva para cualquier máquina en donde sea usado

Ahora modificamos el address que está en la parte inferior del Cheat engine:


Nos quedará así:


Ahora solo nos queda crear el trainer, para ello contamos con la opción de crearlo desde el mismo Cheat engine, nos vamos a:


Veremos dos ventanas:

Esta es la ventana de configuraciones, en donde podremos seleccionar el icono, el título de la ventana, los atajos del teclado para activar las opciones del trainer, entre otras opciones

La siguiente ventana nos mostrará como quedará nuestro trainer finalizado con las configuraciones actuales que hemos hecho:


Nos ubicamos en la ventana de configuraciones  y presionamos Add Hotkey para agregar un atajo y nos aparecerá la siguiente ventana:

En esta ventana seleccionamos el addres que queramos que modifique o congele su contenido el trainer, en este caso al tener un solo address en la parte inferior, no nos aparecen más opciones

Seleccionamos el address a agregar el trainer y nos aparecerá lo siguiente:


Colocamos los siguientes datos:


Type the keys.....
Es la combinación de teclas que debemos digitar para que el trainer modifique el address

Set Value To
Cuando activemos la combinación cambiará el contenido del address al valor actual (ya que el valor actual del address lo hemos cambiado desde OllyDBG)

Description
Texto que aparecerá al lado de la combinación de teclas

Presionamos "OK" y si nos fijamos en la parte izquierda de la ventana de configuraciones veremos lo siguiente:


Ya agregada la combinación de tecla junto con su efecto presionamos "Generate trainer"

Seleccionamos la ruta en donde se generará el trainer, presionamos Guardar

Luego Presionamos Generate:


Esperamos hasta el siguiente mensaje:


Si abrimos el trainer y todo ha salido correctamente veremos lo siguiente:


Obviamente al ser un ejemplo no se ve bien estéticamente ni mucho menos posee múltiples opciones, pero de esta forma podremos crear Trainer genéricos:


#1583
Cita de: apuromafo en 23 Octubre 2011, 05:18 AM
cuando escribes desde wrt, luego anexas con wrta, tomas desde inc o bien desde asmtxt entre otras

no ando con ningun ejemplo a mano, pero deberia servirte el ejemplo explicado en algun escrito mio * el de busqueda multiple ..revisa como funciona y tendras como hacerlo.

Había pensado en asmtxt pero debería allocar memoria virtual con ALLOC para ir ensamblando los datos del txt, pero de todas formas sirve ya que luego lo livero con FREE o no es necesario usar estos dos últimos comandos?

PD:fui a Chil.. estuve en el m4ll no fue en el fin de semana no sabía si estabas intenté conectarme por wifi del cel e incluso desde los PC'S xd en muestra pero no pude, para llamarte, estuve solo un día pero vendré de nuevo ahí si será

Saludos
#1584
Cita de: [-AizeN-] en 22 Octubre 2011, 07:13 AM
Gracias en verdad si k son de ayuda... :D,espero contar con la ayuda de ustds xq toy viendo la forma de "evadir" winlicense,y dar unpack ... =)

Bienvenido al subforo, solo necesitas las ganas y un nivel de ortografía media, esperamos verte seguido

Saludos
#1586
Cita de: MCKSys Argentina en 21 Octubre 2011, 23:34 PM
Claro, ese es uno de los pasos. Si miras con Olly, veras que la DLL de VB no se carga en absoluto (por lo que no tendras referencias a las funciones de la misma  :))

El metodo para insertar el runtime dentro del EXE es sencillo, por eso decia de hacer un tute...
:o interesante, de verdad sería genial un tutorial, lo espero con ansias saludos :D
#1587
Cita de: MCKSys Argentina en 21 Octubre 2011, 20:48 PM
Gracias karmany.

Tengo ganas de hacer un tute al respecto, porque creo que es interesante el poder insertar una DLL en un EXE hecho en VB. Aunque no es nada nuevo, esta bueno para poder ver que se puede hacer. Incluso la DLL puede colocarse como recurso comprimido y despues cargar la misma. Solo es cuestion de jugar un poco con la IAT... :)

Si hago un poco de tiempo, tratare de armar algo...

Saludos!

Si mal no lo entiendo lo que hiciste fue injertar la DLL y luego modificar la IAT para que apuntara a la DLL injertada?, no he visto el crackme pero me llama la atención lo que comentas que hiciste, Saludos
#1588
Ingeniería Inversa / Re: keygenme4 console
21 Octubre 2011, 19:09 PM
Cita de: _Enko en 21 Octubre 2011, 15:28 PM
Este keygenme esta basado en varias cosas a tener en cuenta:

*)numeros pseudo aleatorios
*)A xor B =  C  => C xor B  = A
*)ROR X,Y = C => ROL C, Y = X
*)+ una pequeña trampilla para detectar indirectamente la presencia de un debugger.

Como actúa el keygenme si detecta el debugger?, Saludos
#1589
Ingeniería Inversa / Re: [TUTORIAL]Crackme edu
21 Octubre 2011, 19:07 PM
Cita de: karmany en 21 Octubre 2011, 16:52 PM
Perdona .:UND3R:., estoy viendo ahora mismo la copia de seguridad y he visto que ya le habías puesto una dificultad 1-2, ha sido fallo mío lo habías hecho bien...
Disculpas... :-X

jajaja ok lo modifico

Saludos
#1590
Ingeniería Inversa / Re: [TUTORIAL]Crackme edu
21 Octubre 2011, 15:14 PM
Cita de: karmany en 21 Octubre 2011, 11:38 AM
Excelente tutorial, lo voy a guardar ahora mismo...
Saludos

No se puede descargar el doc.

PD. .:UND3R:. pon una dificultad de 1 a 10, que es la que anotaré en crackmes y tutoriales.

Reparado el link y la dificultad Saludos