破竹而入 发表于 2024-3-16 20:44

找一个基址的问题

像这种位置是怎么继续往上追。MOV EAX,DWORD PTR SS:

huohua2088 发表于 2024-3-16 21:37

段首或段尾下段吧

lies2014 发表于 2024-3-16 23:46

堆栈是最近用到的在最上面,每发生一次压栈动作,对于32位程序来说栈顶指针 ESP 就会减4
就拿 4130f4 那句 call 来说,F7 跟进去来到 463e40,就会先把 4130f9 (call 出来后返回到的指令)压入堆栈
不管 call 里堆栈如何变化,在退出 call 前一定会把堆栈平衡(除非加密需要故意破坏)
在执行 ret 的时候栈顶的内容就是 4130f9,执行完 ret,EIP 就指向了堆栈中弹出的 4130f9
其实这些都是很基础的汇编知识,想学逆向还是要补一下基本功
有些东西单步执行跟踪一下就看得很清楚

liitheima 发表于 2024-3-16 21:03

上面函数里面找

破竹而入 发表于 2024-3-16 21:14

liitheima 发表于 2024-3-16 21:03
上面函数里面找

这个位置怎么往上找?

wyesheng 发表于 2024-3-16 21:56

我也想学习基址的知识,可好像怎么学都不怎么懂,好纠结

lies2014 发表于 2024-3-16 22:04

看堆栈,楼顶那张图显示返回 41594A,上一层调用就是 41594A 之上的那个 call

破竹而入 发表于 2024-3-16 23:26

lies2014 发表于 2024-3-16 22:04
看堆栈,楼顶那张图显示返回 41594A,上一层调用就是 41594A 之上的那个 call

EIP在4130f4,有点不理解,程序是先执行了41594a,然后跳转上去,再去执行了4130f4吗?这个堆栈是怎么观察,从上往下,还是从下往上?
页: [1]
查看完整版本: 找一个基址的问题