Streaming didáctico: Trucando juegos (cheats)

AikonCWD

#240 Genial! Como me gusta ver que os estáis animando a probar cosas!! Muy curioso el ejemplo de este juego, cuya variable se almacena un poco ofuscada. Bien visto además que la dirección correcta estaba en la misma zona de la RAM que el resto de direcciones (lógico, ambas direcciones cuelgan de la misma estructura :))

Deberes que te pongo... ya que has encontrado los valores, usa el debugger para descubrir la instrucción que escribe en el "power", intenta modificarla para que cada vez que el juego te aumente el power, éste lo haga x2 (por ejemplo). Mete alguna inyección de código, etc... Y para rizar el rizo, haz un script que dumpee la estructura, así no tendrás que buscar manualmente las direcciones cada vez que quieras jugar


Ya he subido la sesión de ayer, 2.1 y 2.2

https://www.youtube.com/watch?v=gUvxCTyjQgs&list=PLYY5qcN27JKzWPQqTTzQp8VzWvf8kpX5m

8 2 respuestas
LaChilvy

#224 waaaaaaaaat?????!!!!!!!!

3 respuestas
telemaco103

#242 Hackea la vida a aikon

hda

#242 yo de ti tendría cuidado por si al elemento de tu hombre le da por inyectar otra cosa que no sea memoria x'D

iSecOne

¿Cuando será el siguiente capítulo? Hay ganas ^^ hahah

2 respuestas
Korso

#242 No es lo que parece.

Amazon

#245 te va el salseo por lo que veo

1
AikonCWD

#245 Había pensado dejar algo de tiempo. Los viewers caen en picado en cada sesión y las visualizaciones de los streams también van bajando. Eso significa que la gente está haciendo drop o sencillamente no tiene tiempo para tragarse mis 8 horas de tostón xddd

Voy a dejar un par de días, para quien quiera y no haya podido, se ponga al día viendo las retransmisiones pasadas. Si os parece bien (y si no cambio antes de opinión), el próximo stream podemos hacerlo el Lunes. Así también os doy tiempo a que trasteéis y pongáis en práctica lo aprendido con algún juego durante el fin de semana, y podáis avasallarme con dudas y preguntas (que me encanta!)

Si?

3 2 respuestas
Midefos

#248 Si, esta bien pensado. Yo por ejemplo me he perdido los del ultimo día porque no estaba, y con este tiempo puedo ponerme al día.

Gracias Aikon por estos streamings!!

1 respuesta
nerkaid

#248 Los que tenemos el día liado es cuasi imposible seguirlo, yo aun tengo pendiente la primera sesión, lo podrías hacer semanal mejor! Así hay tiempo entre sesión y sesión para que todo el mundo lo vea, cacharreén, y salgan preguntas y nuevos temas a tocar.

3 1 respuesta
Suwak0

#241 El power x2 lo he conseguido hacer, aunque al tener 2 tipos distintos (uno te da 16 y el otro 1) he hecho dos scripts simples duplicando el valor de add y otro script para no perder vidas, ha sido mas o menos sencillo, es ver que instruccion escribe, crear una inyeccion AOB y donde pone 2 poner 1 o un jmp y saltar todo.

Las direcciones de memoria en el primer juego del stream cambian, pero aqui son siempre las mismas, es decir, las address de donde saque los datos no cambian y son las mismas, igual es otra cosa y me estoy confundiendo.

Respecto a hacer un script para dumpear la memoria, que es dumpear la memoria o en que momento lo explicas?.

1 respuesta
AikonCWD

#249 Uy, pues creo que disfrutarás viendo el último día. La parte de hacer bypass al anticheat de Unepic es sublime y muy didáctica.
#250 Me imagino, es que se me va la olla con horas, como me mola tanto, podría hacer streaming de eso cada día 6 horas. Pero entiendo que no es óptimo para los viewers xd Esperaremos al lunes.

#251 Genial! Vas pillando la idea. Te habrás fijado que, terminas casi con un script por cada "cheat" eso a veces es engorroso. En el proximo streaming enseñaré como unificar varios scripts AoB en uno solo (para que quede una tabla más profesional)

