Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: kiriost en 27 Mayo 2011, 01:00 AM

Título: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: kiriost en 27 Mayo 2011, 01:00 AM
Requisitos
* Haber leído el post anterior sobre el uso de Cheat-Engine que es el programar empleado para obtener las direcciones de memoria. El post sobre Cheat-Engine: http://foro.elhacker.net/hacking_avanzado/gamehacking_cheategnine_hackeando_el_buscaminas-t328847.0.html (http://foro.elhacker.net/hacking_avanzado/gamehacking_cheategnine_hackeando_el_buscaminas-t328847.0.html).

* Un compilador de C++ y un IDE. Podría ser Dev-C++ que viene con el compilador "gcc"(descargar de aquí) o Code::Block con la implementación de MinGW.
   
* Haber leído las publicaciones anteriores sobre Game-Hacking
   
* Saber programar en C++ o ganas de aprender a programar.

Abrimos el Dev-C++ o el IDE que estén usando para programar y vamos a crear un proyecto nuevo (buscar información acerca del Dev-C++ para crear proyectos). Ya tenemos el proyecto, sólo nos falta comenzar a escribir las líneas de código que darán origen a nuestro programa.
Okey! Todo bien hasta acá! Para programar la aplicación que nosotros queremos vamos a hacer uso de las famosas APIs de Windows, es decir, las funciones de las DLLs de Windows.

Aquí está el código:
Código (cpp) [Seleccionar]
#include <windows.h>
#include <stdio.h>

int main()
{
int n = 24;
DWORD pid;
HANDLE process;
HWND wnd = FindWindow(0, "Buscaminas");

GetWindowThreadProcessId(wnd, &pid);
process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);

WriteProcessMemory(process, (LPVOID)0x0100579C, &n, 8, NULL);

CloseHandle(process);

return 0;
}


int n = 24; -> Declara una variable "Integer", es decir, que contiene un número decimal. Llama a la variable como "n" y coloca el valor "24" dentro de la misma. Ese valor será el que colocaremos, por medio de las APIs, dentro de la dirección de memoria del tiempo del Buscaminas.
DWORD pid; -> Declara una variable característica de Windows. La variable pasa a llamarse "pid" que hace referencia a "Process ID", es decir, el ID del procesos del Buscaminas que será abierto para guardar en "pid" el ID del proceso.
HANDLE process; -> Otra variable característica de Windows que declara a "process", que guardará la dirección del proceso del Buscaminas.
HWND wnd; -> Igual que la anterior. Pero guarda la "dirección" de una ventana que es obtenida con "FindWindow()".
FindWindow() -> Es una API de Windows que permite encontrar ventanas colocando el título de la misma. Ej.: FindWindow(0, "Título de ventana").
GetWindowThreadProcessId(wnd, &pid); -> API que encuentra el PID de un proceso a través de la búsqueda de una ventana del mismo.
OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid) -> Abre el procesos para escribir y leer sobre él.
WriteProcessMemory(process, (LPVOID)0x0100579c, &n, 8, NULL); -> API más importante para esta implementación. Escribe en la memoria del proceso cambiando un valor. Recuerdan la dirección de memoria que nos salió en Cheat Engine, la dirección de memoria del tiempo del Buscaminas, esa dirección que costo buscarla. Bueno, en esa dirección de memoria vamos a escribir para cambiar el valor del tiempo. Esa dirección era: 0x0100579c. Y ahí la tenemos, junto a ella está la variable "n", o sea, el nuevo valor que pasará a tener dicha dirección. Sencillo.
CloseHandle(process); -> Cerramos proceso.

Bueno, después de que tenemos el código, compilamos con Dev-C++ -> Ctrl+F9 y el proyecto se compilará, ahora tendremos un ".exe". Ctrl+F10 y el ".exe" se ejecutará. Bien, ahora abrimos el Buscaminas y ejecutamos el programa que acabamos de crear con este código, gracias al Dev-C++ y su compilador. Y WOOOWW!!! El valor del tiempo ha cambiadooo!!!!! Investiga más sobre esta técnica y sobre el código.

