Menú

Mostrar Mensajes

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ú

Mensajes - Mad Antrax

#331
Cita de: {/col:/}Kisin{/col/} en 16 Diciembre 2013, 01:02 AM
logre encontrar la speed del personaje pero el address cambia cada ves que entro y no se como sacar el pointer y offset :S

Bien , te recomiendo que leas las primeras paginas de éste hilo, ahí se explica como generar un script en auto-assembler para lidiar con direcciones que cambian de posición. Si utiliza memoria relativa en lugar de absoluta, deberás usar AOBScan (tambien explicado).

Por ultimo, tambien puedes intentar sacar el pointer de la dirección. No he explicado como sacar pointers, pero no debería ser complicado, simplemente haz una búsqueda 4-byte en HEX con la dirección del registro o utiliza el multilevel pointer scanner
#332
Cita de: {/col:/}Kisin{/col/} en 14 Diciembre 2013, 03:51 AM
Mad!! primero q nada gracias por la guia pero en mi caso yo la aplique a un juego online y solo quiero aumentar la velocidad de movimiento del personaje que codigo tendria que poner porfavor explicamelo
gracias

Puedes probar si ese juego utiliza timers locales para controlar la velocidad del jugador, para ello abre CheatEngine, selecciona el proceso del juego y utiliza el SpeedHack:



Si tienes suerte, con solo hacer los 3 pasos de la foto podrás modificar la velocidad. Si no te funciona, deberás hacer búsquedas y encontrar la variable que se utiliza como factor en la velocidad (ojo, es posible que tu juego almacene dicha variable en el servidor, por lo que Cheat Engine no podrá hacer nada). Suele estar en tipo Float, deberás hacer busquedas con Increased/Decreased siempre y cuando consigas un speedboost en el juego. No es sencillo, a ver si lo consigues :)
#333
Cita de: comvenpoz en  8 Diciembre 2013, 08:42 AM
buenas noche amigo soy nuevo pero tengo una curriosidad este metodo podría aplicarse en juego online es decir un ejemplo en conquista 2.0.

No, no se puede utilizar con juegos online

Cita de: DTI81 en  8 Diciembre 2013, 23:16 PM
Saludos hermano!! Por fa estoy esperando la respuesta de la pregunta!! Es sobre company of heroes tales of valor, como hago para poner infinito el script?

Debería ver el script que has generado, cada juego es único y no hay un código fijo que funcione para todos los casos. Normalmente con un simple MOV [eax],999 deberías tener suficiente

Cita de: Djac en 13 Diciembre 2013, 15:13 PM
Hola

queria saber si se puede alterar el travian con Cheat Engine , si se puede hacer, podrian explicar como hacerlo?

gracias por su atencion

Los juegos de navegador (como travian, ogame, etc) no están sujetos a ser modificados en memoria. Lo único válido sería algun autoclicker, timerbot o similar. Pero no es algo que se pueda solucionar con CheatEngine
#334
Cita de: Flamer en 10 Diciembre 2013, 13:53 PM
Hola si se aque te refieres tinco y la verdad asi escribo y no es aproposito, no semeda la escritura a mi.

Saludos Flamer

Flamer, sin acritud... que edad tienes? Tengo curiosidad
#335
Excelente y muy bien explicado, como siempre :D
#336
Ingeniería Inversa / Re: duda
3 Diciembre 2013, 14:56 PM
Yo pondría una regla para las nuevas cuentas: hasta que no hayan leído el FAQ/normas, que no se pueda abrir un tema nuevo.

Por el momento cierro el tema. A la espera del siguiente lamer...
#337
Ueeeeee MCKSys has ligado por internet!!

No olvides de postear fotos después del encuentro! :)

:silbar: :silbar: ;-) ;-)
#338
Cita de: Danyfirex en  2 Diciembre 2013, 15:55 PM
y el código? es invisible

Está el código ofuscado, no te das cuenta?  :silbar: :silbar:
#339
Ingeniería Inversa / Re: duda
2 Diciembre 2013, 20:26 PM
wow, hemos superado límites insospechados!

Ya la gente no pide que le ayudemos a crackear un software de pago, si no que ahora quieren que ayudemos a crackear para venderlo con animo de lucro.

En fin.
#340
ASM / Re: Ayuda con fadd qword ptr [xxxxxx]
2 Diciembre 2013, 00:04 AM
Cita de: cpu2 en  1 Diciembre 2013, 23:47 PM
Bien, copias el valor del registro st(0) a la pila, y luego dejas st(0) a su valor anterior, pero no entiendo el mov, porque mueves el valor del registro st(0) y luego reescribes el valor de la pila con el mov?

No es mejor hacer el mov directamente.

Y sobre fnstsw, luego comparas el valor para saber como esta el estado?

Un saludo.

El código original es:

Código (asm) [Seleccionar]
Project1.exe+1CF0 - D9 46 34              - fld dword ptr [esi+34]
Project1.exe+1CF3 - DC 05 90104000        - fadd qword ptr [Project1.exe+1090]
Project1.exe+1CF9 - D9 5E 34              - fstp dword ptr [esi+34]
Project1.exe+1CFC - DFE0                  - fnstsw ax
Project1.exe+1CFE - A8 0D                 - test al,0D
Project1.exe+1D00 - 75 26                 - jne Project1.exe+1D28
Project1.exe+1D02 - C7 45 FC 00000000     - mov [ebp-04],00000000
Project1.exe+1D09 - 8B 45 08              - mov eax,[ebp+08]
Project1.exe+1D0C - 50                    - push eax
Project1.exe+1D0D - 8B 10                 - mov edx,[eax]
Project1.exe+1D0F - FF 52 08              - call dword ptr [edx+08]
Project1.exe+1D12 - 8B 45 FC              - mov eax,[ebp-04]
Project1.exe+1D15 - 8B 4D EC              - mov ecx,[ebp-14]
Project1.exe+1D18 - 5F                    - pop edi
Project1.exe+1D19 - 5E                    - pop esi
Project1.exe+1D1A - 64 89 0D 00000000     - mov fs:[00000000],ecx
Project1.exe+1D21 - 5B                    - pop ebx
Project1.exe+1D22 - 8B E5                 - mov esp,ebp
Project1.exe+1D24 - 5D                    - pop ebp
Project1.exe+1D25 - C2 0400               - ret 0004
Project1.exe+1D28 - E9 9FF3FFFF           - jmp Project1.exe+10CC


Yo lo que hago es inyectar (añadir una sola instrucción) en la cuarta línea:

Código (asm) [Seleccionar]
Project1.exe+1CF0 - D9 46 34              - fld dword ptr [esi+34]
Project1.exe+1CF3 - DC 05 90104000        - fadd qword ptr [Project1.exe+1090]
Project1.exe+1CF9 - D9 5E 34              - fstp dword ptr [esi+34]
                                                       mov [esi+34],42C80000
Project1.exe+1CFC - DFE0                  - fnstsw ax
Project1.exe+1CFE - A8 0D                 - test al,0D
Project1.exe+1D00 - 75 26                 - jne Project1.exe+1D28
Project1.exe+1D02 - C7 45 FC 00000000     - mov [ebp-04],00000000
Project1.exe+1D09 - 8B 45 08              - mov eax,[ebp+08]
Project1.exe+1D0C - 50                    - push eax
Project1.exe+1D0D - 8B 10                 - mov edx,[eax]
Project1.exe+1D0F - FF 52 08              - call dword ptr [edx+08]
Project1.exe+1D12 - 8B 45 FC              - mov eax,[ebp-04]
Project1.exe+1D15 - 8B 4D EC              - mov ecx,[ebp-14]
Project1.exe+1D18 - 5F                    - pop edi
Project1.exe+1D19 - 5E                    - pop esi
Project1.exe+1D1A - 64 89 0D 00000000     - mov fs:[00000000],ecx
Project1.exe+1D21 - 5B                    - pop ebx
Project1.exe+1D22 - 8B E5                 - mov esp,ebp
Project1.exe+1D24 - 5D                    - pop ebp
Project1.exe+1D25 - C2 0400               - ret 0004
Project1.exe+1D28 - E9 9FF3FFFF           - jmp Project1.exe+10CC


La idea es modificar lo menos posible el código original. Dicha modificación se efectua en tiempo de ejecución (con WriteProcessMemory) y cuanto menos se modifique la imagen del ejecutable en runtime, mejor xD El fin de todo ésto es conseguir que la variable valga 100 al ejecutar ese código, así con un simple mov lo soluciono, es cierto que la instrucción anterior se podría quitar, pero mejor no tocar el código original ya que si quiero volver a dejar la función original, solo tendré que nopear el mov que he inyectado yo.

Es un poco enrevesado, pero a la hora de programar trainers es mejor hacerlo así.