Lo normal en un juego es que las direcciones sean dinámicas, pero es cierto que algunos juegos usas direcciones estáticas, eso sí, no te confíes, seguramente tu tabla no sirva para el mismo juego en mi PC, por ejemplo. Lo de dumpear la memoria me refiero a eso mismo, usar un script con globalalloc() para crear un puntero a la estructura de tu jugador (o de tu power, etc...) y hacer que las direcciones dinámicas siempre sean fáciles de encontrar

1 respuesta
iSecOne

Podrías fijar dos días algo distanciados, Lunes y Jueves por ejemplo, y hacerlo siempre esos días, que dejan bastante margen para los que no tienen tiempo y les dan el gusto de dos sesiones semanales a los que tienen más ganas y tiempo.

Reitero también que el stream es súper top, explicaciones geniales y súper entendibles 1011/1010

jilker

Uff aun no he podido ver la segunda sesión, este fin de semana tendré tiempo y a disfrutarlo como un enano, la primera sesión fue genial y muy amena.
Mucho animo!

raidbrain

A mi me pasa eso, peri el hilo en el segundo stream y no ha habido forma de poder seguir los siguientes así que aprovecho el finde para poder ponerme al día y si pudo probar con algún juego facilito y poner en practica lo aprendido mucho mejor pero de momento acabar de ver todas las clases

Suwak0

#252
He seguido viendo los videos y me he quedado en la parte de globalalloc. Comprendo que es una zona de memoria que creas en un sitio aparte y lo que haces en un script es meter un puntero a la zona donde estan los datos importantes. Bien, en el stream es un registro, pero aqui no tengo registros, usa direcciones de memoria.

Entoces en mi genialidad he pensado que le asigno a la estructura de sPlayer el valor de la memoria y solventado, pues no. Lo que hace es meterme el valor de donde estan los datos en sPlayer tal cual, sin puntero ni nada

Script con globalalloc

Aqui los datos

Aqui lo que me aparece en sPlayer, el valor es 0069D4B0 (la captura de antes, donde estan los datos) en decimal.

Lo unico que se me ocurre es avanzar en los videos y ver como en algun momento guardabas un registro, lo usabas para algo y luego lo devolvias a su valor. En mi caso, usar ese registro para guardar la direccion donde estan los datos que me interesan y pasarselo a sPlayer.

1 respuesta
AikonCWD

#256 Imagino que sigues con el mismo juego, no?
Una pregunta, cuando buscas una dirección de memoria (por ejemplo power), éste aparece en verde en el CheatEngine?

Por lo que leo en tu explicación y veo en tu foto, intuyo que sí. Las direcciones de memoria verdes son direcciones que se consideran estáticas. Hay juegos que están programados correctamente y sus direcciones de memoria son estáticas (relativas respecto al inicio del programa), en el juego de Unepic, las direcciones son verdes, el motivo es porque siempre están XXXX bytes respecto al inicio del ejecutable/juego. Por eso las vemos representadas como:

nombredeljuego.exe+XXXX

Esas direcciones las puedes incluir en la tabla directamente, sin necesidad de buscar punteros, globalalloc, inyección de memoria, etc... Actualmente los juegos modernos no están programados de esa forma, pero en tu ejemplo parece ser que sí. Te recomendaría que utilices otro juego para practicar, pues en ese ya tienes todo el trabajo hecho (simplemente busca las variables y ya xD). Prueba con otro juego en el que no obtengas direcciones verdes para poner en practica los streams.

1 respuesta
Suwak0

#257 Si, aparecen en verde. Voy a probar con otros juegos a ver si no lo tienen y que consigo.

AikonCWD

Que tal todo? Como lo lleváis? Habéis podido revisionar los streamings pasados para estar al día? Espero que sí, pues mañana Lunes continuaremos con la clase xD

