Создайте "виртуальный" файл и выполните его

Мой поиск в Google привел меня сюда: Как создать виртуальный файл? В этой статье люди предложили автору извлечь файл во временный каталог и поработать с ним оттуда.

На самом деле то, что я хотел бы сделать, - это нечто похожее на то, о чем изначально просил автор - создать "виртуальный" файл и назначить ему "путь", такой, который был бы понятен для других приложений, вызывающих стандартный файловый API-интерфейс Windows. Целью этого является предотвращение копирования и несанкционированного использования.

Понятие о том, что я хотел бы сделать:

В нашей компании мы разработали программу, но это не стандартное приложение EXE, оно имеет внутренний формат (предположим, что расширение формата "application" -.MDL) и выполняется средой выполнения, поэтому среда выполнения должна быть установлена ​​на клиентская машина. Эта концепция похожа на Java (хотя это не Java; просто сравнение, чтобы вы могли лучше понять). Теперь я хочу зашифровать этот файл.MDL и включить его в качестве ресурса в обычный файл.exe. Этот файл.exe будет проверять, подходит ли он для запуска (проверьте условия лицензии, ключи, авторизацию и т. Д.), А затем, если он прошел проверку подлинности, расшифровывает и извлекает файл.MDL, исполняет среду выполнения и передает виртуальный путь.MDL файл в качестве аргумента времени выполнения. По понятным причинам я не хочу записывать расшифрованный файл.mdl где-нибудь на диск, потому что кто-то может просто запустить приложение, подождать, пока расшифровщик не напишет.MDL в temp, скопировать его из temp и распространить.

Итак, есть идеи, как это сделать? PS: меня вдохновили игры EA Games... когда вы запускаете их и просматриваете таблицу процессов, вы видите исполняемый файл обычной игры, и через некоторое время он порождает новый процесс с именем, например ~A003. TMP

2 ответа

Решение

Я не знаю ни одного метода, чтобы иметь виртуальный файл, связанный с путем, без использования какого-либо компонента драйвера; это тяжелая работа.

Почему у вас нет времени выполнения расшифровки? Тогда вам не нужно беспокоиться о расшифровке файла на диске. Или вы можете создать безымянный объект наследуемого раздела, чтобы расшифровать элемент и передать значение дескриптора среде выполнения в качестве параметра командной строки.

Что бы вы ни делали, люди все равно смогут обойти это, поэтому для меня это кажется пустой тратой времени. Каждая игра EA когда-либо сделанная была взломана; люди будут либо думать, что ваш продукт полезен и стоит денег, либо не будут. Я не думаю, что стоит потратить время или усилия на реализацию схем, более сложных, чем простая проверка регистрационного ключа (просто чтобы выглядело, как будто вы что-то сделали).

Вы должны использовать упаковщик boxedapp. Это должно помочь.

Другие вопросы по тегам