Ant with proguard obfuscate tool

프로그램을 개발하다보면, 개인일 경우에는 상관이 없지만, 회사에서 회사로 상용으로 제공하는 컴포넌트나 라이브러리 같은 경우에는 최소한의 코드 보안은 필수입니다.

특히나 java의 경우에는 decompile이 잘 되는 구조이기 때문에, obfuscate는 꼭 필요하지는 않지만, 사용할 필요가 있습니다.

obfuscate 툴은 상용 버전들과 오픈소스 버전들이 있는데..
아래의 예제는 오픈소스인 proguard를 프로젝트 빌드파일인 build.xml에서 쉽게 사용하고 있는 예제입니다.

<taskdef=”proguard” classname=”proguard.ant.ProGuardTask” classpath=”${lib-ext}/proguard.jar” />
<task name=”dist-with-obfuscate” depends=”compile” >
  <proguard>
        -libraryjars ${java.home}/lib/rt.jar <– java library
        -injars maked-jar.jar  <– jar task로 만들어진 원본 jar 파일
        -outjar maked.jar <– 만들어질 jar 파일
        -keep class net.sjava.obfuscate.TestMain { public *; } <– main 클래스의 public은 예외
        -verbose <– 과정을 화면에 뿌림
  </proguard>
</task>

더 자세한 내용은 http://proguard.sourceforge.net/manual/examples.html 에서 참고를 하세요.. ^^

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.