首页
社区
课程
招聘
[结帖]
2023-1-30 16:51 5399

[结帖]

2023-1-30 16:51
5399

为何?

外部exe可能在任一位置调用dll中的导出函数, 如果dll导出函数使用了寄存器, 外部exe有可能出错才对. 但事实是没有问题, 如何解释?


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2023-1-31 15:24 被PEDIY编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (4)
雪    币: 336
活跃值: (3397)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
小菜鸟一 2023-1-30 16:58
2
0
你很幸运
雪    币: 1431
活跃值: (1116)
能力值: ( LV3,RANK:23 )
在线值:
发帖
回帖
粉丝
Black貓①呺 2023-1-30 17:02
3
1

为什么要保存所有寄存器?这不是调用约定吗,32位的被调函数只需要保存esp、ebp; ebx、esi、edi,其他调用者自己保存

最后于 2023-1-30 17:04 被Black貓①呺编辑 ,原因:
雪    币: 1792
活跃值: (5199)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PEDIY 2023-1-30 17:09
4
1
Black貓①呺 为什么要保存所有寄存器?这不是调用约定吗,32位的被调函数只需要保存esp、ebp; ebx、esi、edi,其他调用者自己保存

在点的回答. 不过vs编译的好像只push了ebx, 没有edi和esi, 又是怎么回事

最后于 2023-1-30 18:51 被PEDIY编辑 ,原因:
雪    币: 1431
活跃值: (1116)
能力值: ( LV3,RANK:23 )
在线值:
发帖
回帖
粉丝
Black貓①呺 2023-1-30 17:16
5
1
PEDIY Black貓①呺 为什么要保存所有寄存器?这不是调用约定吗,32位的被调函数只需要保存esp、ebp; ebx、esi、edi,其他调用者自己保存 ...
当函数比较简单,没用到这两个寄存器的时候,就不需要保存
游客
登录 | 注册 方可回帖
返回