Proximo tutorial: Inyección DLL mediante CreateRemoteThread.
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: 79137913 en 29 Mayo 2011, 00:39 AM
HOLA!!!

Bueno, creo que para "chitear" en el buscaminas hay que hacer asi, segui mis pasos...
1 abri el buscaminas
2 teclea "X Y Z Z Y"
3 teclea Shift - Enter

Aparecera un pixel negro o blanco en la esquina superior izquierda de la pantalla, si esta en negro cuando pasas por un boton debajo habra una mina, sino estara en blanco.

Ese es mi Game-Hacking/Sin Codigo Ejecucion de Cheats en el Buscaminas.

GRACIAS POR LEER!!!
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: Edu en 29 Mayo 2011, 04:54 AM
Jeje alguien aprendió la lección xD
Buen aporte kiriost, me hacia falta ver como se hacia desde codigo ;), haz otros así que estan buenos.
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: Akai en 29 Mayo 2011, 18:19 PM
Nadie se ha fijado que los includes estan MAL?

Código (cpp) [Seleccionar]
#include "windows.h"
#include "stdio.h"


Código (cpp) [Seleccionar]
#include <windows.h>
#include <cstdio>


Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: Littlehorse en 29 Mayo 2011, 22:02 PM
He borrado todos los posts sin sentido y los relacionados. Las discusiones en mal tono no tienen lugar en esta sección.

Saludos
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: kiriost en 30 Mayo 2011, 01:15 AM
 ;D Lo lamento, tienes razon. Es que este post fue escrito principalmente para un sitio web, y aunque utilizara &gt; y &lt; me lo tomaba como < y > y me lo tomaba como código HTML. Por eso reemplace las <, > por comillas. Y me olvide cambiarlas.

Error mio.

Está perfecto Littlehorse  ::). Acepto críticas, pero de alguien que sepa criticar  ;-)
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: pucheto en 30 Mayo 2011, 01:42 AM
Critica constructiva...

* La posicion de memoria del contador, lo unico que se es q nos costo conseguirla, la conseguimos con el cheat engine... jamas explicaste como...

* Este codigo no esta dirigido al q le interese aprender a programar pq con esto no se aprende a programar...

* Como no esta dirigido al q le interesa aprender a programar, sino q ya supones q conoce un poco, no te gastes explicando q es int main() e int n = 24.

* En general en este tipo de articulos tenes q organizarlo de esta manera:
   - Introduccion teorica ( explicas las bases de pq pasa lo q pasa, obvio q si ya supones algun conocimiento previo no lo tenes q explicar )
   - Desarrollo ( explicas la implementacion de la solucion, describis las funciones utilizadas etc )... Aca esta bueno q se ponga todo el codigo junto al final, o en varios pedazos q masomenos se autocontengan (ej: una funcion, una interfaz a una clase, etc ) ... No con una funcion partida en un monton de pedazos como se esta acostumbrado en muchos tutoriales.
   - Resultados y Conclusiones

* Y sobre todas las cosas, dado q esto no es a disney channel, podes tratar al lector como si tuviera mas de 5 años.
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: kiriost en 30 Mayo 2011, 05:17 AM
Gracias por las críticas, la verdad que ayudan. Ahí le hice unos cambios. Es que en ralidad estos posts los pienso primero para publicarlos en mi web, así siempre olvido alguna modificación.

Krähne: no tiene nada que ver el foro. Lo que está mal es tu actitud y tu crítica. Puedes criticar, pero debes saber hacerlo. Yo nunca dije que era pro, experto o nada parecido en este tema. Sé que hay millones de programadores mejores que yo, pero ese no es motivo para que digas todo eso.
Yo simplemente lo que hice fue buscar información sobre las APIs de Windows y codear esto, o sea, lo hice de 0, sin mirar ni robar otro código, y eso me trae mucha satisfacción. Por lo que decidí publicarlo acá para compartirlo.
No soy experto ni me creo experto, soy newbie, porque la verdad que acá la mayoría somos newbies en algunas área y expertos en otras. Y para eso está la comunidad: para colaborar y ayudar.
Aprendé a criticar.