Recibí un MP del usuario Zuniels, probó aplicar lo aprendido en un juego llamado Darkest Dungeon, pero se ve que ha tenido problemas y me ha preguntado si podemos usar ese juego como ejemplo en el próximo stream. He estado mirando un poco el juego y tiene ciertas curiosidades de las que todos podremos aprender algo. Con éste juego aprenderemos a dumpear varias direcciones de memoria (de un mismo tipo de estructura), en el juego manejas a varios héroes y te enfrentas a varios enemigos, el resultado será el siguiente:

Podéis ver como se dumpean varias direcciones (nombre, HP, estrés) para cada player. Lo mismo para los enemigos, quedando una tabla muy visual y fácil de manipular. Además mostraré como alterar los multiplicadores de daño y conseguir por ejemplo un cheat de tipo Berserk para aplicar 9999 dmg (1 hit kill). El juego posee un inventario de items muy peculiar, del cual enseñaré también como acceder a todos los objetos de golpe. Os dejo una foto del cheat Berserk y su efecto:

Lo dicho, ojalá podáis asistir muchos al stream, os invito al discord para que podáis intervenir, preguntar dudas, etc... No faltéis! :D

6 1 respuesta
Diward

#259 Yo ya me he puesto al día, a ver si puedo estar en el directo el próximo día que stremees.

Ahora solo me falta ponerme una VM con windows y ponerlo en practica.

1 respuesta
kreamkul

Yo me he visto este finde todo del tirón y están muy currados y explicados al detalle. Yo alguna vez había usado cheat engine para trucar stats en el nba2k pero no tenía ni idea que era tan potente la herramienta. Te felicito por el trabajo y se agrece mucho el aporte.

1 respuesta
AikonCWD

#260 Perfecto! Y como ves lo que llevas visto? A veces no se si explico cosas demasiado obvias o demasiado complejas.
#261 Te has papeado las 8 horas del tirón? ohlala. Menudo aguante xd. Justo esto que comentas lo dije al principio del stream; la mayorría conocéis cheatengine como ese programa para trucarte la vida y ya, pero realmente tiene un potencial muy jugoso. Me alegro que te esté gustando.

1 respuesta
Diward

#262 Yo creo que la velocidad es la adecuada.
Es obvio que quien no sepa nada de asm o de como funciona el stack puede que se pierda detalles, pero creo que lo haces muy didáctico, simplificas bastante conceptos que son complejos, y aun así creo que incluso los que ya llegábamos con cierta base estamos aprendiendo mucho, o al menos yo (y no solo hablo de modificar juegos, sino de todo lo que vas explicando por el camino).

Estoy deseando ver el siguiente ya.

1
AikonCWD

Bueno, confirmamos stream para hoy a las 19h (como siempre).

Trataremos los temas de Microsoft XNA y MonoGames/Unity (un poco de teoría sobre frameworks para programación de juegos) y como explotarlos a nuestro favor. Veremos nuevos tipos de hacks (no-collision, fast-attack, infinite jump, etc...). Si nos queda tiempo trataremos en directo el juego DarkestDungeon y sus peculiaridades, así como un TeleportHack para DarkSouls (con coordenadas XYZ).

Recordad, hoy a las 19h en Twitch!
Uníos al discord para poder intervenir en directo, preguntar dudas, etc...

1 respuesta
hda

#264 yo ya he terminado las vacaciones. A ver si puedo llegar a tiempo del trabajo, no lo tengo claro. Eso sí, pondré el stream en 55'', así que dale resolución al asunto xDDD

1
AikonCWD

Empezamos ya! https://www.twitch.tv/aikoncwd

5 1 respuesta
desu

#266 Buen proyecto habrá algo de criptografía por aquí?

Anticheat System
Anti-Debug & KeyGen
1 respuesta
AikonCWD

#267 No al menos en este stream, el anticheat que se mostró fue para un juego offline (unepic) y el antidebug y keygen será sobre una aplicación homemade :)

xBoSS

Me encantan tus streamings, Tiparraco :>

1
raidbrain

Aikon al final has decidido hacer un stream cada día o vas a dejar espacio entre uno y otro ? por ejemplo hacer uno cada dos días o algo así, los conceptos de ahora son más complejos y a la hora de practicar por lo menos a mí me parece cada vez más complicado aunque tenías razón con la práctica todo mejora

1 respuesta