2016-12-06 186 views
0

我正在寫一個腳本有很多模塊,但我不想讓用戶看到我的源代碼,所以我想在base64中編碼所有內容,因爲用戶將無法解碼它即使它是基本的。 我試圖以某種方式添加一個編碼模塊,但沒有運氣。Powershell導入編碼模塊

所以我的問題是 - 是否有可能導入base64編碼模塊到主腳本文件?

如果您有任何更好的解決方案來隱藏源代碼請分享,我會非常樂意嘗試它們。

P.S.我試圖找到一些有關製作.dll文件的信息,但發現我必須用C#重寫腳本。 (如果我沒有遺漏任何東西)

另外我試圖把所有模塊放到一個編碼文件中,但是文件變得太大,Powershell無法處理它。

回答

1

你有兩個選擇,如果你想非常確定沒有人能夠訪問你的代碼,使你的代碼進入一個EXE文件已經提到,有幾個項目可以合併這但是This one很好,因爲它完全包含在PS中。另一種更好的方法是使用一個混淆器,該混淆器將取代你的代碼並用無意義的字符串替換變量名,並進行其他更改以使代碼非常難以閱讀,但仍有可能計算出代碼,但通常不值得努力,你可以找到一個工作的Here。但我必須補充一點,混淆你的代碼確實違背了PowerShell的精神,我建議不要這樣做,除非你有一些要求也從管理傳遞下來。請注意,這是一個可接受的模糊代碼的方法,其中包括密碼,api鍵或需要保護的任何其他信息,因爲所有這些都很容易從以這種方式混淆的代碼中提取。

+0

謝謝,那是我真正不知道的事情,我的意思是混淆器。謝謝它幫助我實現了自己的目標 – SokIsKedu

+0

樂意提供幫助,請記住,如果您想要進行更改,則需要保留非混淆的代碼版本,並且仍然可以制定出背後的邏輯你的代碼,更難。 –

1

您可以通過使用

https://ps2exe.codeplex.com/

你最好還是能夠在代碼即可獲得,如果你想你的PS1變爲一個exe文件,但它會防止漫不經心的樣子。

爲什麼要隱藏模塊?

+0

那麼這些都是自定義模塊,幷包含大量的邏輯和功能。因此允許用戶看到這些將違背接收到的要求。謝謝我現在正在看它 – SokIsKedu