On Sun, Sep 30, 2012 at 06:46:30PM +0400, "Артём Н." wrote: > Я только что начал читать что есть PIE (но пока ещё статья в очереди): Давайте всё-таки называть это PIC (code). PIE (executable) - такой executable (не библиотека), который для секурности собран тоже как position independent. > http://www.securitylab.ru/analytics/278480.php > Он отличается от базонезависимости. Для PE это называется PIC. И отличие в том, > что при использовании релокаций, корректировка производится на этапе загрузки - > загрузчиком, а при использовании PIE, компилятор строит файл без обращений по > абсолютным адресам (вроде бы, но меня всё-таки это смущает, так что почитаю статью). При использовании релокаций адреса патчатся прямо в .text, что очень плохо по куче причин. При использовании PIC адреса ресолвятся через GOT. > Пока мне не очень понятно зачем это нужно, если возможно полагаться на загрузчик. Менять .text в рантайме - плохо. Надо пояснять почему? -- WBR, wRAR
Attachment:
signature.asc
Description: Digital signature