首页
社区
课程
招聘
[求助]为什么反汇编出来的函数开头没有saved esp,局部变量也是寄存器
发表于: 2018-11-19 17:07 2610

[求助]为什么反汇编出来的函数开头没有saved esp,局部变量也是寄存器

2018-11-19 17:07
2610
为什么反汇编出来的函数开头没有saved esp,局部变量也是寄存器
全部的函数都是这种处理方式
变量寄存器应该是用的register,不知道是不是
还有为啥函数开头不是
push ebp
mov ebp,esp
下面的是IDA反汇编的代码

下面是F5的伪代码


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2018-11-19 17:25 被hackasn编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2046
活跃值: (185)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
函数内部用了 add sub 来平栈了~
最后于 2018-11-19 18:02 被蓝色橘子编辑 ,原因:
2018-11-19 17:55
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
蓝色橘子 参数是全局变量吧,编译的时候做了优化,在使用的时候直接用 dword ptr引用了,没有使用栈来传递。
这个函数不是很能说明白,我是选的短代码的,不过有一个那就是
mov ecx, dword_FCA2F4
mov eax, 1
cmp ecx,eax
最后于 2018-11-19 18:07 被hackasn编辑 ,原因:
2018-11-19 18:01
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
蓝色橘子 函数内部用了 add sub 来平栈了~
对 基本所有函数都是通过add sub 这是咋编译的?还有就是局部变量基本都是通过push 寄存器最后pop还原,而不是save ebp,然后ebp-实现的
2018-11-19 18:10
0
游客
登录 | 注册 方可回帖
返回
//