滴水逆向笔记(五)

1.mov指令中目标操作数和源操作数不能同时为内存单元

(下图报错的大致意思就是:指令不支持被给的操作数)

2.LEA语法:

LEA 目标操作数,ptr ds:某内存单元

作用:将此内存单元的编号拷贝到目标操作数

3.压入数据

三种方式:

(1)mov dword ptr ds:[esp-4],0x12124545

sub esp,4

(2)SUB ESP,4

MOV DWORD PTR DS:[ESP],56562323

(3)MOV DWORD PTR DS:[ESP-4],78784545

LEA ESP,DWORD PTR SS:[ESP-4]

上述三种方式只不过把push的作用分解成两步

就比如 push eax

就是让ESP对应的内存编号减4,然后将eax对应的内存编号拷进到ESP对应的内存

4.弹出数据

mov eax,dword ptr ds:[esp]//将esp对应的内存编号里面的值赋给eax

add esp,4

如果用pop的话应该就是:pop eax

猜你喜欢

转载自blog.csdn.net/m0_51295934/article/details/122561541
今日推荐