Tôi đang làm việc trên một công cụ đôi khi tấn công thực thi ứng dụng, bao gồm cả làm việc trong một ngăn xếp khác.Con trỏ ngăn xếp của tác vụ hạt nhân Linux được xác định cho mỗi chuỗi như thế nào?
Tôi đang cố gắng để hạt nhân luôn nhìn thấy chồng ứng dụng khi thực hiện một số cuộc gọi hệ thống, sao cho nó sẽ in vòng loại [stack] ở đúng vị trí trong/proc/pid/maps.
Tuy nhiên, chỉ cần sửa đổi khoảng cách xung quanh cuộc gọi hệ thống có vẻ không đủ. Khi tôi sử dụng công cụ của tôi trên "cat/proc/self/stat", tôi thấy kstkesp (entry 29 here) đôi khi có giá trị tôi muốn nhưng đôi khi có giá trị khác, tương ứng với chồng thay thế của tôi.
Tôi đang cố gắng để hiểu:
- Làm thế nào là giá trị phản ánh trong/proc/self/stat: 29 xác định?
- Tôi có thể sửa đổi nó để nó có giá trị phù hợp không?
- Nếu 2 khó trả lời, bạn khuyên tôi nên tìm hiểu lý do tại sao giá trị này không chính xác?
Rudi, ý tôi là nơi macro KSTK_ESP trỏ tới, đó là giá trị mà chúng ta đưa vào mục 29/proc/pid/stat được đặt, không phải cách truy nhập để đặt mục 29. I sẽ cung cấp cho bạn tiền thưởng vì câu hỏi của tôi không đủ rõ ràng. Nếu bạn có thể chỉnh sửa câu trả lời của bạn để bao gồm thông tin đó, tôi sẽ biết ơn. – nitzanms
Tôi e rằng sẽ mất nhiều tuần học để cung cấp cho bạn câu trả lời chắc chắn hơn. Tôi nghĩ rằng nó có phần cụ thể vì nó liên quan đến khối nhiệm vụ. Câu trả lời này chỉ là một hoặc hai giờ và tôi rất vui khi làm điều đó vì đôi khi tôi đã đóng góp một phần nhỏ cho nhân. Xin lỗi tôi không thể cho bạn biết thêm. –
Thật tuyệt. Những gì bạn đã cho tôi được đánh giá cao. Chắc chắn tốt hơn là để cho tất cả danh tiếng trở nên lãng phí. Nó có tạo nên sự khác biệt nếu tôi giới hạn câu hỏi của tôi chỉ với x86 (_64) không? – nitzanms