Довольно многих волнует этот вопрос. Люди приходят сюда, на креклаб и создают тему где просят сказать как же называется тот самый идеальный протектор, панацея от всех бед и крякеров.
Ну так вот. Если ваша программа кому-нибудь нужна, её всё равно сломают. Вы можете пошифровать часть кода своей программы. Кто-то даст крекеру ключ или кто-то скардит его, и программу всё равно сломают.
Программу не сломают в одном из следующих случаев:
1) ваша программа никому не нужна;
2) в вашей программе албанский интерфейс;
3) часть кода вашей программы исполняется во внешнем USB-устройстве (дамп снять крайне затруднительно);
4) ваша программа бесплатна или вообще имеет открытые исходные коды

.
Поэтому ответом на то, какой же протектор является идеальным будет UPX. Давайте покажем все плюсы:
1) Он прост и удобен, редко даёт сбой;
2) Он остановит новичка, если использовать хороший скрамблер (автораспаковка не получится);
3) Он дешёвый (ровно 0 руб.) и не заставит вас рвать волосы на своей спине, когда вашу защиту стоимостью N долларов сломает за пару часов обычный школьник.