![image][1] Немного защиты от code injection, но Этот способ не панацея, но немного усложняет жизнь иньекций кода.
#### Лирика
Т.к. с каждым скачком высокоуровневого программирования все меньше людей понимают ассемблер, то есть смысл задуматься: А что если программа, которую вы исполняете не является ею? Или, а что если вирус заменяет куски программы, которые вы используете? Умные люди в далеких 80х придумали один рецепт для того, чтобы подтвердить цельность исполнительных файлов и отдельных их кусков — хеши. Обычно все релизы библиотек поставляются с хешом или цифровой подписью, чтобы проверить именно этот ли автор поставляет нам либу, или приложение, не было ли оно изменено никем кроме него. Есть языки (С, C++) которые не поддерживает эту фичу в рантайме (как например в Обероне, в котором есть немного здравых идей, как модули например), но С хорош тем, что с прямыми руками его можно немного доработать напильником. При большом желании можно также доработать С компилятор, но это другая история. Почему не стоит доверять никому? Есть очень много вариантов ответа на этот вопрос. Часть из них в [шуточном виде][2]. [Читать дальше →][3]
[1]:
https://habrastorage.org/getpro/habr/post_images/fe7/5a1/3bb/fe75a13bbbd36c015b34a41bb0df990b.jpg
[2]:
http://habrahabr.ru/post/241854/
[3]:
http://habrahabr.ru/post/272561/#habracut