[AYUDA] Programar cheats

Iniciado por r00tsec, 2 Mayo 2013, 22:15 PM

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

r00tsec

Hola, buenos días vengo a preguntar, a ver si alguien me da una mano.. con que puedo empezar a programar cheats para Counter-Strike? Ya me descargue el Visual Studio 2010, pero la verdad no se si esto me sera útil.. quiero armar cheats como el gran Karman =p, mas que todo aprender. Si alguien me da una mano se lo agradecería, perdón si postie en el lado equivocado =/, saludos!

Luchoz95

Empeza leyendo algún libro de C y después lee varios source que hay acá en el foro , son muy buenos , s2!

x64core

Cita de: r00tsec en  2 Mayo 2013, 22:15 PM
Hola, buenos días vengo a preguntar, a ver si alguien me da una mano.. con que puedo empezar a programar cheats para Counter-Strike? Ya me descargue el Visual Studio 2010, pero la verdad no se si esto me sera útil.. quiero armar cheats como el gran Karman =p, mas que todo aprender. Si alguien me da una mano se lo agradecería, perdón si postie en el lado equivocado =/, saludos!

Recomiendo 2012 es mucho más ligero que el 2010. Luego aprender C/C++,ASM,Ingenieria inversa. :D

rodrilyx

Empieza aprendiendo a programar en C, en primer lugar, luego algo de assembler, y saber utilizar un debugger.

Saludos!
Web: Neebys
A los que corren en un laberinto, su misma velocidad los confunde.
La vida sería mucho más sencilla si pudiéramos echar un vistazo al código fuente.

85

yo lo conozco a karman y sabe ingeniería inversa, al igual que muchos otros creadores de hacks, necesitan saber de esto para romper las protecciones.

obviamente conocimiento básico de ASM, y a la hora de programar es suficiente con saber C. No se requiere una POO necesariamente para hacer un cheat.

Lo que pasa es que tenés que diferenciar si lo que querés hacer es un cheat para CS o si lo que querés hacer es romper alguna protección anticheat.
Son 2 cosas distintas.
Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/

5cr173R

Amigo yo uso Dev-c++, y me preguntaba lo mismo, pero investigando encontre como usar las api de windows para hacer los cheats.
El problema, es que necesitas usar un debugger, o como yo, usa el art money. Con este podras buscar los Memory Address del valor que quieres editar.
Te voy a dejar el codigo del Cheat en C++, pero tu busca el art money porque no preciso donde estaba ni un manual.

Código (cpp) [Seleccionar]

#include <stdio.h>
#include <windows.h>
#include <dos.h>
// inicializa las variables n=valor del trainer y timer
int n=255;
int n1=1000;
int n2=99;
int n3=3;
int n4=3;
int n5=3;
int n6=3;
int n7=1;
int n8=4;
int n9=10;
int n10=9;
int n11=12;


int can_exit=0;

int exit_trainer() // funcion de error o salida
    {
    can_exit = 1;
    system("cls");
    printf("El proceso no esta abierto.\n");
    system("echo Presione una tecla para salir.");
    system("pause >nul");
    }

int write_trainer() // este script inyecta el trainer en el proceso
{
DWORD pid; // revisa la primera ejecucion del proceso
HANDLE process;
HWND wnd = FindWindow(0, "Cave Story ~ Doukutsu Monogatari");
GetWindowThreadProcessId(wnd, &pid);
process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
                if (process == 0)
            {
                 exit_trainer();
            }
WriteProcessMemory(process, (LPVOID)0x0049E6CC, &n, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x0049E6DC, &n1, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BEC, &n2, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BCC, &n3, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499C08, &n4, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BE0, &n5, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BF4, &n6, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x0002001E, &n7, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BC8, &n8, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BDC, &n9, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BF0, &n10, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499C04, &n11, 4, NULL); // esta es la direccion de memoria
      CloseHandle(process);     
      system("cls"); // limpia la pantalla
      printf("Process: %d \nPid: %d \nWindow: %d \n\n Inyect trainer... \n", process, pid, wnd); // visualiza texto en el prompt para saber que esta en ejecucion
      return 0;
}


int main() // Proceso principal
{
    system("Cave Story ~ Trainer Mod");
DWORD pid; // revisa la primera ejecucion del proceso
HANDLE process;
HWND wnd = FindWindow(0, "Cave Story ~ Doukutsu Monogatari");
GetWindowThreadProcessId(wnd, &pid);
process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
while (can_exit == 0) // comprueba que el proceso esta abierto
      {
                if (process == 0)
            {
                 exit_trainer();
                 break;
            }
            else
            {
      write_trainer(); // Escribe en la memoria
      Sleep(300); // detiene el programa para no cargar el juego
      }
      }


}



Creo que se entiende, y si no me mandas un MP y te explico con mas detalles
No tengo parientes, yo hago que la Tierra y el Cielo lo sean.
No tengo hogar, yo hago que mi cuerpo lo sea.
No tengo poder divino, yo hago de la honestidad mi poder.
No tengo medios, yo hago mis medios de la docilidad.
No tengo poder mágico, yo hago de mi personalidad mi magia.
No tengo cuerpo, yo hago del estoicismo mi cuerpo.
No tengo ojos, yo hago del relámpago mis ojos.
Watashi wa bushi