cuốn sách gpt4 ai đã làm

c - 了解 mpreferred-stack-boundary=number

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-04 02:46:00 25 4
mua khóa gpt4 Nike

我正在尝试想象并理解如何利用 mpreferred-stack-boundary(更像是构建代码以在学校利用它)。从阅读 gcc 手册中,它指出它根据 mpreferred-stack-boundary=number 对齐堆栈,其中 number 是以 2 为底的指数。默认情况下,number=4,因此堆栈的对齐方式为 2^4=16字节。我不知道是不是咖啡因弄乱了我的大脑,但我在类里面看到的所有 shell 代码注入(inject)都要求我们在编译时使用 mpreferred-stack-boundary=2,这会将堆栈对齐 4 个字节。那么这是否意味着我让放置在堆栈上的变量默认尝试一次填充堆栈 16 个字节?另外,为什么我放在缓冲区中的 shellcode 在边界设置为 2 时工作,但在默认模式下运行时却不起作用?

câu trả lời hay nhất

整个堆栈帧的大小将向上取整为 16 个字节,而不是每个单独的局部变量。 Shellcode 可以以任何一种方式工作,但是代码是为一种特定的布局编写的,因此您需要为不同的布局使用不同的 shellcode。 – clown

关于c - 了解 mpreferred-stack-boundary=number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27371820/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress