找一个基址的问题
像这种位置是怎么继续往上追。MOV EAX,DWORD PTR SS: 段首或段尾下段吧 堆栈是最近用到的在最上面,每发生一次压栈动作,对于32位程序来说栈顶指针 ESP 就会减4就拿 4130f4 那句 call 来说,F7 跟进去来到 463e40,就会先把 4130f9 (call 出来后返回到的指令)压入堆栈
不管 call 里堆栈如何变化,在退出 call 前一定会把堆栈平衡(除非加密需要故意破坏)
在执行 ret 的时候栈顶的内容就是 4130f9,执行完 ret,EIP 就指向了堆栈中弹出的 4130f9
其实这些都是很基础的汇编知识,想学逆向还是要补一下基本功
有些东西单步执行跟踪一下就看得很清楚
上面函数里面找
liitheima 发表于 2024-3-16 21:03
上面函数里面找
这个位置怎么往上找? 我也想学习基址的知识,可好像怎么学都不怎么懂,好纠结 看堆栈,楼顶那张图显示返回 41594A,上一层调用就是 41594A 之上的那个 call lies2014 发表于 2024-3-16 22:04
看堆栈,楼顶那张图显示返回 41594A,上一层调用就是 41594A 之上的那个 call
EIP在4130f4,有点不理解,程序是先执行了41594a,然后跳转上去,再去执行了4130f4吗?这个堆栈是怎么观察,从上往下,还是从下往上?
页:
[1]