Tài liệu về GNU binutilsstrip
ám chỉ lý do, nhưng không rõ ràng, đề cập đến trong phần mô tả về --only-keep-debug
điều đó
Lưu ý - các tiêu đề phần của các phần bị tước được giữ nguyên, bao gồm kích thước của chúng, nhưng nội dung của phần bị loại bỏ. Các tiêu đề phần được bảo toàn để các công cụ khác có thể khớp tệp debuginfo với tệp thực thi thực, ngay cả khi tệp thực thi đó đã được chuyển đến một không gian địa chỉ khác.
Đó là, trừ khi được thông báo rõ ràng thông qua -R
tùy chọn, strip
sẽ giữ lại các tiêu đề phần để giúp các chương trình khác (bao gồm gdb
) thực hiện công việc của họ.
Trang Sử dụng đúng lệnh dải (một phần của Kỹ thuật đảo ngược sử dụng Hệ điều hành Linux ) ghi chú
Chạy strip
lệnh trên một thực thi là phương pháp bảo vệ chương trình phổ biến nhất. Trong hoạt động mặc định của nó, strip
lệnh sẽ loại bỏ bảng ký hiệu và mọi thông tin gỡ lỗi khỏi một tệp thực thi. Đây là cách nó thường được sử dụng. Tuy nhiên, vẫn còn thông tin hữu ích không bị xóa.
và tiếp tục liệt kê một số điều hữu ích có thể bị bỏ lại - để phân tích một thực thi "bị tước".
Trong Phân tích nhị phân học Linux , điều này được nhắc lại, nhận xét rằng các tiêu đề phần thường chỉ bị thiếu khi ai đó cố tình xóa chúng và không có tiêu đề phần gdb
và objdump
gần như vô dụng.