Здравствуйте, duke89, Вы писали:
D>Всё ясно, только эти суммы наверняка уменьшат криптостойкость алгоритма...
Ну насчет этого беспокоиться не нужно: значение контрольной суммы заранее неизвестно, поэтому никакой пользы для атаки она не принесет. Если уж на то пошло, в exe-шнике можно найти километровые куски с наперед известным содержанием. Но это тоже ничего, если использовать для шифровки нормальный алгоритм (тот же Blowfish например).
Касательно защиты от копирования: может быть, более простым вариантом будет кодировать не весь exeшник, а только некоторый набор функций из него? И вызывать их, например, через указатели-на-функции, которые будут настраиваться при расшифровке. Тогда можно избежать необходимости самостоятельно настраивать образ в памяти. К тому же этот подход позволяет, например, расшифровывать некоторые функции по мере надобности, а после исполнения выкидывать. Это сильно усложнит получение расшифрованного образа из памяти.