Những gì chúng ta đã làm ở trên là đầy mảng large_string [] với địa chỉ của buffer [], đó là nơi mà mã của chúng tôi
sẽ được. Sau đó chúng tôi sao chép shellcode của chúng tôi vào đầu chuỗi large_string. strcpy () sau đó sẽ sao chép
large_string vào đệm mà không làm bất kỳ giới hạn kiểm tra, và sẽ tràn địa chỉ trả lại, ghi đè lên nó
với địa chỉ nơi mã của chúng tôi bây giờ nằm. Một khi chúng ta đạt được kết thúc của chính nó và cố gắng để trở lại nó nhảy vào
mã của chúng tôi, và các nhà quản lý một vỏ. Theproblem chúng ta đang phải đối mặt khi cố gắng tràn bộ đệm của các chương trình khác đang
cố gắng tìm ra những gì địa chỉ bộ đệm (và do đó mã của chúng tôi) sẽ được. Câu trả lời là cho mỗi chương trình
stack sẽ bắt đầu tại cùng địa chỉ. Hầu hết các chương trình không đẩy hơn một vài trăm hoặc vài ngàn
byte vào ngăn xếp tại bất kỳ một thời gian. Do đó bằng cách biết nơi stack bắt đầu chúng ta có thể cố gắng để đoán được nơi các
bộ đệm, chúng tôi đang cố gắng tràn sẽ được. Dưới đây là một chương trình nhỏ mà sẽ in con trỏ stack của nó:
đang được dịch, vui lòng đợi..
