Мой поиск в Google привел меня сюда: Как создать виртуальный файл?
В этой статье люди предложили автору извлечь файл во временный каталог и поработать с ним оттуда.
На самом деле то, что я хотел бы сделать, - это нечто похожее на то, о чем первоначально просил автор - создать «виртуальный» файл и назначить ему «путь», такой, который был бы понятен для других приложений, вызывающих стандартную файловую систему Windows. API. Целью этого является предотвращение копирования и несанкционированного использования.
Понятие о том, что я хотел бы сделать:
В нашей компании мы разработали программу - но это не стандартное приложение EXE, оно имеет внутренний формат (предположим, расширение формата «application» - .MDL) и выполняется средой выполнения, поэтому среда выполнения должна быть установленным на клиентском компьютере. Эта концепция похожа на Java (хотя это не Java; просто сравнение, чтобы вы могли лучше понять). Сейчас я хочу зашифровать этот файл .MDL и включить его в качестве ресурса в обычный файл .exe. Этот файл .exe будет проверять, подходит ли он для запуска (проверьте условия лицензии, ключи, авторизацию и т. Д.), А затем, если он аутентифицирован, расшифровывает и извлекает файл .MDL, исполняет среду выполнения и передает виртуальный путь .MDL. файл в качестве аргумента времени выполнения.
По понятным причинам я не хочу записывать расшифрованный файл .mdl где-нибудь на диск, потому что кто-то может просто запустить приложение, подождать, пока расшифровщик запишет .MDL в temp, скопировать его из temp и распространить.
Итак, есть идеи, как это сделать?
PS: меня вдохновили игры EA Games ... когда вы запускаете их и просматриваете таблицу процессов, вы видите исполняемый файл обычной игры, и через некоторое время он порождает новый процесс с именем, например ~ A003. TMP