Buenas!
tengo esa duda como puedo "pegar" instrucciones en ollydbg? osea tengo un par de instrucciones
entonces es fasticioso dar doble click y escribir la(s) instrucciones que deseamos es posible solo "pegar" las instrucciones? :)
otra cosa ^^ hay funcion "atras" en olly?
Para poder "pegar instrucciones" debemos seleccionar los nemónicos de instrucciones que deseamos (tanto como en el listado de instrucciones o en el dump) una vez seleccionado presionamos click derecho y a continuación: binary -> binary copy
con esto tendremos los op-codes correspondientes en base a las instrucciones copiadas.
PD: se debe tener cuidado en las llamadas CALL NEAR ya que estas al ser desplazadas (cambiadas de posición original) podrían redireccionar a otra zona, para ello se debería recalcular, la "fórmula"de hacia adonde apuntan las call es la siguiente:
ADDRESS+[HEXINV]+5
Saludos
Haciendo una añadidura.
AddressBase + Desplazamiento + 5 bytes (Porque es el tamaño de un JMP/CALL directo)
Nox.
GRacias Resuelto! :D
hola perdon el doble como es eso del call? :P
entiendo que dir + offset + 5
pero digamos en un call normal: call 808080h, si le añado directamente esa direccion si saltaria a esa direccion no?
o tengo que obtener la direccion desde donde estoy haciendo el call + offset + 5? :P
bueno no me constaria y no me puedo constado probarlo pero es que casualidad que hace 2 dias estuve problemas creo que con
eso que mencionan :P
No sé si las call son iguales que los saltos, pero en los saltos tienes el desplazamiento:
Citar0000 74 03 jz L2
0002 90 nop
0003 90 nop
0004 90 nop
0005 L2:
en este caso es el contador de ubicación + el desplazamiento (
03) (aclaro que el 74 es el código de la instrucción)
pero el contador de ubicación se incrementa antes de ejecutar la instrucción actual, se debería sumar 2 + 3 (ubicación siguiente más desplazamiento)
No sé si con las call's sea igual o parecido pero te puede dar una idea,Saludos
bien ahora entiendo que los saltos no son como creia que eran :P
osea no es: JMP 9h ' salta a a direccion '9'
osea que esto esta mal:
00000000 90 NOP
00000001 -E9 BDEFBFFF JMP 00000009
00000005 33C0 XOR EAX,EAX
00000007 33C0 XOR EAX,EAX
00000009 33C0 XOR EAX,EAX
bueno creo que pedire ayuda en asm :P
Cita de: RHL - 该0在 en 31 Diciembre 2011, 23:29 PM
bien ahora entiendo que los saltos no son como creia que eran :P
osea no es: JMP 9h ' salta a a direccion '9'
osea que esto esta mal:
00000000 90 NOP
00000001 -E9 BDEFBFFF JMP 00000009
00000005 33C0 XOR EAX,EAX
00000007 33C0 XOR EAX,EAX
00000009 33C0 XOR EAX,EAX
bueno creo que pedire ayuda en asm :P
Todo está en el libro :S debes leer más está muy completo, por el momento va solventando todas mis dudas con respecto a ASM
Saludos y suerte
si me imagino UND3R es que da la casualidad que estaba estudiando un codigo que usaba esto por eso :P
Cita de: .:UND3R:. en 30 Diciembre 2011, 07:02 AM
Para poder "pegar instrucciones" debemos seleccionar los nemónicos de instrucciones que deseamos (tanto como en el listado de instrucciones o en el dump) una vez seleccionado presionamos click derecho y a continuación: binary -> binary copy
con esto tendremos los op-codes correspondientes en base a las instrucciones copiadas.
PD: se debe tener cuidado en las llamadas CALL NEAR ya que estas al ser desplazadas (cambiadas de posición original) podrían redireccionar a otra zona, para ello se debería recalcular, la "fórmula"de hacia adonde apuntan las call es la siguiente:
ADDRESS+[HEXINV]+5
eso no es "pegar instrucciones" es pegar opcodes, si quieres agregar instrucciones asm puede utilizar el plugin
multimate assembler...
S2
Cita de: Karman en 4 Enero 2012, 02:20 AM
Por algo las comillas " " si es que te referías a mi :P