Protector4J는 어떻게 작동합니까?
현재 Java 코드 보호 솔루션의 문제점
Protector4J의 작동 방식을 이해하기 전에 먼저 다른 Java 코드 보호 솔루션에 존재하는 문제를 알아보겠습니다.
코드 난독화
JVM 바이트코드의 높은 의미론적 특성으로 인해 분석하고 읽기가 매우 쉽습니다. 동적 디버깅을 사용하면 실행 논리를 쉽게 분석할 수 있으므로 난독화는 안정적인 보호 솔루션이 아닙니다.
자세한 내용은 다음 기사를 참조하십시오: https://protector4j.com/articles/the-issues-of-code-obfuscation/
클래스 파일 암호화
JVM 연결 메커니즘이 존재하기 때문에 일반 JRE에서 분리되지 않은 소위 암호화된 코드는 모두 연결 도구를 통해 쉽게 얻을 수 있습니다. 따라서 이는 가장 비효율적인 보호 솔루션입니다.
자세한 내용은 다음 기사를 참조하십시오: https://protector4j.com/articles/the-issues-of-class-encryption/
VMP 보호
가상화 보호는 가장 안전한 코드 보호 형태이지만 성능에 심각한 영향을 미치기 때문에 프로그램의 중요한 코드에만 적용할 수 있습니다. 다른 코드는 여전히 노출 위험에 노출되어 있습니다. 크래커는 코드의 다른 부분을 표적으로 삼아 가상화된 코드의 기능 정보를 얻을 수 있습니다.
구체적인 세부 사항은 기사를 참조하십시오: https://protector4j.com/articles/the-issues-of-vm-protection/
AOT 컴파일
AOT 컴파일의 구성 및 컴파일은 매우 어렵고 컴파일 실패 확률이 높습니다. 컴파일이 성공하더라도 코드 로직은 바이트코드 표현에서 기계어 표현으로만 변환될 뿐이며, 그 고유의 로직은 특별한 보호 없이 여전히 존재합니다. 컴파일 및 실행 메커니즘을 이해할 수 있다면 읽기 가능한 코드를 여전히 리버스 엔지니어링할 수 있습니다.
자세한 내용은 다음 기사를 참조하십시오: https://protector4j.com/articles/the-issues-of-aot-protection/
Protector4J는 어떻게 작동합니까?
우리는 개인 압축 패키지 형식을 정의했습니다: JARX
Java 코드를 보호하기 위해 JARX라는 비공개 압축 문서 형식을 만들고 이를 JVM 런타임에 통합했습니다. Protector4J에서 처리된 JAR 파일은 JARX 형식으로 변환됩니다.
우리는 JVM에 깊은 맞춤 및 수정을했습니다.
JVM에 대한 심층적인 연구를 통해 JVM을 심층적으로 사용자 정의하고 수정했습니다. 우리는 모든 추가 메커니즘을 제거하고 바이너리 보안 수준에서 많은 강화 및 최적화를 적용했습니다. 이렇게 하면 크래커가 기존 방법을 사용하여 클래스 정보를 내보내는 것을 방지할 수 있습니다. 우리는 현재의 강점으로 인해 Protector4J가 보호하는 암호화된 애플리케이션은 높은 보안 수준을 가지고 있다고 믿습니다. 그러나 균열과 균열 방지 사이의 싸움은 항상 지속적인 개선입니다. 우리는 애플리케이션의 보안을 지속적으로 강화하기 위해 암호화 및 보호 솔루션을 지속적으로 개선할 것입니다.