工具簡介
Intensio-Obfuscator可以直接將Python原始碼進行轉換,並輸出經過混淆處理後的Python程式碼。它會自動將變數名、類名以及函式名替換為隨機字元,並定義長度,移除註釋內容,自動換行,並給每一行程式碼增加隨機指令碼(所有的隨機值都是不同的)。
工具執行要求
Python版本>=v3.5。
檔案支援
Intensio-Obfuscator目前支援的Python檔案程式碼版本為v2.x以及v3.x版本.
工具安裝
廣大使用者可以直接使用git命令將專案程式碼從GitHub程式碼庫中克隆至本地:
$ git clone https://github.com/Hnfull/Intensio-Obfuscator.git
$ python3 -m pip install -r Intensio-Obfuscator/requirements.txt
$ cd Intensio-Obfuscator/src/intensio_obfuscator
$ python3 intensio_obfuscator.py --help
功能介紹
替換:替換所有的變數名、類名以及函式名,移除所有的換行符
填充:在每一行程式碼後新增隨機指令碼,並移除所有的換行符
移除:移除程式碼中的全部註釋以及換行
低階混淆:生成32個字元的隨機字串,替換原始碼中定義的變數名、類名以及函式名
中級混淆:生成64個字元的隨機字串,替換原始碼中定義的變數名、類名以及函式名
高階混淆:生成128個字元的隨機字串,替換原始碼中定義的變數名、類名以及函式名
工具使用
參量 | 說明 |
---|---|
-h,–help | 顯示此幫助訊息並退出 |
-i, –input | 源目錄-指示包含您的檔案的目錄 |
-o, –output | 輸出目錄將被混淆-指示將包含檔案的空目錄 |
-mlen,–mixerlength | 定義生成的隨機字串的長度[ lower:32 |
-ind,–indent | 指示python原始碼的縮排,可能的值:[ 2 |
-rts,-replacetostr | 啟用replace string to string mixed 混淆功能 |
–excludewords | 檔案以排除特定單詞(請參閱文件中的格式)僅用於-rts, --replacetostr 混淆功能 |
-ps,-paddingscript | 啟用padding script 混淆功能 |
-rfn,–replacefilename | 啟用replace file name 混淆功能 |
–excludefiles | 檔案以排除檔名(請參閱文件中的格式)僅用於-rfn, --replacefilename 混淆功能 |
-rth,–replacetohex | 啟用replace string to hex 混淆(python files 2 only) |
–version | 檢查當前版本 |
-v,–verbose | 提高詳細程度 |
intensio_obfuscator -i /Users/nzoe/PycharmProjects/ -o /Users/nzoe/PycharmProjects/test -mlen lower -rts -ps -rth -ind 2
如果你想要在使用“替換”功能時排除掉某些變數名、類名或函式名的話,可以編輯下面這個檔案:
intensio/exclude_python_words.txt
本作品採用《CC 協議》,轉載必須註明作者和本文連結