Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
ブラウザー内で Python ソースを圧縮・難読化し、必要に応じてグローバル名や型注釈を処理します。
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
Python の難読化では、識別子を短くしたり、実行に影響しない空白やコメントを削除したりして、ソースを一目で読みにくくします。本ツールは単一の Python ソースファイルをブラウザー内で処理し、ダウンロード可能な .py を出力します。コンパイラーではなく、ネイティブ機械語への変換も行いません。結果は引き続き Python ソースです。
ローカル名の短縮は関数内の一時変数を対象にします。グローバル名の変更は、モジュール公開名、リフレクション、動的インポート、シリアライズ、フレームワーク登録、別ファイルからの参照に影響し得るため任意です。型注釈の削除も実行時に注釈を参照するフレームワークに影響します。難読化は簡単な読解を妨げますが、暗号化や強いアクセス制御ではありません。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
Python コードを貼り付けるか、単一の .py ファイルを選びます。対象の Python 環境で構文解析できるか確認してください。構文エラー、逆コンパイルの断片、不完全なコードは処理できないことがあります。
ローカル変数の改名は通常、影響範囲が狭くなります。文字列による名前検索、デバッガー表示名、特殊なリフレクションに依存する場合は、配布前に実際のアプリケーションで出力を実行してください。
公開関数、クラス、モジュール入口、プラグインキー、シリアライズ項目を維持します。全体改名を有効にする場合は、外部から参照される名前を保護リストに加え、関連ファイルの import 規約も確認します。
変換後のコードと文字数を確認し、デコレーター、注釈、動的属性アクセス、例外処理を重点的に見直します。唯一の原本を上書きせず別名で保存し、対象環境で必要な動作を確認してください。
活用例
仕事や日常の流れの中での活用方法を紹介します。
講師やサポート担当者は余分な空白を削除してローカル名を短くし、コンパクトなサンプルを教材や問い合わせに添付できます。
チームは秘密情報を含まない単一ファイルのヘルパーをすぐには読みづらくし、確認済みの公開入口を保ちながら通常の動作を検証できます。
長いスクリプトをチケット、ドキュメント、コード片に貼り付けるとき、圧縮によって視覚的な空白を減らせます。これは表示を変える処理で、配布物や実行時間の大幅な改善を保証しません。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
入力がすでに簡潔な場合や、安全に改名できると判断できない場合は、出力の差が小さくなります。ローカル名の短縮は参照先を追跡できる範囲で行い、構文と名前解決を優先します。
一律にはできません。リフレクション、動的インポート、シリアライズ、フレームワークのコールバック、別ファイルからの呼び出しが固定名に依存する場合があります。公開 API と文字列での規約を保ち、全参照を把握できる場合に限って検討してください。
型注釈は静的解析に使われることが多い一方、フレームワークが実行時に読み取り、検証、依存注入、CLI 生成に使う場合があります。利用方法を確認し、関連する機能を試してから有効にしてください。
防げません。出力は Python ソースのままで、ファイルを得た人は分析や再整形ができます。難読化は気軽な読解を遅らせるだけで、秘密情報管理、サーバー認可、アクセス制御の代替にはなりません。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
動的コード実行、getattr や文字列リフレクションによる名前検索、プラグイン、デコレーター、シリアライズの仕組みは、元の識別子に依存することがあります。Python の構文やインタープリターのバージョンも解析範囲に影響します。実際の実行環境と依存関係で重要な経路をテストし、戻せるよう原本を別途保管してください。
ソース処理はブラウザー内で行われ、難読化ジョブとしてソースをアップロードしません。初回は Python WebAssembly 実行環境と難読化リソースを読み込みます。静的リソースへアクセスできることを確認してください。このツールを暗号化、ライセンス強制、熟練者の解析を防ぐ仕組みとして扱わないでください。
関連
関連ツール、特集、利用可能なAPIを探せます。