elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ... 102
321  Programación / Ingeniería Inversa / Re: [TUTORIAL] WPE Pro - Captura, modifica y envia paquetes TCP (cheats, juegos...) en: 18 Diciembre 2013, 19:27 pm
Gracias por los comentarios.

Alguien a probado de hacer el tutorial siguiendo los ejemplos? Estoy deseando leer las experiencias de los usuarios que lo hayan probado. Tambien me gustaría ver si alguien puede ponerlo en practica con algún juego real y postear los resultados...

Por mi parte estoy buscando algún juego en Flash sencillito para enseñar y practicar todos :)
322  Programación / Ingeniería Inversa / [TUTORIAL] WPE Pro - Captura, modifica y envia paquetes TCP (cheats, juegos...) en: 18 Diciembre 2013, 16:19 pm
Bueno, tras el éxito del tutorial sobre edición de memoria local usando Cheat Engine, os traigo una nueva herramienta que nos permitirá interceptar (sniffer) modificar y enviar packetes TCP entre un cliente y un servidor externo. El programa se llama WPE Pro y en éste tutorial usaremos la versión 0.9a mod.

Para hacerlo todo más fácil, os enseñaré a trabajar con WPE mostrando un caso real (programado por mí), para que podáis tocar, editar y probar con vuestras manos. Empecemos...

Primero de todo os dejo un link donde encontraréis el WPE Pro 0.9a mod y mi ejemplo práctico que usaremos para enseñar éste sistema:


En su interior encontraremos lo siguiente:


wpepro09mod = Carpeta que contiene el WPE
CLIENTE.exe = Mi ejemplo para poner en practica éste tutorial
SERVIDOR.exe = Mi ejemplo para poner en practica éste tutorial

En la carpeta de wpepro hay una carpeta filtros con mi ejemplo ya  resuelto. Por si lo quieres ver o por si te atascas.

TEORÍA Y EXPLICACIÓN DE LAS PARTES

Abrimos el WPE, estaréis en la ventana principal, a continuación os dejo un esquema y os explicaré las partes importantes. Por favor, anotad los nombres de los botones ya que me referiré a ellos durante todo el tutorial:


1) Target Program: Nos permite seleccionar el proceso (cliente) que queremos monitorizar.
2) Trace Controls: Nos permite iniciar, pausar y detener la captura (sniffer) de paquetes. Abajo en los contadores sale el número de paquetes capturados
3) Action Console: Nos permite crear filtros y enviar paquetes modificados.

A continuación os muestro una ventana con 4 paquetes capturados. Aún no he explicado como se captura, pero primero quiero que veáis que datos nos muestra y que significa cada cosa:


1) Contador: Muestra el número de paquetes capturados en una sesión
2) Paquetes: Indicador numérico de los paquetes recibidos
3) Source / Destination: Aparece la IP y puerto del cliente y del servidor
4) Tamaño: Indica el tamaño del paquete (número de offsets)
5) Tipo de paquete: Puede ser Send o Recv. Nos indica si es un paquete de entrada o salida
6) Datos: Nos muestra en HEX y ASCII los datos del paquete.

A modo de resumen, en la imagen de ejemplo se ven 4 paquetes capturados, 2 de Envío (send) y 2 de respuesta (Recv). Fácil, no? Ahora os enseñaré que pinta tiene el editor de paquetes (filtros), no os asustéis, es más sencillo de lo que parece:


1) Datos el filtro: Indicamos el patrón de offsets que buscamos y los offsets que modificamos
2) Tipo de filtro: En el ejemplo; Normal

Éste tipo de filtro (normal) no me gusta usarlo, a continuación os enseño el avanzado:


1) Datos el filtro: Indicamos el patrón de offsets que buscamos y los offsets que modificamos
2) Filtrar en: Indicamos que tipo de paquetes serán afectados por éste filtro (en el ejemplo; los de tipo Recv
3) Tipo de modificación: Indicamos si modificaremos todo el paquete o desde el offset encontrado

