
Python 2.x および 3.x のコードを難読化します
変数/クラス/関数/ファイル名 の名前を、定義された長さのランダムな文字列に置換し、すべての 文字 を 16 進数値に変換しますコメント、すべての 空白行 を削除しますスニペットコード/関数/クラス をパディングします$ 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
$ python3 -m pip install intensio-obfuscator
$ intensio_obfuscator --help
文字列から文字列への混合置換 -> -rts, --replacetostrスクリプトのパディング -> -ps, --paddingscriptファイル名の置換 -> -rfn, --replacefilename文字列から16進数への置換 -> -rth, --replacetohex| 機能 | 説明 | 難読化の目的 | すべての種類の Python コード/構文との互換性 |
|---|
| コメントの削除 | すべてのコメントを削除します(この機能はデフォルトで実行されます) | 潜在的な動作情報を削除 | 高い Python ファイル 2 & 3 |
| 行スペースの削除 | すべての空白行を削除します(この機能はデフォルトで実行されます) | コードの可読性を低減 | 高い Python ファイル 2 & 3 |
| 空のクラス/関数のパディング補正 | 空のクラスと関数にパディングを追加します。クラスまたは関数にコメントのみが含まれている場合、デフォルト機能の「コメントの削除」によってクラスや関数が空になる可能性があり、これによりエラーが発生するのを防ぎます(この機能はデフォルトで実行されます) | なし、エラーを発生させないためだけ | 高い Python ファイル 2 & 3 |
| 文字列から文字列への混合置換 | すべての変数/クラス/関数の名前を定義された長さのランダムな文字列に置換します | コードの可読性を低減 - 変数/クラス/関数の動作の推測を遅延 | 低~高(除外する必要がある名前の数に依存) Python ファイル 2 & 3 |
| 除外ワード | 除外するワードを指定するファイル(形式についてはドキュメントを確認)「ファイル名の置換」難読化機能のみ | 不要な情報 | 不要な情報 |
| スクリプトのパディング | 各行の後にランダムなスクリプトのパディングを追加します | コードの可読性を低減 - デッドスニペットコード/クラス/関数を追加してプログラムの動作分析をぼやけさせ遅延させる | 高い Python ファイル 2 & 3 |
| ファイル名の置換 | すべてのファイル名を定義された長さのランダムな文字列に置換します | コードの可読性を低減 - ファイルの機能の推測を低減 | 低い Python ファイル 2 & 3 |
| ファイル名の除外 | 除外するファイル名を指定するファイル(形式についてはドキュメントを確認)「ファイル名の置換」難読化機能のみ | 不要な情報 | 不要な情報 |
| 文字列から16進数への置換 | すべての文字を16進数値に置換します | コードの可読性を低減 / 例えば grep コマンドで検出されるのを回避 | 中程度 Python ファイル 2 のみ |
| pycファイルの削除補正 | 出力ディレクトリ内のすべてのpycファイルを削除します(この機能はデフォルトで実行されます) | 難読化されていない既にコンパイルされたファイルを削除 | 高い Python ファイル 2 & 3 |
| ミキサー長さ低 | -rts, --replacetostr または -ps, --paddingscripts または -rfn, --replacefilesname または -rth, --replacetohex パラメータが指定された場合に、ランダムな文字列の長さを 32 文字に定義します | 長さが長いほどコードの可視性が難しくなる | 不要な情報 |
| ミキサー長さ中 | -rts, --replacetostr または -ps, --paddingscripts または -rfn, --replacefilesname または -rth, --replacetohex パラメータが指定された場合に、ランダムな文字列の長さを 64 文字に定義します | 長さが長いほどコードの可視性が難しくなる | 不要な情報 |
| ミキサー長さ高 | -rts, --replacetostr または -ps, --paddingscripts または -rfn, --replacefilesname または -rth, --replacetohex パラメータが指定された場合に、ランダムな文字列の長さを 128 文字に定義します | 長さが長いほどコードの可視性が難しくなる | 不要な情報 |
| パラメータ | 説明 |
|---|
| -h, --help | このヘルプメッセージを表示して終了 |
| -i, --input | ソースディレクトリ - ファイルを含むディレクトリを指定 |
| -o, --output | 難読化される出力ディレクトリ - ファイルを含む空のディレクトリを指定 |
| -mlen, --mixerlength | --replacetostr または --paddingscripts または -rfn, --replacefilesname または --replacetohex 機能が指定された場合に生成されるランダムな文字列の長さを定義 [lower:32|medium:64|high:128] 文字、可能な値: [lower|medium|high] |
| -ind, --indent | Python ソースコードのインデントを指定、可能な値: [2|4|8] |
| -rts, --replacetostr | 文字列から文字列への混合置換 難読化機能を有効にする |
| --excludewords | 特定のワードを除外するファイル(形式についてはドキュメントを確認)-rts, --replacetostr 難読化機能のみ |
| -ps, --paddingscript | スクリプトのパディング 難読化機能を有効にする |
| -rfn, --replacefilename | ファイル名の置換 難読化機能を有効にする |
| --excludefiles | ファイル名を除外するファイル(形式についてはドキュメントを確認)-rfn, --replacefilename 難読化機能のみ |
| -rth, --replacetohex | 文字列から16進数への置換 難読化を有効にする (Python ファイル 2 のみ) |
| --version | 現在のバージョンを確認 |
| -v, --verbose | 詳細表示を強化 |