Citar* Y sobre todas las cosas, dado q esto no es a disney channel, podes tratar al lector como si tuviera mas de 5 años.
Jaja..tenés razón :)..Perdón, soy así, "profundizo" mucho
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: <<J.R>> en 30 Mayo 2011, 05:35 AM
Muy bueno ;)
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: Karman en 30 Mayo 2011, 08:41 AM
no es por ser hdp, pero esto está explicado en 200 lugarares, usás el cheat engine y sacás la dirección, no es por menospreciar tu trabajo pero el título está mal (por el nivel de conocimientos)... no es un cheat esto, es un simplemente editar de memoria de un programa... no confundas las cosas (a lo sumo es un trainer)

S2
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: kiriost en 30 Mayo 2011, 20:39 PM
Si. Es cierto. No es algo muy complejo pero bue...como dije es un ejemplo simple. Además está programado en modo usuario usando las APIs de Windows  :silbar: jejeje

Ahora estoy leyendo unos tutoriales sobre Programación de Drivers en nivel Ring 0 en el foro de inexinferis.com.ar y se ve muy interesante. A ver si sale algo.  ;-)

Como decía no tengo mucha experiencia en Game-Hacking pero bueno, algo es algo.
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: d(-_-)b en 30 Mayo 2011, 23:21 PM
Lo que pasa, es que no hay razón para criticar, sea cual sea el caso, si hay una sugerencia, bienvenida sea, pero hasta ahí, que el respeto no falte. No me gusta y nunca me ha gustado, escuchar personas decir, "Te crees algo", porque no es el caso, eso siempre salen de la boca de los criticones.

Si alguien sabe mucho, en hora buena, entonces ¿Que es lo que sabe?, ¿De verdad crees que el hecho de saber algo mas que otro, te crees mas sabio?, creo que ahí el que piensa así se equivoca.

saludos... :-\
Título: Re: [Game-Hacking/Código] Programación de Cheats: hackeando el buscaminas
Publicado por: Littlehorse en 31 Mayo 2011, 00:41 AM
Cita de: Krähne en 30 Mayo 2011, 03:32 AM
Bueno kiriost, al parecer tienes medio foro defendiéndote... Qué pena por elhacker.net, ahora está lleno de puros "godsys", y que haya bajado tanto su nivel. "Antes era un buen foro...".

No contesto más ya que cada crítica que hago me la elimina algún moderador.

Sin más que agregar me despido, hasta pronto y no sigas pensando que eres tan experto :laugh:.

No se que entenderás por nivel pero me parece que ni vos ni nadie tiene el derecho para andar juzgando de tan mala manera como vos lo hiciste; hay formas y formas de decir las cosas. Te he borrado las criticas que has hecho porque precisamente no fueron criticas si no trolleos puros y duros.

Lo de nivel o no nivel es relativo y lo tomo como de quien viene. En mi humilde opinión no veo que uses ni siquiera la mitad del tiempo que gastas trolleando aportando en el foro, pero mas allá de eso, uno de los conocimientos mas importantes es el de la humildad y me parece que en tu caso deberías intentar aprenderlo.

A los que les parezca que el hilo no tiene "el nivel suficiente", tienen toda la libertad del mundo para aportar lo que gusten y lo que ustedes consideren que si tiene "nivel". Es que criticar es muy fácil para todos pero el 80% de los que critican no escriben un hilo hace años.

Y que quede mas que claro que tuve demasiada paciencia para borrar todas las trolleadas y enviar los pms correspondientes, pero si estoy escribiendo acá es porque parece que hay gente que no sabe comprender que si un moderador borra reiterados posts es porque precisamente esos posts son inadecuados.

Se que no es justo cerrar el hilo por 1 o 2 personas que trollean, y le pido disculpas al autor del hilo por eso, pero la verdad es que no se puede estar borrando posts a cada rato; no vivimos en el foro. Quien considere que algún usuario requiere sanción por constantes desvirtúes, favor de comunicárselo a algún global.

Saludos.