Bien, hasta aquí ya conocéis y podéis identificar las principales partes del programa, ahora vamos a practicar con un ejemplo, para ello ejecutamos el CLIENTE y SERVIDOR que hay en la carpeta (los he programado yo). Básicamente pretende ser un videojuego muy sencillo que permite abrir cofres y comprar objetos (items), aquí os dejo la ventana del CLIENTE y del SERVIDOR:



EMPEZAMOS CON EL TUTORIAL PRACTICO
CAPTURAR PAQUETES

Ejecutad el WPE, el CLIENTE y el SERVIDOR, seguid los siguientes pasos:

- Pulsar START SERVER en la ventana SERVIDOR
- Pulsar CONECTAR en la ventana CLIENTE

Si lo habéis hecho bien, os aparecerán los siguientes mensajes:


Bien, el ejemplo que he programado es sencillo. El CLIENTE se conecta al SERVIDOR y envía una serie de paquetes, el SERVIDOR los comprueba y devuelve una respuesta, así de sencillo. En la ventana del CLIENTE, pulsa el botón abrir cofre y comprar item:


Podrás observar como el cliente envía la petición de abrir un cofre y el servidor la procesa (genera entre 1 y 5 monedas) y las envía al cliente.

En el caso de comprar item... tenemos 500 monedas y el item cuesta 2300, así que el servidor nos deniega la compra :(

Bien, ya tenemos nuestro juego ejecutándose y ya sabes como funciona, ahora vamos a empezar con lo bueno: capturar paquetes y engañar al servidor jeje. Pulsamos en WPE el botón de TARGET y seleccionamos el proceso del CLIENTE:


Una vez hecho ésto, pulsamos el botón de PLAY del TRACE CONTROL, así iniciaremos la captura de paquetes. Mientras esté el botón de PLAY pulsado, WPE irá capturando todos los paquetes que se envíen y reciban.

Nos situamos en el CLIENTE y pulsamos 1 vez en abrir cofre y 1 vez en comprar item, debería ocurrir lo siguiente:


Si lo has hecho bien, habrás capturado 4 paquetes (fíjate en el contador de paquetes). Ahora pulsa en el botón STOP para detener el sniffer y automáticamente veremos la ventana de paquetes capturados:


Bieeeeen!! acabas de capturar tus primeros 4 paquetes!! Tómate tu tiempo para ver que has capturado, intenta entender el formato de los paquetes. Para éste tutorial lo he hecho MUY sencillo. Si te fijas, se trata de una comunicación entre el CLIENTE y el SERVIDOR; cuando has pulsado en abrir cofre, el cliente ha mandado (send) un paquete cuyo mensaje es OpenChest#1 y automáticamente el servidor ha devuelto un paquete cuyo mensaje es GetCoins#3 (en mi caso he obtenido 3, tu puedes obtener entre 1 y 5, en un número random).

Se entiende? Creo que es bastante sencillo.

ENVIAR PAQUETES CAPTURADOS

Ahora que tenemos capturado el paquete que indica la acción de abrir un cofre, lo añadiremos a WPE para poder enviarlo de forma abusiva jeje, hacemos lo siguiente:

Pulsamos botón derecho sobre el primer paquete (send) y seleccionamos Add to Send List:


Ahora vuelve a hacer click derecho y selecciona la última opción Set Send List with this socket ID:


Éste paso es importante, ya que le estaremos indicando a WPE que utilice el mismo ID de socket para mandar el paquete. Si lo hemos hecho bien, en nuestra Action Console aparecerá el paquete. Recuerda marcar la pestaña Send en la Action Console:


Marcamos el paquete tal y como se ve en la foto y pulsamos en el lápiz para editar el paquete:


Ésta ventana nos muestra el paquete, aparece el tamaño (11) y el contenido en HEX y ASCII. Pulsamos QUIT ya que no queremos modificar el paquete (solo os quería enseñar como ver el contenido de un paquete antes de ser enviado). Ahora indicaremos a WPE que envíe ese paquete como si lo estuviera haciendo el propio cliente de forma legítima.

Pulsamos el boton PLAY en la ACTION CONSOLE (el botón de abajo que hay lado del lápiz) y aparece la siguiente ventana:


Debería estar configurada tal y como se ve en la foto, es decir:

- Enviar 1 vez
- Utilizar el socket abierto
- Open Socket ID: Éste es el ID del socket, debería tener un número ya escrito.

Pulsamos PLAY en ésta ventana para enviar nuestro paquete 1 vez, si lo hemos hecho bien el cliente recibirá las monedas como si hubiera abierto el cofre:


Ves que fácil? Ahora vamos a investigar un poco más: Vuelve a enviar el paquete pero ésta vez ponlo en 5 (mira la foto):


Pulsa PLAY y observa que ocurre en el CLIENTE y en el SERVIDOR:


Puedes observar como WPE ha enviado 5 veces el paquete de abrir un cofre y el servidor nos ha obsequiado con 5 respuestas (y sus respectivas monedas) jajaja

Ahora, si has sido lo suficientemente curioso... te habrás preguntado porque el paquete que envía el cliente es OpenChest#1, no? Que pasaría si cambio el último número? Para ello pulsa el lápiz para editar el paquete y cambia el último offset:


Pon un nombre al paquete para que recuerdes que lo has modificado y envíalo 1 sola vez, observamos que ocurre:



CHAN!! Acabas de engañar al servidor haciendo creer que has abierto 5 cofres, el servidor recibe OpenChest#5 y te envía 5 veces el paquete de obtener monedas. GENIAL!!

Bien, acabamos de llegar al final de la explicación sobre como enviar paquetes, es muy sencillo.

FILTAR & MODIFICAR PAQUETES

Ahora os explicaré como modificar los paquetes entrantes (recv), capturando los que cumplan un filtro y modificar dichos paquetes antes de que el CLIENTE los reciba, volvemos a nuestra captura de paquetes y nos fijamos en el primer paquete de tipo Recv:


Ese paquete es la respuesta que nos devuelve el SERVER cuando le enviamos el comando OpenChest#1, es decir, lo podemos traducir de la siguiente forma:

CLIENTE dice OpenChest#1
SERVER responde GetCoins#0X (X puede ser cualquier número del 1 al 5)

No hay que ser un superdotado para descubrir que GetCoins es la función de dar monedas y los número de detrás del # son la cantidad de monedas... pues vamos a modificarlo para que el servidor nos devuelva SIEMPRE 99 monedas. Para ello seleccionamos el contenido Hexadecimal del paquete tal y como se ve en la foto anterior y hacemos click derecho y seleccionamos Copy.

Nos vamos a nuestra Action Console (pestaña Filters), seleccionamos el primer filtro y lo editamos con el botón del lápiz:


- En la ventana del filtro, cambiamos el modo a ADVANCED
- En la parte superior, en los offsets de SEARCH hacemos click derecho y seleccionamos PASTE para pegar los datos de nuestro paquete
- Hacemos lo mismo en los offsets de MODIFY (click derecho y PASTE)

En la foto veréis que he cambiado los offsets 10 y 11. Ahora os explicaré el motivo, de momento modificarlo también (igual que la foto). Ponerle un nombre al filtro y seleccionar el tipo Recv. Pulsamos Apply

Una vez hecho ésto, marcamos el filtro y pulsamos el botón ON:


En éste estado, WPE capturará todos los paquetes de tipo Recv y los comparará con los offsets que hemos puesto en SEARCH, es decir:

47 65 74 43 6F 69 6E 73 23 = GetCoins#

Si esa comparación se cumple, modificará el paquete por los offsets de MODIFY:

47 65 74 43 6F 69 6E 73 23 39 39 = GetCoins#99

Pulsamos varias veces sobre el botón de abrir cofre en el CLIENTE y observamos que ocurre:


Como puedes observar, el servidor recibe nuestro OpenChest#1, el servidor devuelve unas cuantas monedas (1, 2, 5, 3, etc...) pero en nuestro cliente obtenemos 99 monedas todo el rato jejeje

Bien, así de sencillo es aplicar filtros. Solo tenemos que tener muy claro que offsets buscamos y que offsets hay que modificar, luego WPE trabajará solo. Para desactivar el filtro hay que quitar el botón ON.

ENVIAR PAQUETES MODIFICADOS

Ahora explicaré como solventar el tema de comprar items. (Enviar un paquete modificado)

Ya has visto que el cliente envía BuyItem#500 y el servidor responde BuyDennied#0 (es decir, que no nos permite comprar porque nos falta dinero), vamos a engañar al servidor, jeje.

Nos vamos a nuestra captura y seleccionamos el paquete de comprar BuyItem#500, hacemos click derecho y lo enviamos a nuestro Send List:


Marcamos el nuevo paquete y lo editamos:


Vamos a cambiar el número 500 por el número 2800, verás que no lo puedes cambiar de golpe. Primero tienes que aumentar el tamaño a 12 y luego escribir el nuevo valor:


Guarda el paquete modificado y envíalo 1 vez usando el botón PLAY (ya deberías saber hacerlo), si lo has hecho bien obtendrás lo siguiente:


Ya tienes tu item gratis!! :)

