仕事の関係で「pythonスクリプトを納品するが、コードが解読されてはならない、なんとかならないか」という相談を受けた。 イメージとしては、windowsの.exeでビルドされたアプリケーションのようなものにしたい、とのことだった。 結論から言うと、PyArmorというツールを使って比較的容易に、堅牢なプロテクトを施すことができた。 4つの難読化手法 「python obfuscate(=難読化)」で検索すると、様々なhowtoがヒットする。 いくつかの手法を試してみたが、どれもしっくりくるものがなく、最も信頼できるPython.orgの公式wikiから読み解くことにした。 このwikiを日本語に訳し、実際にツールを利用して難読化を試した検証結果を記載する。 1.バイトコード(.pyc)で機能を提供する pythonコードのコンパイル結果であるpycは、pythonコードと同じ振る舞いをす