2011-03-15 6 views
2

메신저 proguard를 사용하고 내 코드를 숨기고 .. id가 작동하는 것처럼 보입니다 ... '반'. 난 그냥 디코딩하고, 일을 할, 그리고 음부는 JAD 보이지 않습니다되지 원하는 .. Proguard를 .jar에 적용하고 개인적인 방법을 숨기는 방법?

는 여기 여기 내 .PRO 데이터 내 자바 코드

package kr.pkgcls; 

public class sums { 
    private int margin; 
    private int resVal; 
    public sums(){ 
     margin = 10; 
     resVal = 0; 
    } 
    public sums(int a){ 
     margin = a; 
     resVal = 0; 
    } 
    private void eval_internal(){ 
     margin++; 
     for(int i = 0; i<margin; i++){ 
      resVal += i; 
     } 
    } 
    public int eval(){ 
     //error!! when use "return eval_internal()", it exposes.. 
     eval_internal(); 
     return resVal; 
    } 
} 

그리고

#input file 
-injars sumslib.jar 
#output file 
-outjars sumslib2.jar 
#lib 
-libraryjars <java.home>/lib/rt.jar 
#basic ignores 
-dontoptimize 
-dontshrink 
-dontusemixedcaseclassnames 
-target 1.6 
-verbose 
-keep public class kr.pkgcls.**{ 
    public protected *; 
} 
#-dontskipnonpubliclibraryclasses 
#below makes error 
#-keepparameternames 
#-keepclasseswithmembernames public class *{ 
# public void sums(); 
# public void sums(int); 
# public int eval(); 
#} 
#-keepclasseswithmembernames class kr.pkgcls.**{ 
# public **(***); 
#} 
#keepclasseswithmembernames public class *{ 
#} 
#external file name input 
-obfuscationdictionary dic.txt 
-classobfuscationdictionary dic.txt 
-packageobfuscationdictionary dic.txt 

그리고 여기 내 자드 출력입니다. 음부가 다른 방법 이름에 수정으로 다른 사람이없는 동안

// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. 
// Jad home page: http://www.kpdus.com/jad.html 
// Decompiler options: packimports(3) radix(10) lradix(10) 

package kr.pkgcls; 


public class sums 
{ 

    public sums() 
    { 
     i = 10; 
     l = 0; 
    } 

    public sums(int j) 
    { 
     i = j; 
     l = 0; 
    } 

    private void i() 
    { 
     i++; 
     for(int j = 0; j < i; j++) 
      l += j; 

    } 

    public int eval() 
    { 
     i(); 
     return l; 
    } 

    private int i; 
    private int l; 
} 

는 작동하는 것, 하지만 IT가 디코딩! 내 .pro 옵션에 문제가 있습니까? 또는 ..이 코드는 매우 간단하기 때문에 그렇습니까?

도움이 나를 밖으로 사람 - <

+0

미안하지만 못생긴 들여 쓰기 ... 초보자들 여기 ^^ – minimanimo

답변

1

모든 것이 예상대로 작동합니다 Proguard는 코드를 "숨길"수 없습니다. 이해하기가 더 어려워 질뿐입니다.

그건 : 그런 도구에 시간과 돈을 낭비하지 마라. 1. 헌신적 인 사람들을 멈추지 않을 것입니다. 2. 지식의 일부만이 코드에 있습니다. 누군가가 "훔치려"할 때 (아이디어를 "훔치는"방법은 아이디어가 확산 될 때만 커집니다.) 코드는 모든 지식이있는 동안 처음부터 다시 시작해야합니다. 예를 들어 기능을 추가하거나 새 제품을 빌드하는 데 시간이 더 많이 걸립니다.

의심스러운 작품처럼 보이는 제품을 발견했다면 저작권 침해로 법원에서 고소 할 수 있습니다. 코드가 귀하의 것이라면 그 사실을 입증 할 수 있습니다. 그것을 증명할 수 없다면, 난독 화는 쓸모 없습니다.

에 도구를 사용하면이 없으므로 실제 가치를 제공하지 않습니다.

+1

진심으로 감사드립니다. 대신 JNI를 사용하는 것이 좋습니다. 고맙습니다 Digulla. – minimanimo

관련 문제