2016-12-06 4 views
0

Я пишу скрипт с большим количеством модулей, но я действительно не хочу, чтобы пользователь видел мой исходный код, поэтому я решил закодировать все в base64, так как пользователь не сможет его декодировать даже если это так. Я попытался каким-то образом добавить кодированный модуль, но не повезло.Импорт закодированного модуля Powershell

Так что мой вопрос: Можно ли импортировать кодированный в base64 модуль в основной файл сценария?

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

P.S. Я попытался найти информацию о создании DLL-файлов, но выяснил, что мне придется переписать сценарий на C#. (если я ничего не пропустил)

Также я попытался поместить все модули в один закодированный файл, но тогда файл становится слишком большим, и Powershell больше не может его обрабатывать.

ответ

1

У вас есть два варианта, которые могут быть объединены, если вы хотите быть абсолютно уверены, что никто не сможет получить доступ к вашему коду, поскольку ваш код в exe уже упоминался, есть несколько проектов это, но This one приятно, поскольку оно полностью содержится в PS. Другой, лучше, метод - использовать обфускатор, который возьмет ваш код и заменит имена переменных бессмысленными строками и внесет другие изменения, чтобы сделать ваш код очень трудным для чтения, все равно можно выработать свой код, но в целом не стоит вы можете найти рабочий Here. Но я должен добавить, что обфускация вашего кода действительно идет вразрез с идеей powershell, и я рекомендую не делать этого, если у вас нет какого-либо требования, которое также передается из управления. И обратите внимание, что это NOT - приемлемый метод скрытия кода, который включает в себя пароли, ключи api или любую другую информацию, которая должна быть защищена, так как все из них довольно легко извлечь из кода, который был запутан таким образом.

+0

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

+0

С удовольствием помогите, имейте в виду, что вам нужно поддерживать не-запутанную версию вашего кода, если вы когда-либо захотите внести изменения, и что по-прежнему можно выработать логику ваш код, намного сложнее. –

1

Вы можете изменить свой PS1 на исполняемый файл с помощью

https://ps2exe.codeplex.com/

Вы все еще быть в состоянии получить в коде, если вы пробовали, но это было бы предотвратить случайный взгляд.

Почему вы хотите скрыть модули?

+0

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

Смежные вопросы