DWORD asm_addr; #define asm_jmp (imm_addr) __asm mov asm_addr,imm_addr \ __asm jmp asm_addr asm_jmp (0x12345678h) //这样可以jmp call 但是除了jmp跟call可以其他的不行
push imm //只能jmp call ret mov eax,0x0000 //不正确的操作数类型 jl eax
__asm 获取需要的数据然后if判断,但是比较的时候会破坏eax寄存器 __asm mov var,eax if(var==0x000) //此处会test eax,eax eax会被清零 { jmp 0x0000 }
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
DWORD asm_addr; #define asm_jmp(imm_addr) __asm mov asm_addr,imm_addr \ __asm jmp asm_addr jl jmp_0x0055FAED jle jmp_0x0055FAB3 jmp_0x0055FAED: asm_jmp(0x0055FAED) jmp_0x0055FAB3: asm_jmp(0x0055FAB3)
xssysing dword dwValue; call __CurrentEip __CurrentEip: pop eax sub eax,0x05 mov [dwValue],eax __asm ...