Создание привязки к железу для текстов. документа

Олег12 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
25.04.2013

На входе в программу будет подаваться:

Текстовый документ .doc, .pdf, .rtf или любой другой поддерживающий оформление и вставку картинок.

На выходе из программы должен получиться:

Защищенный .exe файл, который отображает Текстовый документ. Должна отсутствовать возможность копирование текста из exe файла, а также, самое главное, должна быть сделана привязка к железу (мак адрес, hdd, любая другая привязка).

Способов реализации вижу несколько (может быть, придумаете что-то другое):

1. Будет кидаться пользователю программка для определения мак адреса, или hdd, далее пользователь будет сообщать мне эти данные, я буду вбивать их в программу вместе с файлом, и кидать защищенный файл, который будет работать только на его компьютере.

2. Пользователю будет кидаться программа, которая сама при первом запуске определяет данные мак адреса или hdd, вносит их в защищенный файл, выдает файл, и самоликвидируется, оставляя лишь файл. В данном случае нужно чтоб внутри программы была база из N-кодов, и при первом запуске требуется ввести этот самый код. Код буду выдавать я.

3. При каждом запуске программа выходит в Интернет и сверяет код активации с БД на каком-либо сервере. Если получен отказ - то программа не будет работать. По моему, наименее надежный вариант, так что склоняюсь больше к ручной обработке.

Предлагайте свои варианты, возможно, кто-то знает больше чем я.

Еще раз скажу - самое главное чтобы 1 текстовый файл запускался на одном компьютере, и не было возможности копирования информации никаким образом, кроме ПринтСкрина.

Обратите внимания, что текстовый файл и конечный пользователь не в единственном числе. Требуется, что бы я создавал много разных текстовых файлов и они отправлялись разным пользователям.

Опционально (не обязательно, но желательно):

1. Предусмотреть защиту от Виртуальной машины (чтоб не было возможности привязать exe к виртуалке, а потом скинуть всем образ).

2. На заднем фоне текста были указаны специальные слова, которые я буду определять в каждом отдельном случае (при этом что бы текст оставался читаемым). Это требуется для установления личности, если кто-то будет скринить.

3. Дополнительная зашифровка текста. Чтоб уже после открытия спрашивался пароль (назначаемый в каждом отдельном случае) и только после его ввода текст дешифровался.

И если делать будете на Java или С#, вшивайте ява-машину и библиотеки фраймоврка, чтоб конечному пользователю не приходилось ничего скачивать дополнительно.

Ограничения на конечный файл - в разумных приделах - ну например 100 мб (текстовый файл изначально не более 10 мб).

Пишите свои цены и предполагаемые сроки.