JavaSEアプリケーションを保護する

入門ビデオ

▶️ YouTube

▶️ ビリビリ

ダウンロード

訪問 https://protector4j.com/download 最新バージョンをダウンロードするには

インストール

WindowsとLinux

特別なインストール手順はなく、アーカイブをダウンロードして解凍するだけです。

macOS

dmgファイルをダウンロードし、Protector4Jをドラッグして Applicationsこのツールの実際の内容は /Applications/Protector4J.app/Contents/protector4j-mac

GUIツールでJavaSEアプリケーションを暗号化する

Protector4Jフォルダに移動し、 p4j-ui[.exe]、次のユーザー インターフェイスが表示されます。

macOS ユーザーの場合は、通常の Mac アプリケーションと同じように、Protector4J.app をダブルクリックするだけです。

ログイン

すでにライセンスをご購入いただいている場合は、右上のログインボタンをクリックしてユーザー情報を入力してください。ライセンスをお持ちでない場合でも、このツールをお試しいただけます。

アプリケーションの種類を選択

アプリケーション タイプ ページで、「JavaSE アプリケーション」ボタンをクリックします。

暗号化する必要があるjar/warファイルを選択します

暗号化したいjar/warファイルを選択します。1つまたは複数のファイルを選択できます。

オプション

jarファイルのみを暗号化する

JRE全体をデプロイせずに、jarファイルのみを暗号化します。このオプションは通常、既存のプログラムを更新するためにKeySeed機能と組み合わせて使用されます。

実行ファイルを作成する

アプリケーションを起動するための実行可能ファイルを作成します。.exe 拡張子を追加しないでください。

隠しコンソール

このオプションは Windows 上の GUI プログラムにのみ有効で、プログラム実行中にコマンド ライン ウィンドウを非表示にするために使用されます。

JVMオプション

-Xmx や -Xms などの JVM オプションをスペースまたは改行で区切って設定します。

出力

Javaバージョンの選択

Java 8、Java 11、Java 17、Java 21をサポートするJavaバージョンを選択します

新しいフォルダを作成

デフォルトで選択されている場合、暗号化タスクは出力フォルダーにp4j-[task-id]という名前のファイルを作成し、出力結果はこのフォルダーに保存されます。

JavaFXを含む

JavaFXアプリケーションの場合はこのオプションを選択してください

SWT アプリケーション

SWT アプリケーションの場合は、このオプションを選択してください。

KeySeed

暗号化タスクは、デフォルトでサーバーからランダムキーを要求して暗号化を行います。異なる暗号化タスクで生成されたファイルは、同時に使用できません。KeySeedが指定されている場合、同じKeySeedは同じ暗号化キーを生成します。このオプションは、既存のアプリケーションを更新するために、以前の「Jarファイルのみを暗号化する」オプションと組み合わせて使用できます。このオプションは、ライセンスユーザーのみ有効です。

暗号化タスクの実行

しばらくお待ちください。暗号化タスクが完了すると、出力フォルダーに暗号化されたアプリケーションの出力結果が表示されます。

暗号化されたアプリケーションを実行する

暗号化されたアプリケーションを実行するには3つの方法があります

  1. exeファイルで実行

ターゲット プラットフォームが Windows の場合、暗号化タスク中に生成された実行可能ファイルを使用して暗号化されたアプリケーションを実行できます。

  1. スクリプトで実行

対象プラットフォームがLinuxまたはmacOSの場合、次の名前のスクリプトファイルが見つかります。 exe-name.shこのスクリプト ファイルを使用してアプリケーションを実行できます。

  1. 従来のJavaコマンドでプログラムを実行する

vlxjre/bin/java を使用してプログラムを手動で実行することもできます。このコマンドの形式は通常の java コマンドと同じです。

出力ディレクトリには、カスタマイズされた JRE である vlxjre という名前のフォルダーがあり、暗号化された jar ファイルは vlxlib フォルダーに保存されます。

vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass

Java 8は現在、vlxjre/bin/java -jar経由での実行をサポートしていません。vlxjre/bin/java -cp xx MainClassを使用してください。

お知らせ

このプログラムのターゲットプラットフォームがmacOSまたはLinuxであるが、Windowsでビルドされている場合は、 add-executable-permission.sh 最初の起動前にプログラムに実行権限を付与するためのターゲット プラットフォーム上。

exeファイルのJVMパラメータを変更する

ウィンドウズ

exeファイルのJVMパラメータを変更する必要がある場合は、編集します。 exe-name.json JArgs 配列の値を変更します。

"JArgs": [
  "-DParam1=value1",
  "-DParam2=value2"
]

LinuxとmacOS

スクリプト ファイルを開いて、JVM パラメータを追加または変更するだけです。

CLI ツールを使用して JavaSE アプリケーションを暗号化します。

設定ファイル

CLI ツールでは、タスク ファイルをパラメータとして指定する必要があります。

に行く protector4j/task-templates フォルダ、検索 java-task.yml、コピーして 1 つを変更します。

# Available values: 8,11,17,21
javaVersion: 17

# The jar files that need to be encrypted
jarFiles: []
# Only encrypt the jar files, do not deploy the runtime
# This option is used while upgrading an existing application
onlyEncryptJarFiles: false

## [ Executable file information ]
# The executable file name
exeFileName: ''
# Hide command line window, only valid for Windows
hideConsole: false
# The main class of this Java Application
mainClass: ''
# The splash image
splash: ''
# JVM Options
jvmOptions: []

## [ Output Options ]
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
# Whether this is a JavaFX application
includeJavaFX: false
# Whether this a swt gui application
swtApplication: false
# Fixed key seed, only avaiable for licensed user
# Jars encrypted in different tasks can be used together with same key seed
keySeed: ''
# The target platforms
# available values: [win, linux, mac] or empty for current platform
platforms: []

暗号化タスクを実行します。

Protector4J フォルダーに移動し、次のコマンドを実行します。

LinuxまたはmacOS

macOSユーザーの場合、CLIツールは次の場所にあります。 /Applictions/Protector4J.app/Contents/protector4j-mac

./p4j -t java -f path-of-task-file

ウィンドウズ

p4j -t java -f path-of-task-file

実行できます p4j --help 詳細なパラメータを表示します。

アカウント情報で実行

./p4j -t java -f path-of-task-file -u email -p password

結果を見る

暗号化タスクが完了したら、出力フォルダーに移動して結果を確認してください。

暗号化されたアプリケーションを実行する

暗号化されたアプリケーションを実行するには3つの方法があります

  1. exeファイルで実行

ターゲット プラットフォームが Windows の場合、暗号化タスクによって生成された実行可能ファイルを使用して、暗号化されたアプリケーションを実行できます。

  1. スクリプトで実行

対象プラットフォームがLinuxまたはmacOSの場合、次の名前のスクリプトファイルが見つかります。 exe-name.shこのスクリプト ファイルを使用してアプリケーションを実行できます。

  1. 従来のJavaコマンドでプログラムを実行する

vlxjre/bin/java を使用してプログラムを手動で実行することもできます。このコマンドの形式は通常の java コマンドと同じです。

出力ディレクトリには、カスタマイズされた JRE である vlxjre という名前のフォルダーがあり、暗号化された jar ファイルは vlxlib フォルダーに保存されます。

vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass

Java 8は現在、vlxjre/bin/java -jar経由での実行をサポートしていません。vlxjre/bin/java -cp xx MainClassを使用してください。

お知らせ

このプログラムのターゲットプラットフォームがmacOSまたはLinuxであるが、Windowsでビルドされている場合は、 add-executable-permission.sh 最初の起動前にプログラムに実行権限を付与するためのターゲット プラットフォーム上。