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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Cambiar instruccion JZ
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar instruccion JZ  (Leído 4,393 veces)
p52sarup

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Cambiar instruccion JZ
« en: 29 Julio 2018, 14:30 pm »

Hola a todos,

Como podria cambiar esta instruccion para que, independientemente de lo que lea, siempre se vaya por el camino que yo quiero.

Os paso una imagen, gracias

https://ibb.co/nqonjT
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.349


Ver Perfil
Re: Cambiar instruccion JZ
« Respuesta #1 en: 29 Julio 2018, 16:10 pm »

Si miras las instrucciones previas...
Código
  1.    Xor r14b, r14b     <---- pone a 0  r14b

Estas 2 instrucciones:
  
Código
  1.    cmp eax, 1  <----
  2.    jz direccion

Equivalen a esto:
Código:
Si (eax<>1) luego
   salta loc_7FF... (probablemente la dirección de una función)
' Y si no
   no se ve que sigue, típicamente continuará sin saltar... esto sería... no hay un caso alternativo...
'fin si

Bueno, basta cambiar la instrucción de comparación
Aprovechando que r14b ya sabemos que es 0... y 0 es distinto de 1...

Si queremos que siempre derive hacia la llamada:
Código
  1.    cmp r14b, 1       <---- 0 siempre es distinto de 1

..y si queremos que siempre derive hacia el otro lado, el resultado de la comparación debe ser válida, luego:
Código
  1.    cmp eax, eax       <----- n siempres es igual a n, sea cual sea el valor de n.


mmmm.... se me ocurre que no es tu propio código, si no que estés desemsamblando el código de alguien para modificarlo... así que espero que tengas experiencia.
« Última modificación: 29 Julio 2018, 16:30 pm por NEBIRE » En línea

p52sarup

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Cambiar instruccion JZ
« Respuesta #2 en: 29 Julio 2018, 17:22 pm »

Gracias por tu respuesta.
La verdad, para serte sincero, estoy inicandome en esto. Pero bueno siempre hay un inicio.

He hecho una cosilla, pero no se si voy bien encaminado.
He cambiado el registro ZF, anteriormente estaba en 0 y le he puesto 1. con esto ya me cambia al camino que quiero. Pero claro no se si esta modificacion se guarda en el codigo de ensamblado.
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Cambiar instruccion JZ
« Respuesta #3 en: 29 Julio 2018, 17:36 pm »


He hecho una cosilla, pero no se si voy bien encaminado.
He cambiado el registro ZF, anteriormente estaba en 0 y le he puesto 1. con esto ya me cambia al camino que quiero. Pero claro no se si esta modificacion se guarda en el codigo de ensamblado.


no son registros son banderas y no no se aguardan si quieres que salte todo el tiempo cambia JZ por JMP y luego aguarda los cambios.....pero mejor te aconsejo que uses x32dbg ya que IDA es mas complejo.....lo puedes descargar de aquí https://x64dbg.com/#start 



saludos Flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

p52sarup

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Cambiar instruccion JZ
« Respuesta #4 en: 29 Julio 2018, 17:47 pm »

JMZ----entiendo que es que salta directamente.
JZ------salta dependiendo de la condición.

Estoy en lo ciwerto?
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Cambiar instruccion JZ
« Respuesta #5 en: 29 Julio 2018, 17:50 pm »

no hay salto JMZ..... JMP salta todo el tiempo o quieres que entre?
« Última modificación: 29 Julio 2018, 17:52 pm por Flamer » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

p52sarup

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Cambiar instruccion JZ
« Respuesta #6 en: 29 Julio 2018, 17:54 pm »

No claro, quiero que entre. Perdon por JMZ (se me ha colado la Z)
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Cambiar instruccion JZ
« Respuesta #7 en: 29 Julio 2018, 18:04 pm »

cambia JZ por JNZ  o simplemente nopea esa linea y es todo


saludos Flamer y dime si te funciono
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

p52sarup

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Cambiar instruccion JZ
« Respuesta #8 en: 29 Julio 2018, 18:10 pm »

No puedo editar la funcion, quizas este haciendo algo ma. te paso unas imagenes. Que es nopear?

Muchas gracias por todo de antemano, y perdona mi ignorancia estoy empezandoa jugar con esto ;D

https://ibb.co/knbJPT
En línea

p52sarup

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Cambiar instruccion JZ
« Respuesta #9 en: 29 Julio 2018, 18:17 pm »

ya esta lo he cambiado pero....ahora como guardo?

porque cuando corro el programa sigue JZ
« Última modificación: 29 Julio 2018, 18:39 pm por p52sarup » En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Equivalencia C a ASM de una instrucción.
Electrónica
Meta 3 6,765 Último mensaje 19 Octubre 2008, 06:24 am
por MARCO_RECARGADO
se atasca en una instruccion
Java
Tyrz 9 5,656 Último mensaje 21 Enero 2011, 20:57 pm
por kasiko
Instrucción % en C++?
Programación General
.:UND3R:. 1 2,344 Último mensaje 17 Enero 2012, 16:49 pm
por pucheto
Instruccion if
Programación C/C++
BJM 3 2,100 Último mensaje 22 Octubre 2012, 17:48 pm
por rir3760
Instruccion sscanf [C]
Programación C/C++
oblivionxor 6 2,766 Último mensaje 26 Febrero 2013, 20:36 pm
por oblivionxor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines