Programación General > ASM (Ensamblador)
Problema con Source
XjersonX:
Bueno Soy nuevo en la web y tengo una duda.
Lo que sucede esque cree un source que busque por toda la memoria unos determinados bytes y los sobreescriba.
Por ejemplo.
Buscar : 1234567891h
Reemplazar solo el ultimo byte por 92h
Lo que sucede esque en ASM solo me dejan hacerlo pero como maximo hasta 8 bytes osea hasta 12345678h.
push eax
mov eax,04000000h ; Desde aqui empiesa a buscar desde la direccion 04000000
xor cx,cx
bucle:
inc eax
cmp dword ptr[eax],12345678h ; no me deja buscar 1234567891h solo hasta 8 bytes osea hasta 12345678h
jz Final
Loop bucle
Final:
mov dword ptr[eax+6],92h ; sobreescribo los dos ultimos bytes por 92 y deveria quedar 12345692h
jmp bucle
Bien , la cuestion es como buscar todo si solo me deja hasta 8 bytes y lo que tengo son 10 bytes?.
PD: Solo me falta esa parte lo demas esta hecho el SEH y el resto del codigo. Solo me falta ese pedasito ayuda !
m0skit0:
Bueno, si encuentras 0x12345678 sólo te falta comprobar si el siguiente byte (ptr[eax]+1) es 0x91 ;)
Y por favor, la próxima vez utiliza las etiquetas de código.
Eternal Idol:
Son 4 bytes, cada numero hex representa 4 bits, siempre podes hacer dos comparaciones ... dword ptr [eax] y byte ptr [eax+4].
XjersonX:
Muchas gracias con la doble comparacion me basto.
Eternal Idol:
De nadas B)
Navegación
[#] Página Siguiente
Ir a la versión completa