Запутывание сценария PowerShell - PullRequest
0 голосов
/ 30 марта 2020

Я написал сценарий PowerShell за много часов и дней и хотел бы его запутать, но чтобы код больше не читался и не декомпилировался, но сценарий по-прежнему можно было выполнить. Есть что-то подобное?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Если вы хотите, чтобы что-то запутало ваш код powershell, чтобы сделать его нечитаемым, но сохранить его работающим, вам следует проверить проект под названием Invoke-Obfuscation , выполненный Дэниелом Боханнаном. Вы должны проверить его разговор о запутывании PowerShell, где он представил инструмент.

0 голосов
/ 30 марта 2020

Существует вещь с именем Powershell Constrained language.

Цитата отсюда: https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/

Режим ограниченного языка - это языковой режим, разработанный PowerShell. для поддержки повседневных административных задач, но при этом ограничить доступ к чувствительным языковым элементам, которые можно использовать для вызова произвольных Windows API.

В режиме с ограничениями они не поддерживаются:

  • COM-объекты
  • Не одобрено. NET типы
  • Рабочие процессы на основе XAML
  • Классы PowerShell

Лучше всего работает административные задачи, все же это не лучше для повседневного использования. Для запуска используйте:

$ExecutionContext.SessionState.LanguageMode = 'ConstrainedLanguage'

Подробнее здесь: https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/

Invoke-Obsufcation, написанный Daniel Bohmann, намного лучше для этой цели. Ссылка: https://github.com/danielbohannon/Invoke-Obfuscation

Руководство по использованию: https://blog.vonhewitt.com/2017/08/obfuscating-powershell-commands-using/

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