Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Ferсhu en 8 Junio 2007, 09:24 am



Título: Sustituir opcodes q tengan "00" por otras instrucciones.
Publicado por: Ferсhu en 8 Junio 2007, 09:24 am
hola hay alguna forma de sustituir estas instrucciones por otras q no contengan "00".

"instruccion                = opcode"

add [bx+si],al            = 0000
add bh,ah                  = 00E7 
add [bx+di],al            = 0001
mov di,[di+0x0]         =  8B7D00
call 0x10a                  =  E89000
push word 0x2            =  680200
push word [di+0x0]     = FF7500   

todas tienen 00 y si son pasadas por una funcion como strcpy se termian el el null. hay alguna alternativa?

add [bx+si],al   esta creo q la puedo separar en varios pasos no?? algo asi:
 
xor eax, eax
add eax,bx
add eax, si
add [eax], al

pero no estoy seguro si alguna de esas 4 nuevas instruc tienen 00.

Pd: hay algun programita simple q le escriba la instruccion en asm y me de el opcode, sin tener q estar compilando con nasm y mirar asi podria buscar otras, se entiende??


Título: Re: Sustituir opcodes q tengan "00" por otras instrucciones.
Publicado por: tena en 9 Junio 2007, 06:36 am
Lo podes hacer con el OLLYDBG, solamente te paras en cualquier linea del codigo y escribis esas instrucciones.

Saludos


Título: Re: Sustituir opcodes q tengan "00" por otras instrucciones.
Publicado por: Ferсhu en 10 Junio 2007, 02:05 am
si eso lo se. pero me refiero a si hay alguna utilidad para hacer eso sin el olly, algo simple y rapido. O sino tirenme una idea de como puedo hacer un mini prog q me de los opcodes.

Igual el tema no se trata de eso, lo principal es lo de arriba.


Título: Re: Sustituir opcodes q tengan "00" por otras instrucciones.
Publicado por: tena en 10 Junio 2007, 04:58 am
La verdad que no se cuales son las instrucciones equivalentes a esas que pusiste..

Pues no se...pero si estas por empezar una tool que te saque los opcodes, no se me ocurre otra que hacer una base de datos con los opcodes y sus respectivas instrucciones, y luego en la tool pones el nombre y que te salgan los opcodes...

Aqui tienes algunos opcodes:
http://www.storage2.ricardonarvaja.com.ar/web/OTROS/HERRAMIENTAS/L-M-N-O-P/opcodes.txt (http://www.storage2.ricardonarvaja.com.ar/web/OTROS/HERRAMIENTAS/L-M-N-O-P/opcodes.txt)

y esta aun mucho mejor:
http://www.storage2.ricardonarvaja.com.ar/web/OTROS/HERRAMIENTAS/L-M-N-O-P/opcodes2.zip (http://www.storage2.ricardonarvaja.com.ar/web/OTROS/HERRAMIENTAS/L-M-N-O-P/opcodes2.zip)

esta ultima es lo que estas buscando, algo simple, pones la instruccion en el buscador y te dice lo que hace y te mustra el opcode.

Saludos


Título: Re: Sustituir opcodes q tengan "00" por otras instrucciones.
Publicado por: Ferсhu en 11 Junio 2007, 02:54 am
jeje gracias por la respuesta, justamente esos dos archivos los tengo, es mas tengo toda la web de ricardo jaja.

El problema de buscar las instrccuines es q son diferentes los opcodes segun sus parametros, x ej no es igual el opcode de mov bx,ax(89C3) q el de mov dx,ax(89C2)...en fin..son diferentes.

Creo q voy a hacer un prog q lea una instruccion q ponga, la compile con nasm, luego la descompile con disasm, abra el archivo del codigo desensamblado (donde aparece la opcode al lado de la instruccion) , la lea y me la muestre en el prog.



Título: Re: Sustituir opcodes q tengan "00" por otras instrucciones.
Publicado por: tena en 12 Junio 2007, 06:07 am
Esa forma de encararlo esta muy buena....
Suerte en tu proyecto...
Tena