Spring Boot 애플리케이션 보호하기

시작하기 비디오

▶️ 유튜브

▶️ Bilibili

다운로드

방문https://protector4j.com/download최신 버전을 다운로드하려면

설치

윈도우와 리눅스

특별한 설치 단계는 없으며, 아카이브를 다운로드하고 추출하기만 하면 됩니다.

맥 OS

dmg 파일을 다운로드하고 Protector4J를 드래그하세요Applications. 이 도구의 실제 내용은/Applications/Protector4J.app/Contents/protector4j-mac

GUI 도구를 사용하여 Spring Boot 애플리케이션을 암호화하세요

Protector4J 폴더로 이동하여 실행하세요p4j-ui[.exe]을 클릭하면 다음과 같은 사용자 인터페이스가 표시됩니다.

macOS 사용자의 경우 일반 Mac 애플리케이션처럼 Protector4J.app을 두 번 클릭하기만 하면 됩니다.

로그인

이미 라이선스를 구매하신 경우, 우측 상단의 로그인 버튼을 클릭하신 후, 사용자 정보를 입력해 주세요. 라이센스가 없더라도 이 도구를 사용해 볼 수 있습니다.

애플리케이션 유형 선택

애플리케이션 유형 페이지에서 "Spring Boot Application" 버튼을 클릭합니다.

암호화해야하는 jar/war 파일을 선택하세요

암호화하려는 jar/war 파일을 선택하십시오. 하나 또는 여러 파일을 선택할 수 있습니다.

옵션

jar 파일만 암호화

전체 jre를 배포하지 않고 jar 파일만 암호화합니다. 이 옵션은 일반적으로 기존 프로그램을 업데이트하기 위해 KeySeed 기능과 함께 사용됩니다.

실행 가능한 파일 생성

애플리케이션을 시작하기 위한 실행 파일을 생성하세요. .exe 확장자를 추가하지 마세요.

숨겨진 콘솔

이 옵션은 Windows의 GUI 프로그램에만 유효하며 프로그램 실행 중에 명령줄 창을 숨기는 데 사용됩니다.

JVM 옵션

-Xmx 및 -Xms와 같은 JVM 옵션을 공백이나 줄 바꿈으로 구분하여 설정합니다.

출력

자바 버전 선택

Java 8, Java 11, Java 17 및 Java 21을 지원하는 Java 버전을 선택하세요

새 폴더 만들기

기본값이 선택되면 암호화 작업은 출력 폴더에 p4j-[task-id]라는 파일을 생성합니다. 출력 결과는 이 폴더에 저장됩니다.

JavaFX를 포함하여

JavaFX 애플리케이션이라면이 옵션을 선택하십시오

SWT 애플리케이션

SWT 애플리케이션인 경우 이 옵션을 선택하세요.

KeySeed

암호화 작업은 기본적으로 암호화를 위해 서버에서 임의의 키를 요청합니다. 서로 다른 암호화 작업에서 생성된 파일은 함께 사용할 수 없습니다. KeySeed를 지정하면 동일한 KeySeed가 동일한 암호화 키를 생성합니다. 이 옵션은 이전 "Jar 파일만 암호화" 옵션과 함께 사용하여 기존 애플리케이션을 업데이트할 수 있습니다. 이 옵션은 라이센스가 있는 사용자에게만 유효합니다.

암호화 작업 실행

잠시 기다려 주세요. 암호화 작업이 완료된 후 출력 폴더에서 암호화된 애플리케이션의 출력 결과를 확인할 수 있습니다.

암호화된 애플리케이션 실행

암호화된 애플리케이션을 실행하는 세 가지 방법이 있습니다.

  1. exe 파일로 실행

대상 플랫폼이 Window인 경우 암호화 작업 중 생성된 실행 파일로 암호화된 애플리케이션을 실행할 수 있습니다.

  1. 스크립트로 실행

대상 플랫폼이 Linux 또는 macOS인 경우, 이름이있는 스크립트 파일을 찾을 수 있습니다.exe-name.sh, 이 스크립트 파일을 사용하여 애플리케이션을 실행할 수 있습니다.

  1. 전통적인 자바 명령으로 프로그램 실행하기

vlxjre/bin/java를 사용하여 프로그램을 수동으로 실행할 수도 있습니다. 이 명령의 형식은 일반 java 명령과 동일합니다.

출력 디렉터리에서 vlxjre라는 폴더를 볼 수 있습니다. 이는 사용자 정의된 JRE이며, 암호화된 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"
]

리눅스와 macOS

스크립트 파일을 열고 JVM 매개변수를 추가하거나 수정하기만 하면 됩니다.

CLI 도구를 사용하여 Spring Boot 애플리케이션을 암호화합니다.

구성 파일

CLI 도구는 작업 파일을 매개변수로 지정해야 합니다.

가서protector4j/task-templates폴더에서 찾기spring-boot-task.yml, 하나를 복사하고 수정하세요.

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

# The jar file of spring boot application
springBootJarFile: ''
# 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 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, keep it empty for current plaform,
# available values: [win, linux, mac]
platforms: []

## [ Windows exe file information (Optional and only valid for Windows) ]
icon: ''
productName: ''
productVersion: ''
fileVersion: ''
fileDescription: ''
companyName: ''
legalCopyright: ''

암호화 작업을 실행합니다.

Protector4J 폴더로 이동하여 다음 명령을 실행하십시오.

리눅스 또는 macOS

macOS 사용자는 CLI 도구를 다음 위치에서 찾을 수 있습니다./Applictions/Protector4J.app/Contents/protector4j-mac.

./p4j -t spring-boot -f path-of-task-file

윈도우

p4j -t spring-boot -f path-of-task-file

당신은 실행할 수 있습니다p4j --help 자세한 매개변수를 보려면

계정 정보로 실행

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

결과 보기

암호화 작업이 완료된 후 출력 폴더로 이동하여 결과를 확인하세요.

암호화된 애플리케이션 실행

암호화된 애플리케이션을 실행하는 세 가지 방법이 있습니다.

  1. exe 파일로 실행

대상 플랫폼이 Window인 경우 암호화 작업으로 생성된 실행 파일로 암호화된 애플리케이션을 실행할 수 있습니다.

  1. 스크립트로 실행

대상 플랫폼이 Linux 또는 macOS인 경우, 이름이있는 스크립트 파일을 찾을 수 있습니다.exe-name.sh, 이 스크립트 파일을 사용하여 애플리케이션을 실행할 수 있습니다.

  1. 전통적인 자바 명령으로 프로그램 실행하기

vlxjre/bin/java를 사용하여 프로그램을 수동으로 실행할 수도 있습니다. 이 명령의 형식은 일반 java 명령과 동일합니다.

출력 디렉터리에서 vlxjre라는 폴더를 볼 수 있습니다. 이는 사용자 정의된 JRE이며, 암호화된 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 처음 시작하기 전에 프로그램에 실행 권한을 부여하기 위해 대상 플랫폼에서.