excelente trabajo engel lex, ahora solo falta analizar las funciones que ejecuta el script!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: xavieeee en 4 Julio 2015, 04:01 AM
Buenas,
He encontrado tu manual que habla de shared codes, lo he entendido todo, pero no encuentro las instrucciones para lo que quiero hacer.
Te lo comento a ver si me puedes orientar un poco.
En mi juego cuando comienzo una batalla hay puede haber de 2 a 9 jugadores y ademas se pueden disputar varias batallas al mismo tiempo.
En cualquier caso yo lo único que quiero hacer es dividir el valor de la vida de todos los players x una variable que depende de cada batalla. Me explico, battalla 1 nivel 50, quiero que la vida de todos los palyers se divida por 50, batalla 2 nivel 75, quiero que la vida de todos los players se divida por 75.
Esta es la instrucción que accede a la vida de todos los players que están en las batallas. ClientRuntime.dll+935C25
Cuando visualizo la ventana "find out what addresses this instruction accesses" se van añadiendo todas las vidas de los jugadores a medida que voy abriendo batallas.
Llegados a este punto no se como continuar y peor aún, no se que buscar para realizar lo que quiero hacer.
Muchas gracias por tu ayuda.
Un saludo,
Cita de: xavieeee en 23 Junio 2015, 22:15 PM
Buenas,
He seguido viendo ejemplos y por fin he conseguido hacer algo con CE
El problema que tenia es que no era capaz de encontrar la dirección estática de las variables que quería. Lo he solucionado con el siguiente script para auto assemble.
Con este código cambio el valor de una variable a 100, sin importar el cambio de dirección.[ENABLE]
alloc(stack1,1024)
label(originalcode)
label(exit)
label(returnhere)
stack1:
mov [esi+000000E0],#100
originalcode:
//mov [esi+000000E0],eax
exit:
jmp returnhere
"ClientRuntime.dll"+93600D:
jmp stack1
nop
returnhere:
[DISABLE]
dealloc(stack1)
"ClientRuntime.dll"+93600D:
mov [esi+000000E0],eax
Este esto son los datos de memory viewer que hay que extraer para elaborarlo analizando la dirección desde find out what writes to this address
ClientRuntime.dll+93600D - 89 86 E0000000 - mov [esi+000000E0],eax
Este es el manual que segui:
https://www.youtube.com/watch?v=Ov37X9Ldn44
Funciona medio bien, me explico, la variable que analizo, no solo cambia cuando es escrita por el proceso que encuentro, entonces en algunos momentos del juego el scrip deja de ser efectivo 100%
He intentado crear el mismo script para las instrucciones que encuentro en find out what accesses to this address, ya que el count de estos aumenta cada segundo pero cada vez que intento activar el script el juego se cierra.
Estos son los dos procesos con los que intento hacer el script y el juego se cierra:
ClientRuntime.dll+935C25 - 81 3A 40420F00 - cmp [edx],000F4240
ClientRuntime.dll+3C18A7 - FF 30 - push [eax]
No se si es que escribo mal el código ya que la estructura no es igual o por otra cosa.
Cualquier ayuda sera agradecida.
Un saludo,
Cita de: aDrianav1 en 31 Mayo 2015, 22:07 PM
Hola chicos.. quien es tan amable de ayudar de como bypassear un CE ..
trato de analizar n juego pero medio minimo para abrir el CE o lo dejo abierto lo dectecta el GameGuard.. quien puede orientar que puedo hacer ?
GRacias!
Cita de: zetaperu en 16 Mayo 2015, 18:43 PM
Los permisos públicos en el servidor los he vuelto a revisar y todos estan habilitados
¿Has podido alojar algún .exe en algun servidor y el programa ha podido descargarlo?
Cita de: zetaperu en 16 Mayo 2015, 06:10 AM
Genere de nuevo el updater.lst para el .exe y nada, sigue igual como lo comente al inicio, espero puedas darme una posible pista de lo que pueda estar sucediendo.