首先了解基本的汇编指令
指令 | 意义 |
---|---|
lea | 指令用于把源操作数的地址偏移量传送目的操作数。 |
dword | 双字 就是四个字节 |
ptr | pointer缩写 即指针 |
ss | 栈底 |
sp/esp | 栈顶 |
nop | 空指令,什么都不做 |
ebp | 扩展基址指针寄存器(extended base pointer) 其内存放一个指针,该指针指向系统栈最上面一个栈帧的底部。 |
pushad | 将所有的32位通用寄存器压入堆栈 |
pusha: | 将所有的16位通用寄存器压入堆栈 |
pushfd | :然后将32位标志寄存器EFLAGS压入堆栈 |
pushf | 将的16位标志寄存器EFLAGS压入堆栈 |
popad | :将所有的32位通用寄存器取出堆栈 |
shr | 指令将目的操作数顺序右移1位或CL寄存器指定的位数。 |
call | 注入bai外部EXE程序从外部调用函数的技术 |
jnz | 结果不为零(或不相等)则转移 |
jz | 即零标志为1就跳转 |
JE | 等于则跳转 |
JNE | 不等于则跳转 |
test | 命令将两个操作数进行逻辑与运算,并根据运算结果设置相关的标志位。 |
movsx | 汇编语言数据传送指令MOV的变体。带符号扩展,并传送 |
调试入门-连接:https://blog.csdn.net/u012640985/article/details/24329689