-
-
[求助]汇编问题
-
发表于:
2012-1-12 17:19
4271
-
将汇编译成机器码,用OD的Assemble函数.不知道怎么计算跳转指令的长度
_test_func:
push ebp
mov ebp,esp
sub esp,0xC
mov dword ptr [ebp-0x8],0x0
jmp L4//2字节?3字节?。。。5字节?
L1: //这个标号的地址没法确定,因为jmp L4这条指令长度不确定
mov ebx,dword ptr [ebp-0x8]
mov dword ptr [ebp-0x4],ebx
L2://同L1
add dword ptr [ebp-0x8],0x1
L4://同L1
mov ebx,dword ptr [ebp-0x8]
cmp ebx,0xA
setl bl
cmp bl,0x0
jnz L1//同 jmp L4
L3:://同L1
mov eax,0x0
mov esp,ebp
pop ebp
retn
现在只能把所有条件跳转都看作6字节,编译完了再回头修改.来来回来的要编译N遍。求一个好的算法,谢谢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)