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