[解決済み] Pythonのコードをユーザーに読まれないようにするにはどうしたらいいですか?
2022-03-14 18:30:26
質問
私はPythonでソフトウェアを開発しており、雇用主の顧客に配布する予定です。私の雇用主は、時間制限のあるライセンスファイルを使ってソフトウェアの使用を制限したいと考えています。
を配布すると
.py
ファイル、あるいは
.pyc
ファイルでは、ライセンスファイルをチェックするコードを簡単に(デコンパイルして)削除することができます。
もう一つの側面は、私の雇用主が、コードが盗まれたり、少なくとも "斬新なアイデア" が盗まれることを恐れて、コードを顧客に読まれたくないということです。
この問題に対処する良い方法はないでしょうか?
どのように解決するのですか?
Pythonは、バイトコードコンパイルされたインタプリタ型言語であるため、ロックダウンするのが非常に困難な言語です。 たとえ、以下のようなexe-packagerを使ったとしてもです。 py2exe しかし、実行ファイルのレイアウトはよく知られており、Pythonのバイトコードもよく理解されています。
通常、このようなケースでは、トレードオフをしなければなりません。 コードを保護することが本当に重要なのか? そこに本当の秘密があるのか(銀行送金の対称型暗号の鍵など)、それとも単なる偏執狂なのか? 最高の製品をいち早く開発できる言語を選び、自分の斬新なアイデアがどれほどの価値を持つか、現実的に考えてみてください。
ライセンスチェックを安全に実施する必要があると判断した場合、ライセンスチェックのコードをリバースエンジニアリングしにくいように(不可能ではありません!)、小さなC拡張モジュールとして記述し、コードの大部分はPythonのままにしてください。
関連
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり