
난독화 자바스크립트
JavaScript는 클라이언트에서 실행되는 스크립팅 언어이므로 소스 코드는 그대로 노출됩니다. 물론 자바스크립트까지 난독화할 필요는 없지만 중요한 기능이라면 난독화 기능으로 배포하는 것이 좋다.
- 자바스크립트 난독화 사이트
– http://dean.edwards.name/packer/
/포장 기계/
저작권 © 2004-2023 딘 에드워즈. 판권 소유.
학장.edwards.name
자바스크립트 난독화 도구
이게 뭔가요? 이 도구는 원본 JavaScript 소스 코드를 승인 없이 이해, 복사, 재사용 및 수정하기 어려운 새로운 표현으로 변환합니다. 난독화된 결과는 원래 코드의 정확한 기능을 갖게 됩니다. 어떻게
obfuscator.io
– https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
Javascript Obfuscator – JavaScript 코드가 도용되지 않도록 보호하고 크기를 줄입니다.
javascriptobfuscator.com

자바 코드 난독화
– 자바 프로그램은 디컴파일, 디스어셈블이 가능하기 때문에 코드 난독화가 필요하다.
Hello.java => Hello..class
Hello.class => Hello.java 분해(분해)
– Proguard: 대표적인 자바 난독화 라이브러리
https://sourceforge.net/projects/proguard/files/
ProGuard Java Optimizer 및 Obfuscator – SourceForge.net에서 파일 찾아보기
새로운 작업 방식을 위해 구축된 플랫폼 나만의 방식으로 워크플로를 구성할 수 있는 Work OS
sourceforge.net
– 변수명과 메서드명을 읽기 어렵게 변경
– 난독화를 해도 역컴파일 방지가 근본적으로 어려움
– Spring 프로젝트보다는 Java 프로젝트에 적합 (war 파일이 아닌 jar 파일로 내보내기에 적합, 주석 및 xml 설정에 난독화 적용 어려움)
간단한 예제 코드를 통해 알아보겠습니다.
예제 코드
예제 코드로 자바스크립트 코드로 진행합니다.
여기서 주의할 점은 ${경로} 값을 정확한 경로 값으로 변경하여 난독화해야 합니다.
내 길은 봄/상점/제품 때문에 ${경로} 값에 대한 경로 봄안돼.
if(confirm("삭제하시겠습니까?")){
document.form1.action="${path}/shop/product/delete.do";
document.form1.submit();
}
위에 나열된 난독화된 사이트 중 하나로 이동하여 코드를 업로드합니다. 난독화 버튼을 클릭 산출여기에 난독화된 코드가 있습니다.

난독화된 코드를 복사하여 사용할 수 있습니다.

결론
오늘은 코드 난독화에 대해 포스팅했습니다.
솔직히 아직도 난독화가 필요합니까? 나는 충분히 심각한 일을 한 적이 없습니다
별로 감동적이진 않지만 혹시 모르실까봐 알아두시면 좋을 것 같아요..^^