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 }
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
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 ...