Sustituir opcodes q tengan "00" por otras instrucciones.

Iniciado por Ferсhu, 8 Junio 2007, 09:24 AM

0 Miembros y 1 Visitante están viendo este tema.

Ferсhu

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??

tena

Lo podes hacer con el OLLYDBG, solamente te paras en cualquier linea del codigo y escribis esas instrucciones.

Saludos

Ferсhu

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.

tena

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

y esta aun mucho mejor:
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

Ferсhu

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.


tena

Esa forma de encararlo esta muy buena....
Suerte en tu proyecto...
Tena