.NET Изменить метаданные файла, такие как версия файла. - PullRequest
0 голосов
/ 31 августа 2018

Мы все знаем, как получить версию файла в C #:

var info = FileVersionInfo.GetVersionInfo(FilePath);
Console.WriteLine($"File Version: {info.FileVersion}");

Как вы можете установить / изменить эту информацию в любом произвольном файле.

ПРИМЕЧАНИЕ пожалуйста, не обращайтесь к информации о сборке, это относится к любому файлу, а не к полученному exe / dll из компиляции файла C #. То есть Как открыть произвольный файл и установить / изменить FileVersion / ProductVersion или любые другие метаданные на нем? (даже если это возможно с помощью кода C / unsafe, он все еще приемлем).

1 Ответ

0 голосов
/ 31 августа 2018

Прежде всего, это не будет работать с подписанными файлами.


Используйте шестнадцатеричный редактор или Visual Studio, чтобы открыть файл в двоичном редакторе.

Поиск фразы:

VS_VERSION_INFO

(обратите внимание, в 16-битном формате, поэтому он отображается как V.S ._. V. ... и т. Д.)

Поиск и редактирование свойства метаданных, которое вы хотите редактировать.


Сама Windows также имеет встроенную опцию для изменения некоторых метаданных, называемых личной информацией:

enter image description here

Нажмите "удалить объекты ..."

enter image description here


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...