RESUMEN FINAL

Bueno, por hoy me detengo ya. Espero que os animéis con WPE ya que es un programa muy divertido. Ésta teoría se puede aplicar en juegos multiplayer actuales para dupear items, recibir dinero/monedas/gold, hacer tradehacks y un sinfín de cosas más. Se pued eutilizar para juegos tipo Starbound, Diablo II o para juegos Flash de navegador como PokerStar o cualquier juego tipo Ogame, etc...

La dificultad reside en que no hay una forma fija para capturar y modificar un paquete. Cada juego utiliza su protocolo y su sintaxis. Lo complicado es capturar el paquete deseado y saber modificarlo. Algunos paquetes estarán cifrados o con comprobaciones de CRC, pero eso ya lo veremos más adelante...

Saludos!! :D
323  Seguridad Informática / Análisis y Diseño de Malware / Re: asprotect help me en: 18 Diciembre 2013, 14:13 pm
wrong forum
also, we don't unpack file... we teach how to unpack file.
324  Programación / Programación Visual Basic / Re: Listar puertos en uso por procesos en: 18 Diciembre 2013, 10:34 am
Te doy una solución alternativa.... a mi me gusta utilizar recursos externos para solventar algunos problemas. Por ejemplo, se me ocurre lo siguiente:

1) Lanzar internamente el comando netstat -nb
2) Parsear el output del comando (Usando InStr, Split, etc...)

