Встроенный *.exe в dll

Синтаксис языка PHP Code VS предназначен для PHP, встроенного в документы HTML (который наряду с чистым PHP (который совместим)) является наиболее распространенной формой PHP.

Если вам нужна поддержка PHP, встроенная в Markdown, вам потребуется библиотека синтаксиса для этого. Я не знаю ни одного существующего, поэтому вам, возможно, придется написать свой собственный.

Соответствующую документацию можно найти на веб-сайте VS Code .

Ваш упрощенный подход, вероятно, будет искать существующую грамматику PHP и существующую грамматику Markdown, а затем объединять их (что устраняет поддержку HTML).

6
задан David Holm 23 February 2009 в 16:13
поделиться

5 ответов

Уверенный это. Можно добавить любой файл как RC_DATA в приложении как ресурс. Но я полагаю, что необходимо будет извлечь его к диску сначала прежде, чем назвать его!

Который IDE/язык Вы используете?

[Править]

Прошу прощения! Вы действительно упоминали использование C#.

  1. Добавьте файл ресурсов Вам приложение (щелкните правой кнопкой по приложению в IDE и выборе, "Добавьте новый объект".
  2. Используйте панель инструментов на редакторе ресурса для добавления существующего файла.
  3. Затем извлеките exe каждый раз, когда требуется кодом вызова что-то как: Система. IO.File. WriteAllBytes ("C:\MyEXE\", Resource1. MyEXE);
9
ответ дан 8 December 2019 в 13:03
поделиться

Это стоит обнажить в памяти, что Ваше использование не может быть слишком довольно Вами делающий это. Встраивание исполняемого файла, что у них нет управления в DLL, который Вы извлечете и выполните, вероятно, заставит людей волноваться о выполнении троянца на их машине.

Лучше оставить.EXE в файловой системе и быть прозрачным о том, что делает Ваше приложение.

7
ответ дан 8 December 2019 в 13:03
поделиться

Можно загрузить блок из байта []. Это может быть получено через ManifestResourceStream встроенного ресурса.

2
ответ дан 8 December 2019 в 13:03
поделиться

Альтернатива может быть, чтобы не встроить сам .exe, а скорее включать его функциональность в dll и rundll32[1] использования для выполнения его.

1
ответ дан 8 December 2019 в 13:03
поделиться

На ноте стороны помните, что, когда Вы вытягиваете файл от своих ресурсов до диска и затем выполняете код на ней, можно инициировать Windows Data Execution Prevention - в основном, Windows пытается автоматически обнаружить, если что-то, как будет предполагаться, будет кодом или данными, и если она будет похожа на данные (который ресурс был бы), то затем она будет препятствовать тому, чтобы те данные были выполнены как код.

Это становится особенно липкой проблемой, если Ваш блок.NET будет используемым по сети вместо от локального диска - существуют все виды конфигураций безопасности.NET, которые могли бы препятствовать тому, чтобы это работало правильно.

Другая опция и не знание деталей Вашего проекта, берут это с мелкой частицей соли: добавьте .exe.readme файл к своей установке, которая описывает любым любопытным пользователям или людям IT, почему существует исполняемый файл, который они не ожидали в каталоге :) установки

-1
ответ дан 8 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: