#Python ソース コードには多くの暗号化スキームがありますが、ここでは PyArmor がどのように Python を暗号化するかを見てみましょう。
1. PyArmor の概要
- PyArmor は、Python スクリプトを難読化するために使用されるコマンド ライン ツールです。難読化されたスクリプトを固定マシンにバインドするか、または一定の時間が経過すると、難読化されたスクリプトの有効期限が切れて使用できなくなります。
- pyarmor -h で使用方法を確認できますが、一部のみを抜粋して以下に説明します:
(tt) PS C:test> pyarmor -h usage: pyarmor [-h] [-v] [-q] [-d] [--home HOME] [--boot BOOT]... optional arguments: -h, --help show this help message and exit -v, --versionshow program's version number and exit -q, --silent Suppress all normal output -d, --debugPrint exception traceback and debugging message --home HOMEChange pyarmor home path --boot BOOTChange boot platform The most commonly used pyarmor commands are: obfuscate (o) Obfuscate python scripts licenses (l) Generate new licenses for obfuscated scripts pack (p) Pack obfuscated scripts to one bundle init (i) Create a project to manage obfuscated scripts config (c) Update project settings build (b)Obfuscate all the scripts in the project info Show project information checkCheck consistency of project hdinfo Show all available hardware information benchmarkRun benchmark test in current machine register Make registration keyfile work download Download platform-dependent dynamic libraries runtimeGenerate runtime package separately help Display online documentation See "pyarmor <command> -h" for more information on a specific command. More usage refer to https://pyarmor.readthedocs.io
(1) 主な機能pyarmor の
- コマンド obfuscate を使用してスクリプトを暗号化します。
- コマンドライセンスを使用して、暗号化されたスクリプトの新しいライセンスファイルlicense.licを生成します。暗号化されたスクリプトの使用期間を設定したり、スクリプトの使用を制限したりする必要がある場合は、特定のマシンの場合は、新しいライセンス ファイルを生成し、新しいライセンス ファイルを使用してスクリプトを暗号化する必要があります。
- Python パッケージ全体を暗号化できます。
- pyinstaller と連携して、Python プロジェクトを独立して実行可能なインストール パッケージにパッケージ化できます。
- 提供されるソリューションの一部を使用して、暗号化されたスクリプトのセキュリティをさらに向上させることもできます。実際のプロジェクトで必要な場合は、公式 Web サイトを確認してください。
2. 使用例
(1) インストール
pip install pyarmor -i https://pypi.douban.com/simple/ -i https://pypi.douban.com/simple/ 是使用国内的豆瓣源,提升安装速度,具体可参见我的其他文章。
(2) 一般的な暗号化
# module1.py内容如下 def module1_func1(): print("I'm module1.py") return # main.py内容如下 import module1 print("I'm main.py") module1.module1_func1()。
コマンドの実行暗号化:pyarmor main.py。
PyArmor は、同じディレクトリ内の main.py とすべての *.py ファイルを暗号化し、暗号化スクリプトの実行に必要なすべてのファイルを含む dist フォルダーを生成します。プロセス:
- 出力サブディレクトリ dist を作成します。
- 暗号化されたメイン スクリプト main.py を生成し、出力ディレクトリ dist に保存します。
- 同じディレクトリ内の他のすべての *.py ファイルを暗号化し、出力ディレクトリ dist に保存します。
- 暗号化スクリプトの実行に必要なすべての補助ファイルを生成し、出力ディレクトリ dist に保存します。
検証: dist ディレクトリの python main.py に移動します。
暗号化されたファイルは次のようになります:
from pytransform import pyarmor_runtime pyarmor_runtime() __pyarmor__(__name__, __file__, b'x50x59x41x52x4dx4fx52x00x00x03x08x00x55x0dx0dx0ax09x33xe0x02x00x00x00x00x01x00x00x00x40x00x00x00x63x01x00x00x00x00x00x18x26xa4x75x12x0cx32x8fxd9xa6xf8x0ax0bx17x1exc7xfex00x00x00x00x00x00xx22x0cxa0x75x0cx1ax13x8ax26xb4x02x46x1bx8cx5dxafxd0x81xc2x22x59xc0x1dxd2x83x99x01x09xb1x78x4cxdcx58x9bxdfx17xd9xe9x07xa4xa7xc6x51xdexaax20xbfx7cx43xbbx83x87xafx82x9ex65x2dxaexb9x5bx14xfcxf8x1dxc7x09xe5x65xa7x8dx5ax62x9dx78xa3x82x4cx53x17xc9x3ax15xa4xe7x66xdax3fxf2x9d', 2) 还会根据不同平台生成相关依赖:在pytransform文件夹下,例如windows生成相关.dll,linux生成.so等。
(3) ライセンスによる暗号化
1.生成新的许可文件 pyarmor l -e 2022-09-09 test01 执行这条命令会生成一个带有效期的认证文件: 创建license.lic与license.lic.txt,保存在licenses/test01目录下 2.使用新生成的许可文件加密脚本 pyarmor o --with-license .licensestest01license.lic main.py 3.同样可以在dist目录下找到相关,此时如果过期了,则会提示:License is expired
(4) バインドすることもできます固定マシンに設定
1.在该机器上运行命令获取硬件信息 pyarmor hdinfo 2.然后生成绑定的固定机器的许可文件 pyarmor l --bind-disk "100304PBN2081SF3NJ5T" --bind-mac "20:c1:d2:2f:a0:96" code-002 3.使用这个许可文件加密脚本,加密脚本就只能在指定机器上运行 pyarmor o --with-license licenses/code-002/license.lic main.py
その他の利用方法については公式サイト
https://pyarmor.readthedocs.io/ja/latest/をご覧ください。
以上が暗号化された Python ソース コード ソリューション PyArmorの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonの柔軟性は、マルチパラダイムサポートと動的タイプシステムに反映されていますが、使いやすさはシンプルな構文とリッチ標準ライブラリに由来しています。 1。柔軟性:オブジェクト指向、機能的および手続き的プログラミングをサポートし、動的タイプシステムは開発効率を向上させます。 2。使いやすさ:文法は自然言語に近く、標準的なライブラリは幅広い機能をカバーし、開発プロセスを簡素化します。

Pythonは、初心者から上級開発者までのすべてのニーズに適した、そのシンプルさとパワーに非常に好まれています。その汎用性は、次のことに反映されています。1)学習と使用が簡単、シンプルな構文。 2)Numpy、Pandasなどの豊富なライブラリとフレームワーク。 3)さまざまなオペレーティングシステムで実行できるクロスプラットフォームサポート。 4)作業効率を向上させるためのスクリプトおよび自動化タスクに適しています。

はい、1日2時間でPythonを学びます。 1.合理的な学習計画を作成します。2。適切な学習リソースを選択します。3。実践を通じて学んだ知識を統合します。これらの手順は、短時間でPythonをマスターするのに役立ちます。

Pythonは迅速な開発とデータ処理に適していますが、Cは高性能および基礎となる制御に適しています。 1)Pythonは、簡潔な構文を備えた使いやすく、データサイエンスやWeb開発に適しています。 2)Cは高性能で正確な制御を持ち、ゲームやシステムのプログラミングでよく使用されます。

Pythonを学ぶのに必要な時間は、人によって異なり、主に以前のプログラミングの経験、学習の動機付け、学習リソースと方法、学習リズムの影響を受けます。現実的な学習目標を設定し、実用的なプロジェクトを通じて最善を尽くします。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
