Вручную пометить исполняемый файл как «с другого компьютера» в Windows 10

Aug 20 2020

Когда я загружаю программное обеспечение в Windows, они получают флаг безопасности, который я могу увидеть, щелкнув его правой кнопкой мыши и выбрав Properties. На Generalвкладке есть раздел с надписью «Безопасность: этот файл пришел с другого компьютера и может быть заблокирован для защиты этого компьютера» с флажком для его разблокировки.

Я разработчик программного обеспечения и хочу провести с ним небольшое тестирование.

Как только я разблокирую файл, флажок снимается. Как я могу вручную заблокировать его?

Ответы

3 M.Dudley Aug 20 2020 at 11:44

Файлы помечаются как «с другого компьютера» с использованием альтернативных потоков данных NTFS, как любезно объяснил Джеймс в другом вопросе. Я также нашел хорошее руководство под названием Introduction to Alternate Data Streams .

Вы можете запускать команды для чтения и записи данных ADS из командной строки:

MORE < "myapp.exe:Zone.Identifier"

(
ECHO [ZoneTransfer]
ECHO ZoneId=4
)>myapp.exe:Zone.Identifier

И из Powershell:

Get-Content -Path .\myapp.exe -Stream Zone.Identifier

Set-Content -Path .\myapp.exe -Stream Zone.Identifier -Value "[ZoneTransfer]`nZoneId=4"

Некоторые браузеры также хранят там другие метаданные, такие как URL-адреса Referer и Host для загрузки.

Вы можете узнать больше о зонах в разделе «О зонах безопасности URL» . По умолчанию это:

Value    Setting
------------------------------
0        My Computer
1        Local Intranet Zone
2        Trusted sites Zone
3        Internet Zone
4        Restricted Sites Zone

Вы можете прочитать о других известных именах ADS в разделе «Известные альтернативные имена потоков» .