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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Como saber que Registro esta asociado al opcode
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como saber que Registro esta asociado al opcode  (Leído 4,680 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Como saber que Registro esta asociado al opcode
« en: 2 Diciembre 2011, 03:57 am »

:D
hola!
bueno no se si esto va aqui :P pero lo aprendi de aqui del foro de ing inversa :P
bueno lo que quiero saber como puedo saber que registro esta asociado a los opcodes de las intrucciones
ya que me e fijado que el opcode de las instrucciones:

INC EAX
INC EBX
INC ECX
INC EDX

todas son distintos opcodes pero como puedo saber el orden o determinar el opcode con verlo?
y tambien para las demas instrucciones?
En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Como saber que Registro esta asociado al opcode
« Respuesta #1 en: 2 Diciembre 2011, 04:31 am »

Aprenderse TODOS los opcodes es inhumano!!!, lo puedes observar en el OllyDBG, los opcodes de cada instrucción, de igual manera si tienes instalado el masm32 en su directorio hay un *.chm con los opcodes de cada instrucción.

Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Como saber que Registro esta asociado al opcode
« Respuesta #2 en: 2 Diciembre 2011, 04:41 am »

No entendí muy bien pero creo que estás confundido con la estructura de las instrucciones


[ETIQUETA] NEMÓNICO [OPERANDO1],[OPERANDO2],...

La etiqueta es un valor opcional que podemos colocar

El nemónico de instrucción es la instrucción en si un ejemplo de ellas puede ser ADD, SUB, MUL, IDIV, etc

Operando es hacia que apunta el nemónico, esto quiere decir si utilizamos la Instrucción INC eax si EAX = 1, traducimos que se incrementará el registro EAX (Registro de propósito general de 32 bits).

la cantidad de operandos depende de la instrucción, por ejemplo PUSHAD, POPAD, PUSHFD, POPFD no requieren de operandos

por lo general las instrucciones que utilizan dos operandos estos poseen los siguientes nombres

ADD EAX,EBX ->EAX es el operando de destino y EBX es el operando de Origen

En cuanto a los registros de propósito general de 32 bits son los siguientes:

EAX
ECX
EDX
EBX
EDI
ESI
ESP

En cuanto a los registros de propósito general de 16 bits son los siguientes:
AX
CX
DX
BX
DI
SI
SP

En cuanto a los registros de segmentos:

CS
DS
SS
ES
FS
GS

En cuanto a su utilización, los programas en modo direccionamiento real (aquellos programas que interactúan de manera directa con el hardware de la computadora utilizan registros de 16 bits a diferencia de los programas en modo protegido que estos utilizas por defecto registros de 32 bits

Espero que sea lo que haz preguntando, en cuanto todo el contenido que te he explicado a sido el producto del estudio del mismo libro que estás estudiando tú

Saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Como saber que Registro esta asociado al opcode
« Respuesta #3 en: 2 Diciembre 2011, 04:53 am »

@Иōҳ
Gracias bro :D lo encontre :D y esta interesante :)


@.:UND3R:.
gracias tambien :D pero mas que nada queria saber porque tengo estas intrucciones:


00401002  | FE05 1A304000      INC BYTE PTR DS:[40301A]
00401008  | 66:FF05 1F304000  INC WORD PTR DS:[40301F]
0040100F  | FF05 1B304000      INC DWORD PTR DS:[40301B]
00401015  | 40                       INC EAX
00401016  | 43                       INC EBX
00401017  | 41                       INC ECX
00401018  | 42                       INC EDX

lo azules son los opcodes no? :P
los rojos son valores que no e podido entender de donde salen :/
lo verde entiendo que son las direcciones
tambien el valor 66 ni se de donde sale :/

las primeras tres instrucciones las direcciones son a variables de byte,word, y dword

EDITO:

tambien como podrais ver el OPCODE de la primera instruccion comparado con la segunda es distinto ( FE y FF )
pero comparando la segunda instruccion con la tercera son iguales :|
por eso quisiera saber si hay alguna regla para saber cuando cambia :P o en que situaciones :P
ya que dependiendo de los operandos los opcodes cambiar :/
« Última modificación: 2 Diciembre 2011, 05:13 am por RHL » En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Como saber que Registro esta asociado al opcode
« Respuesta #4 en: 2 Diciembre 2011, 05:17 am »

Tiene mucho que ver "qué" es su operando, r/m32 or 64, ptr etc...

para que el opcode cambie.

Tú sólo programa en asm(mnemónicos) y deja que el micro procesador haga lo suyo (opcodes) XD.

Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Como saber que Registro esta asociado al opcode
« Respuesta #5 en: 2 Diciembre 2011, 05:27 am »

si bueno :P pero mas que todo lo preguntaba porque estoy tratando sobre usar los opcodes en lenguajes de alto nivel
y que en el codigo fuente de algunos ejemplos solo aparecen por ejemplo: 43h que es INC pero que
no se a que registro o direccion o tipo se esta refiriendo para hacerle el incremento :P
Por eso saber eso ahorrario mucho depurar con ollydbg :P
En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Como saber que Registro esta asociado al opcode
« Respuesta #6 en: 2 Diciembre 2011, 05:39 am »

quieres armar una shell o algo?

xD
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Como saber que Registro esta asociado al opcode
« Respuesta #7 en: 2 Diciembre 2011, 05:40 am »

muy parecida es la tecnica :D por eso! :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines