elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Ayuda con fadd qword ptr [xxxxxx]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con fadd qword ptr [xxxxxx]  (Leído 7,199 veces)
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Ayuda con fadd qword ptr [xxxxxx]
« Respuesta #10 en: 2 Diciembre 2013, 00:04 am »

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
  1. Project1.exe+1CF0 - D9 46 34              - fld dword ptr [esi+34]
  2. Project1.exe+1CF3 - DC 05 90104000        - fadd qword ptr [Project1.exe+1090]
  3. Project1.exe+1CF9 - D9 5E 34              - fstp dword ptr [esi+34]
  4. Project1.exe+1CFC - DFE0                  - fnstsw ax
  5. Project1.exe+1CFE - A8 0D                 - test al,0D
  6. Project1.exe+1D00 - 75 26                 - jne Project1.exe+1D28
  7. Project1.exe+1D02 - C7 45 FC 00000000     - mov [ebp-04],00000000
  8. Project1.exe+1D09 - 8B 45 08              - mov eax,[ebp+08]
  9. Project1.exe+1D0C - 50                    - push eax
  10. Project1.exe+1D0D - 8B 10                 - mov edx,[eax]
  11. Project1.exe+1D0F - FF 52 08              - call dword ptr [edx+08]
  12. Project1.exe+1D12 - 8B 45 FC              - mov eax,[ebp-04]
  13. Project1.exe+1D15 - 8B 4D EC              - mov ecx,[ebp-14]
  14. Project1.exe+1D18 - 5F                    - pop edi
  15. Project1.exe+1D19 - 5E                    - pop esi
  16. Project1.exe+1D1A - 64 89 0D 00000000     - mov fs:[00000000],ecx
  17. Project1.exe+1D21 - 5B                    - pop ebx
  18. Project1.exe+1D22 - 8B E5                 - mov esp,ebp
  19. Project1.exe+1D24 - 5D                    - pop ebp
  20. Project1.exe+1D25 - C2 0400               - ret 0004
  21. 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
  1. Project1.exe+1CF0 - D9 46 34              - fld dword ptr [esi+34]
  2. Project1.exe+1CF3 - DC 05 90104000        - fadd qword ptr [Project1.exe+1090]
  3. Project1.exe+1CF9 - D9 5E 34              - fstp dword ptr [esi+34]
  4.                                                        mov [esi+34],42C80000
  5. Project1.exe+1CFC - DFE0                  - fnstsw ax
  6. Project1.exe+1CFE - A8 0D                 - test al,0D
  7. Project1.exe+1D00 - 75 26                 - jne Project1.exe+1D28
  8. Project1.exe+1D02 - C7 45 FC 00000000     - mov [ebp-04],00000000
  9. Project1.exe+1D09 - 8B 45 08              - mov eax,[ebp+08]
  10. Project1.exe+1D0C - 50                    - push eax
  11. Project1.exe+1D0D - 8B 10                 - mov edx,[eax]
  12. Project1.exe+1D0F - FF 52 08              - call dword ptr [edx+08]
  13. Project1.exe+1D12 - 8B 45 FC              - mov eax,[ebp-04]
  14. Project1.exe+1D15 - 8B 4D EC              - mov ecx,[ebp-14]
  15. Project1.exe+1D18 - 5F                    - pop edi
  16. Project1.exe+1D19 - 5E                    - pop esi
  17. Project1.exe+1D1A - 64 89 0D 00000000     - mov fs:[00000000],ecx
  18. Project1.exe+1D21 - 5B                    - pop ebx
  19. Project1.exe+1D22 - 8B E5                 - mov esp,ebp
  20. Project1.exe+1D24 - 5D                    - pop ebp
  21. Project1.exe+1D25 - C2 0400               - ret 0004
  22. 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í.


« Última modificación: 2 Diciembre 2013, 00:09 am por ||MadAntrax|| » En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Ayuda con fadd qword ptr [xxxxxx]
« Respuesta #11 en: 2 Diciembre 2013, 02:19 am »

Bien, no se nada sobre los trainers, pero esas instrucciones son inutiles, pero si es mejor pues bien para ti, bueno solo dire que a ver quien se atreve a jugar una partida contigo al call of duty ese xD.

Un saludo.


En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda por davor ayuda os ruego ayuda XD (SOLUCIONADO)
Hardware
XxRekcahlExX 6 10,541 Último mensaje 24 Mayo 2010, 00:56 am
por Aprendiz-Oscuro
asociar con los nuevos Xavi E0:91:53:xxxxxx
Wireless en Linux
vespertine 3 5,718 Último mensaje 19 Diciembre 2010, 01:16 am
por vespertine
Auditoria de redes FTE-XXXX Y ORANGE-XXXXXX
Wireless en Linux
albertone93 3 15,161 Último mensaje 12 Febrero 2012, 17:50 pm
por HCK.
RouterOS v6.2 Final y las nuevas redes Mikrotik-XXXXXX
Hacking Wireless
P4nd3m0n1um 0 5,779 Último mensaje 5 Agosto 2013, 04:40 am
por P4nd3m0n1um
Redes TELECABLE-XXXXXX
Hacking Wireless
magarcan 0 3,448 Último mensaje 18 Agosto 2014, 10:15 am
por magarcan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines