吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 328|回复: 3
收起左侧

[求助] loadlibraryA与rsp的问题

[复制链接]
pwy1545146949 发表于 2024-3-9 21:09
突然发现,在调用LoadLibraryA时,rsp用十六进制数表示,rsp的最后一位若是8,那么程序会崩溃,rsp的最后一位是0,就正常执行,我测试了GetModuleHandle,不会出现这种情况,这算是bug吗

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2024-3-9 22:34
应该不会,函数是否正常执行和堆栈指针末尾数字无关
爱飞的猫 发表于 2024-3-10 05:51
本帖最后由 爱飞的猫 于 2024-3-10 10:23 编辑

不是 bug,是 x64 在调用函数前需要对齐堆栈的一个特性。

堆栈将始终保持 16 字节对齐,以下两种情况除外:一是在 Prolog 中(例如,推入返回地址之后);二是在帧函数特定类的函数类型中指示的位置。

大多数结构都按其自然对齐方式对齐。 主要的例外是堆栈指针和 mallocalloca 内存;为了提高性能,它们对齐到 16 字节。

参考1 - 堆栈分配参考2 - x64 调用约定

 楼主| pwy1545146949 发表于 2024-3-10 18:18
爱飞的猫 发表于 2024-3-10 05:51
[md]不是 bug,是 x64 在调用函数前需要对齐堆栈的一个特性。

> 堆栈将始终保持 16 字节对齐,以下两种 ...

确实是这样
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表