-
-
[求助]汇编问题
-
发表于:
2012-1-12 17:19
4272
-
将汇编译成机器码,用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遍。求一个好的算法,谢谢
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课