Me explico, lo que ocurre es que tu estás intentando congelar el contador por así decirlo, pero este contador no tiene la cantidad de soldados que tu quieres tener, solo lleva una cuenta, por eso su nombre, contador. Tampoco deberías buscar la cantidad de soldados y tras ser modificado, pensar que habrán más, ya que los soldados no son por así decirlo un tipo entero, debe ser una especie de estructura en donde cada uno tenga parámetros como coordenadas, vida, ataque, etc. Lo que deberías hacer es escanear un soldado en específico, e ir indicando si aumento o disminuyo el address (si pierde vida lo más probable es que disminuya, si recupera vida tu adivinarás que ocurrirá ), ahora esto hará UN soldado inmortal tras congelar el address de vida, para que todos los soldados tengan vida, podrías intentar encontrar el address de cuando se realiza un ataque, de esta forma siempr elo estableces a 0 y nunca te atacarán, ahora si quieres más acción podrías injertar una dll que busuqe todas las estructura de soldado y les cambie el parámetro vida, no sé si se entiende la idea, espero que sí! saludos
Gracias por la explicacion UND3R pero no se como lo voy a hacer porque el juego tiene unas mecanicas complicadas a la hora de jugar las batallas . Ya se me ocurrira algo jeje y de paso aprendere algunas cosillas mas del mundo de cheat engine
Buenas, ante todo agradecerte el manual MadAntrax. Tengo un problema con los punteros, al buscar una variable la encuentro, buscas a donde apunta y lo encuentro, hasta aquí bien, encuentro otra dirección pero dinámica, a partir de aquí no me encuentra nada. P->DIRECCION
Alguien podría explicar como buscar pointers?, lo he probado con un juego y encuentro el uno pero dinámico y no estático. Gracias.
El que quiera que le enví el proyecto completo me envía en privado su e-mail. En esta ocasión, quiero encontrar la variable STOP o START, tambien el de los números de progressBar y cosas así para hacer pruebas.
Por lo que veo, es muy complejo usar el C# para hacer prácticas simples, tal vez me va mejor usar Visual C++ 2010 y a 32 bits nativo, nada del CLR que se mete FramWork por medio. Quiero decir esto que usa sistemas de protección cambiando la zonas de memoria de las variables para no encontrarlas y modificarlas.
Mi idea de todo esto es, un juego de coches, simuladores de aviones o helicópteros donde aparecen números como el cuentakilómetros, lo pueda ver en C# hecho por nosotros. Con ello puedo pasar los datos al USB o puerto serie mediante PIC o Arduino en una pantalla LCD o de Led de 7 segmentos.
Un ejemplo.
La parte de la electrónica me encarga yo y mostraré el proyecto final a todo detalle.
Un cordial saludo.
Edito: Datos que puede ser interés para aumentar tutorial sobre Trainers de Cheat Engine. en mi caso, prefiero hacerlo desde C#. http://www.youtube.com/watch?v=0_aX56v9ie0
Me han comentado amigos que vieron por el aire y no tienen tiempo para ver más, esa DLL es par injectar código a un exe, no para leer.
Así que, ya tengo las direcciones de memoriade las variables y en ella está Vida, que es la que quiero como ejemplo.
Para dejar claro lo que quiero.
1) Ejecutar un juego que alguien hizo con Visual C++ Win32 bajo console. No se su código fuente y en este caso no debo saberlo. El juego consiste en cambiar variables para detectarlas, como Vida, Balas y Maná.
2) Con el programa llamado Cheat Engine 6.3 encuentro las direcciones de las variables que me hace falta. Este programa en realidad es para hacer trampas en los juegos como vida infinita y cosas de estas. En mi caso es diferente que diré al final.
3) Crear una DLL en Visual C++ 213 Win32 para detectar la variable Vida, bala y Maná. Para hacer pruebas, me conformmo con la variable Vida.
4) Con Visual C#, usando Windows Form. También se puede hacer con modo consola, en mi caso el Form. Poner un label1 que nombraré como label_vida en el Form1.Windows Form de C# debe ser capaz de leer la variable Vida.
5) Dejo claro que quiero crear una DLL en C++ Win32 porque trabaja más rápido que FramWork .net. Motor interno para cálculo C++ Win32 y Interfaz para ver los valores, cualquiera basta, en mi caso usarlo con Visual C#.
6) Cada vez que el juego cambia el valor de la variable Vida, en tu aplicación hecha con Windows Form C# y la DLL, debe mostrar en pantalla en tiempo real la variable Vida. Abajjo, una imagen del juego sencillo con la variable Vida a 100.
7) Aquí abajo, Windows Form con sus variables que debe leer este llamado HackMe.
8) Cuando en el juego cambia de 100 a 99, en el Windows Form de C# debe aparecer lo mismo. Están como sincronizado.
Eso es todo. Sabía que para mi es complicado, pero no tanto, jajajaja.
hola amigo estoy en el tercer tutorial no entiendo bien en la parte que agregas el add ax.A de que parte viene el ax.A
A ver como lo explico.... El ejemplo de la parte 3 enseña como modificar un programa, concretamente lo que estamos haciendo es inyectar una instrucción ASM dentro de la memoria del ejecutable:
La dirección del dinero es ESI+34 Cuando "gastamos" dinero, la función 402C19 modifica ESI+34 con un MOV (almacena un valor), en el ejemplo hace:
mov [esi+34],ax
Es decir, coge el valor de ax y lo copia a nuestro dinero. En cada interacción, ax disminuye (seguro que si miras un poco arriba verás un sub). Para conseguir que el programa SUME en lugar de RESTAR hay que inyectar un código, por ejemplo add ax,A (lo que hacemos es sumar 10 monedas al registro ax, luego se ejecuta el mov).
Se entiende? No se como explicarlo de otra forma, jejeje. El add ax,A es solo un ejemplo, podría poner cualquier otro código ASM, por ejemplo cambiar el mov [esi+34]ax por un mov [esi+34],A
En línea
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Amigo tengo algo que preguntar acerca de esto he visto por ahi unos trainers o unos launcher de CE mi pregunta es si existe la posibilidad de desglosar los mismos para saber como sacan los valores y modificar las variables del mismo o si existe un tutorial por que como sabras el principio fundamental de los juegos de face son flash y son algunos modificables, la razon de esto es por que siempre estan parchando los juegos de modo tal de que queda inutilizado el trainer con CE pero siempren los actualizan yo solo quiero aprender como se hace y como lo hacen tengo el conocimiento basico del CE y tu tutorial me ha ayudado.