Topic: 谁给介绍一款好的混淆器,最好要能在ant中使用的,谢谢

  Print this page

1.谁给介绍一款好的混淆器,最好要能在ant中使用的,谢谢 Copy to clipboard
Posted by: worldcreatxr
Posted on: 2004-07-06 10:09

谁给介绍一款好的混淆器,最好要能在ant中使用的,谢谢
我在sourceforge上找着了一款
  <target name="obfuscate" depends="jar">
    <taskdef name="proguard" classname="proguard.ant.ProGuardTask" classpath="${required.lib}/proguard.jar" description="sourceforge.net" />
    <!--obfuscate configuration="obfuscateConfigFile.pro" /-->
    <proguard printseeds="on">
      <libraryjar refid="required.lib.set" />
      <libraryjar name="${java.home}/lib/rt.jar" />
      <keep type="interface" />
      <injar>
        <fileset dir="${build.lib}">
          <include name="*.jar" />
        </fileset>
      </injar>
      <outjar name="${reports.tests}" />
    </proguard>
  </target>
=============================================

可是在nmi的反编译下无所遁形
以下是混淆后的反编译结果
// NMI's Java Code Viewer 6.0a
// www.trinnion.com/javacodeviewer

// Registered to root - Enterprise License
// Generated PGFZ6~ F_TB 06 2004 10:02:26

ckage creatxr.demos.simple.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.apache.log4j.Logger;

public class HelloWorld extends HttpServlet {

private static final Logger a;

public HelloWorld() {
}

protected void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException, IOException {
doPost(httpservletrequest, httpservletresponse);
}

protected void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException, IOException {
httpservletresponse.setContentType("text/html; charset=UTF-8");
HttpSession httpsession = httpservletrequest.getSession();
String s = httpservletrequest.getParameter("username");
String s1 = httpservletrequest.getParameter("userpass");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html><head><title> Servlet Example </title></head><body>");
if(s.equals(s1)) {
printwriter.println("Hello World Servlet");
httpsession.setAttribute("username", s);
httpsession.setAttribute("userpass", s1);
} else {
a.info(httpservletrequest.getRemoteAddr() + " " + s);
printwriter.println("username <> userpass");
}
printwriter.println("</body></html>");
}

static Class a(String s) {
return Class.forNameMoon;
ClassNotFoundException classnotfoundexception;
classnotfoundexception;
throw new NoClassDefFoundError(classnotfoundexception.getMessage());
}

static {
a = Logger.getLogger(creatxr.demos.simple.servlet.HelloWorld.class);
}
}
============================================

以下是没混淆的反编译结果
// NMI's Java Code Viewer 6.0a
// www.trinnion.com/javacodeviewer

// Registered to root - Enterprise License
// Generated PGFZ6~ F_TB 06 2004 10:13:23

ckage creatxr.demos.simple.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.apache.log4j.Logger;

public class HelloWorld extends HttpServlet {

private static final Logger log;

public HelloWorld() {
}

protected void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException, IOException {
doPost(httpservletrequest, httpservletresponse);
}

protected void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException, IOException {
httpservletresponse.setContentType("text/html; charset=UTF-8");
HttpSession httpsession = httpservletrequest.getSession();
String s = httpservletrequest.getParameter("username");
String s1 = httpservletrequest.getParameter("userpass");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html><head><title> Servlet Example </title></head><body>");
if(s.equals(s1)) {
printwriter.println("Hello World Servlet");
httpsession.setAttribute("username", s);
httpsession.setAttribute("userpass", s1);
} else {
log.info(httpservletrequest.getRemoteAddr() + " " + s);
printwriter.println("username <> userpass");
}
printwriter.println("</body></html>");
}

static Class _mthclass$(String s) {
return Class.forNameMoon;
ClassNotFoundException classnotfoundexception;
classnotfoundexception;
throw new NoClassDefFoundError(classnotfoundexception.getMessage());
}

static {
log = Logger.getLogger(creatxr.demos.simple.servlet.HelloWorld.class);
}
}

2.Re:谁给介绍一款好的混淆器,最好要能在ant中使用的,谢谢 [Re: worldcreatxr] Copy to clipboard
Posted by: enhydra
Posted on: 2004-07-06 13:51

我用过ZKM,还不错.
但是现在是收费的,虽然价格不太高, 公司买肯定没有问题.

Free的 Obfuscator, 效果都不太好.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923