netstat -nb te muestra todas las conexiones y puertos abiertos y sus procesos asignados.

Saludos!!
325  Programación / Ingeniería Inversa / Re: VM Protector - Help ? en: 18 Diciembre 2013, 10:32 am
ufff, vmprotect, odio ese packer. No he sido capaz de reventar ningún crackme con vmprotect xDDD, me queda mucho por leer y aprender aún...

Suerte!
326  Programación / Ingeniería Inversa / Re: [Tutorial] Usar Cheat Engine para modificar juegos + inyección de código en: 17 Diciembre 2013, 20:07 pm
Gracia amigo

tratare de descargarlo, solo espero que no aparescan esas encuestas que me tienen loco

Saludos y gracias nuevamente

http://wpepro.net/

El programa es algo complejo, intenta descubrir como funciona o si no espera un par de días a que publique el tutorial
327  Programación / Ingeniería Inversa / Re: [Tutorial] Usar Cheat Engine para modificar juegos + inyección de código en: 17 Diciembre 2013, 19:27 pm
Hola Mad

gracias por tu atencion

Soy una persona que en sus tiempos libres juega el travian y me llamo mucho la atencion ver como algunos jugadores de la nada tienen millones de tropas , como dije ahora juego servers privados

Como dije me llamo mucho la atencion ver que muchos jugadores hacen trampa , asi que puse a consultar como lo hacen, vi y trate de descaragar varios hacks , pero es imposible por esas malditas encuestas que sale cuando vas a descargar algo

como no podia comence a preguntar a esos jugadores que hacen trampa algunos hackean oros y otros materias y tropas , uno me dijo que solo con el cheat engine se puede hacer pero es complicado el procedimiento , pero si es posible

saludos

Te recomiendo que leas sobre WPE Pro, creo que es la solución a tu búsqueda.

Estoy preparando un tutorial interactivo para enseñar a los usuario sobre WPE Pro, espero tenerlo teminado en un par de días

:)
328  Programación / Ingeniería Inversa / Re: Importante Leer crackeadores!!!!! en: 17 Diciembre 2013, 19:24 pm
??? chaval? entonces por ejemplo la gente de skidrowgames, 3dm que han sacado el crack hace un mes del fifa 14???, sera mas ilegal eso q un crack de un editor q no conoce nadie?? y no le pasa nada a nadie. Me apuesto 300 pavos contigo a que saliendo de un CRACKME de 50 k ni pillas pescao ni enseñas a usar la caña. Sincerax creo q te ha jodido en lo personal lo que te he dicho porque sabes q es verdad, sabras pero no tanto como te crees. Y ahora vas y me baneas indefinidamente del foro, para demostrar tu poder informatico, jajjajaj. Pero es sencillo con HOTSPOTSHIELD usar otra ip y volver a entrar, y como se me vaya la hoya de assembler entiendo lo justo pero de petar server y web un huevo, asi que cuidadito PESCADERO!!!

El que la gente de skidrow publique crack's para software comercial es su problema. Hacer eso es ilegal. Hacer crack's para un software de 2$ o para el Fifa es ilegal.

Si tienes "300 pavos" para hacer apuestas, quizás, lo mejor será que compres ese software que no sabes crackear en lugar de perder el tiempo aqui.

Creeme cuando te digo que no me ha afectado en absoluto tu mensaje, ni en lo personal ni en lo profesional. Además yo no he dicho que sepa ni tampoco me creo saber más que nadie.

No voy a banearte, para que? Tengo mejores cosas que hacer. Por cierto, te pido porfavor que pongas en practica tus conocimientos de assembler y "petes el server", acabo de hacerme una bolsa de palomitas y así tengo diversión asegurada viendo tus conocimientos de "hacking en assembler"

Saludos
329  Programación / Ingeniería Inversa / Re: Importante Leer crackeadores!!!!! en: 17 Diciembre 2013, 19:00 pm
Pero que tristeza da leerte, chaval.

Si no explicamos como crackear un software en concreto es sencillamente porque es ILEGAL (a parte de no ser didáctico). En su lugar, se reproducen protecciones y "entornos" idénticos para que puedas practicar (crackmes), para que puedas aprender y luego APLICAR sobre un software real.

Aquí no regalamos pescado, enseñamos a la gente como usar una caña de pescar.
330  Programación / Ingeniería Inversa / Re: [Tutorial] Usar Cheat Engine para modificar juegos + inyección de código en: 17 Diciembre 2013, 14:36 pm
Hola de nuevo

saben que si se puede utilizar el cheat en travian, lo malo es que no se como, pero ahora juego un server x100000 y varios jugadores lo hacen ... no se como todos hablan otros idiomas , he preguntado a varios jugadores pero solo uno me contesto ...me dijo que lo hace con el cheat engine y que se demora mas de 20 minutos en hackear , pero no sabe como explicarmelo

ojala haya alguien que sepa como hacerlo

saludos

Travian es un juego de navegador. La base de datos del progreso del juego (nivel, dinero, recursos, etc...) están en el servidor. En local solo se muestra un layout. Ese tipo de juegos se basan en ejecutar ciertas acciones limitadas en tiempo. ALGUNOS juegos utilizan cookies y timers locales en JS para controlar esos límites/tiempos.

En cualquier caso, y hasta donde yo se, con Cheat Engine no podrás modificar nada de eso. Lo único que puedes probar es usar el SpeedHack de CheatEngine (explicado justo arriba) para ver si tienes suerte y puedes alterar algñun timer local, pero lo dudo muchísimo.
Páginas: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ... 102
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines