汇编基本指令复习,以及逆向中如何跟esp ,ebp参数

本文复习了汇编语言的基本指令,包括赋值、加减、入栈出栈等,并深入探讨了在逆向工程中如何理解和跟踪ESP与EBP寄存器,特别是在处理堆栈参数和局部变量时的方法。通过分析CALL指令和RETURN操作,解释了EBP+4保存上层调用地址,以及如何确定ESP+偏移量是参数还是局部变量。
摘要由CSDN通过智能技术生成
mov eax , ebx   // eax = ebx
lea eax , [ebx + 30] // eax = ebx + 30
push pop  //入栈,出栈
pushax popax //全部入栈,全部出栈
add eax,5 // eax += 5
sub eax, 5 //eax -= 6
inc eax  // eax += 1
mul  //乘法
div  //除法




堆栈的学习


ESP   栈顶指针 
EBP栈底指针 (本层CALL的栈底)




改变堆栈的操作
push eax   // sub esp , 4   mov [esp] , eax
pop eax    // mov eax , [esp]   add esp , 4
call 1234  //push eip   jmp 1234
return 8   //pop eip   add esp , 8   eip表示下步要执行的地址
add esp , xxx
sub esp , xxx








栈底指针的学习
在逆向过程中,如果遇到
mov eax , [ebp + 8]
这样的如何去跟


这样的就需要把[ebp + 8]看成一个整体来处理


跟进CALL里面看,可以看到这样的代码
push ebp  //在栈中保
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值