PyArmorとはPythonを難読化するツール
PyArmorとは、簡単に言うとPythonのスクリプトを難読化し、そのスクリプトをバインドするツールです。またこのツールはコマンドラインで使用するため、コマンドを普段使用している開発者の方には非常に使いやすいツールだといえるでしょう。
今回は、そんなPyArmorの特徴やインストール方法などをご紹介します。現在Pythonで開発している方や、難読化のツールを使用してみたいという方は、ぜひ参考にしてください。
【参考】:PyArmor公式ドキュメント PyArmorとは
PyArmorの特徴
PyArmorはPythonのスクリプトを難読化すると言いましたが、その他にも特徴がいくつかあります。ここからは、PyArmorの特徴について解説します。
PyArmorのスクリプトの難読化は不可逆的
まず1つ目ですが、PyArmorでは難読化する際に複数の方法を使って難読化しています。これによってセキュリティが上がるだけでなく、パフォーマンスも安定します。
また、難読化する範囲は関数だけでなく、メソッドやクラス、変数、引数の名前も変えます。難読化したスクリプトは不可逆的なものとなるのも、大きな特徴と言えます。
難読化したスクリプトをバインドすることが可能
2つ目は、PyArmorで難読化したスクリプトをバインドする点です。難読化したスクリプトは、特定のマシンにバインドすることができます。
さらに、バインドするときは複数のマシンにバインドすることも可能です。複数マシンへのバインドの方法は参考サイトに記述されていますので、より詳しく知りたい方は参考にしてください。
【参考】:PyArmor公式ドキュメント 多くのマシンへのバインドコマンド
難読化されたスクリプトに有効期限をつけることもできる
PyArmorを活用して難読化されたスクリプトは、コマンドを打つ際に何日後まで有効化できるか期限を設定できます。
ちなみに期間をチェックする際は、ネットワークの時間をチェックするのか、インターネット接続をせずにマシンの現地時間をチェックするのか選択できます。
PyArmorには有料版と無料版がある
PyArmorにはいくつかライセンスの種類があり、無料版ではトライアルと呼ばれるライセンスを使用できます。
有料版には、ベーシック、プロ、グループと呼ばれるライセンスがあり、ライセンスの種類によって使える機能の範囲が異なります。ちなみに有料プランの中で1番料金が安いベーシックプランでは、執筆時点(2023年6月)で52ドルかかります。
そのため、これからPyArmorを利用しようか悩んでいる方は、まずトライアルからの利用をおすすめします。
ちなみにライセンスのアップグレードをしたい場合には、Webサイトからライセンスを購入することができます。料金はライセンスの種類によって異なりますので、詳細は公式サイトを確認しましょう。
【参考】:PyArmor ライセンスの種類 【参考】:PyArmor ライセンスの販売
PyArmorの無料版では商用利用できない
PyArmorを商用利用できるか気になる方も多いかと思いますが、PyArmorの無料版では商用利用はできません。
商用利用したい場合には、有料のライセンスを購入する必要がありますので注意しましょう。
【参考】:PyArmor ライセンスの種類
PyArmorのインストール方法
ここからは、PyArmorのインストール方法を解説します。PyArmorのインストールでは、実施する前に必要な確認事項もありますので、準備をしてからインストール作業を行ってください。
本記事では、確認事項についてもご紹介しますので参考にしてください。
インストールする前に確認すること
まず、PyArmorに対応しているOSを確認しましょう。PyArmorは、Windows、Linux、Mac OSに対応しています。さらに、Pythonは3.7から3.11に対応しています。
Pythonをまだインストールしていない方は、事前にPythonをインストールしてください。ちなみに本記事では、Mac OSを使用してPyArmorをインストールします。
【参考】:Python公式サイト 【参考】:Python公式サイト
インストールする
ご自身の環境の確認ができたら、早速インストールを行いましょう。コマンドプロンプトやターミナルを起動し、以下のようにコマンドを入力します。
pip install pyarmor
コマンドを実行すると、インストールが開始されます。
下図のように、「Successfully installed pyarmor-8.2.8」などとインストールに成功したと表示されれば、インストールは成功しているでしょう。
インストールが正しくされているか確認する
インストールが完了したら、今度はPyArmorのバージョンを確認してみましょう。以下のコマンドを実行してみてください。
pyarmor --version
コマンドを入力し、下図のようにバージョンが表示されれば、インストールの作業は無事完了です。
Gitを利用したインストール方法
先程説明した方法の他に、Gitのリポジトリからクローンしてインストールする方法もあります。
Git経由でインストールしたい場合には、公式サイトにコマンドの詳細が記載されていますので、こちらも参考にしてください。
【参考】:Python公式サイト Gitからクローンしてインストールする方法
インストールが成功しない時の解決方法
もし上記の方法で上手くいかない場合は、Pythonのバージョンなどを確認してみましょう。ここからは、インストールが上手くいかない時のよくある原因と、対処法を紹介します。
インストールが上手くいかない場合は、こちらも参考にしてください。
サポート外のPythonを利用している
PyArmorのサポートしていないPythonを利用した場合はインストールが上手くいかない可能性があります。そのため、インストールが上手くいかない時はバージョンを確認しましょう。
Pythonのバージョンを確認するコマンドは、以下の通りです。
python --version
pipが入っていない
PyArmorでは、Pythonパッケージ管理ツールのpipを利用しています。コマンドを実行した際にpipコマンドを認識していない場合には、先にpipをインストールする必要があります。
pipが入力されているか分からない方は、以下のようにコマンドを実行して、pipのバージョンを確認してください。
python -m pip -v
正常にpipがインストールされている場合、上図のようにバージョンが表示されます。もし、上記コマンドを実行してもバージョンが表示されない場合は、Pythonの公式サイトなどを確認してpipのインストールを行いましょう。
Pythonの開発でPyArmorを活用してみよう
PyArmorを活用すれば、Pythonのスクリプトを難読化してセキュリティを向上させることができます。コードの流出を懸念している方や、Pythonで開発をしている方は、ぜひPyArmorの利用を検討してみましょう。
また、本記事でも紹介しましたが、PyArmorはコマンドをいくつか実行するだけでインストールが完了します。インストールの時間もそれほどかかりませんので、気になる場合は試しにインストールをして使い勝手を試してみましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから