汇编中retn的含义详析

2016.09.15, ASM ,抢沙发,2213人打酱油
retn 4 是个函数返回指令。 先假设个环境: retn 4未执行时,ESP=0013feb8;EIP=5d1d8b97;而[0013feb8]=7c974a19 执行retn 4之后: 首先 EIP=[0013feb8] :即此时cpu先指挥EIP获取到栈中0013feb8起4个字节的值7c974a19,作为...

[转]汇编中的跳转指令

2015.09.15, ASM ,抢沙发,976人打酱油
名称   功能  操作数 操作码 模数 寄存器1 寄存器2 或内存 位移量 立即数 符号 方向 芯片 型号 16位 32位  JO 溢出跳转 短  $70 无 无 无 无 10 无 无 8086 无 无  JNO 不溢出跳转 短  $71 无 无 无 无 10 无 无 8086 无 无 ...

cmd shell的shellcode

2014.05.25, shellcode ,抢沙发,2102人打酱油
#include <windows.h> #include <stdio.h> #include <stdlib.h> char shell_code[]={          0xEB,0x64,0x64,0xA1,0x30,0x...

shellcode

2014.05.23, shellcode ,抢沙发,1930人打酱油
#include <windows.h> #include <stdio.h> #include <stdlib.h> void PopMessageBox() {     __asm     {         &nbs...
现在总结一下:其中牵扯到lea指令,mov指令,[] 一.lea指令: 对于寄存器来说:第二个操作数是寄存器必须要加[],不然报错,这里lea就是取[寄存器]的值,如: mov eax,2 lea ebx,[eax];执行后ebx=2 mov ebx,eax;等同于上句 lea ebx,eax;编译器报错: error A2070: in...