Цитата
hardcase:
Для защиты исполняемого файла от копирования нужно на этапе установки поместить к нему в ресурс некоторый идентификатор ОС или машины...
Да, это сделать несложно.
Заводим типизированную константу, например.
TestString : String = 'TestString0123456789'
и специальную функцию GenTestString : String. Эта функция будет генерировать некую строку-идентификатор
компьютера, на котором установлена программа. В начале программы будет проверка
if GenTestString = TestString then
ВСЁ НОРМАЛЬНО - ПРОДОЛЖАЕМ РАБОТУ.
TestString находится в сегменте данных, поэтому установщик вызывает GenTestString, получая правильное
значение, ищет в файле программы строку 'TestString0123456789' и заменяет её на полученное значение.
Программа защищена.
Весь вопрос в GenTestString. Чем один компьютер отличается от другого?
Не захотели в начале века использовать серийный номер процессора, а зря.