当前位置: 代码迷 >> Java相关 >> 求助从class反编译文件,一字未改再编译时提示错误有100多处,请教?
  详细解决方案

求助从class反编译文件,一字未改再编译时提示错误有100多处,请教?

热度:507   发布时间:2009-08-15 16:41:20.0
求助从class反编译文件,一字未改再编译时提示错误有100多处,请教?
环境参数已设置正常,我完全是按附件教程上讲的步步操作,到最后一步不行的。

// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad
// Decompiler options: packimports(3) fieldsfirst ansi space

package com.llv.crawl.util;

import com.llv.xiaonei.rongame.lIIlllIIIIIlIlll;
import java.io.PrintStream;
import java.net.URLEncoder;
import org.apache.commons.lang.StringUtils;

// Referenced classes of package com.llv.crawl.util:
//            lIlIIIIIllIlIlIl

public class IIIIlIllIlllIIIl
{

    private static final String _$4 = "http://code.google.com/p/ronhospital/source/browse/ronhospital/version.txt";
    private static final String _$3 = "<td class=\"source\">(*)<br>";
    private static final String _$2 = "http://ronhospital.";
    private static final String _$1 = ".net/check.asp";

    public IIIIlIllIlllIIIl()
    {
    }

    public static boolean _$3(String s)
    {
        int i;
        byte byte0;
        System.out.println("检查助手版本");
        i = 0;
        byte0 = 3;
_L2:
        if (i >= byte0)
            break; /* Loop/switch isn't completed */
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        "http://code.google.com/p/ronhospital/source/browse/ronhospital/version.txt";
        null;
        null;
        lIlIIIIIllIlIlIl();
        lIlIIIIIllIlIlIl liliiiiillililil;
        liliiiiillililil;
        String as1[];
        liliiiiillililil._$23();
        String as[] = StringUtils.splitByWholeSeparator("<td class=\"source\">(*)<br>", "(*)");
        as1 = StringUtils.substringsBetween(liliiiiillililil._$6(), as[0], as[1]);
        if (as1[0].equals(s))
        {
            System.out.println("当前已经是最新版本");
            break MISSING_BLOCK_LABEL_119;
        }
        System.out;
        JVM INSTR new #16  <Class StringBuilder>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        StringBuilder();
        "发现新版本:";
        append();
        as1[0];
        append();
        toString();
        println();
        System.out.println("请去http://hi.baidu.com/rongame下载新版本助手");
        return true;
        Exception exception;
        exception;
        i++;
        System.out;
        JVM INSTR new #16  <Class StringBuilder>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        StringBuilder();
        "网络连接失败,重试第";
        append();
        i;
        append();
        "次。";
        append();
        toString();
        println();
        try
        {
            Thread.sleep(2000L);
        }
        catch (Exception exception1) { }
        if (true) goto _L2; else goto _L1
_L1:
        return false;
    }

    public static boolean _$2(String s)
    {
        lIIlllIIIIIlIlll liillliiiiililll;
        int i;
        byte byte0;
        liillliiiiililll = lIIlllIIIIIlIlll._$15();
        System.out.println("\n正在验证您的账号");
        i = 0;
        byte0 = 3;
_L2:
        if (i >= byte0)
            break; /* Loop/switch isn't completed */
        String s1 = URLEncoder.encode(s, "gb2312");
        JVM INSTR new #16  <Class StringBuilder>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        StringBuilder();
        "email=";
        append();
        s1;
        append();
        toString();
        String s2;
        s2;
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        JVM INSTR new #16  <Class StringBuilder>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        StringBuilder();
        "http://ronhospital.";
        append();
        _$1(liillliiiiililll._$2().substring(4, 12));
        append();
        ".net/check.asp";
        append();
        toString();
        s2;
        null;
        lIlIIIIIllIlIlIl();
        lIlIIIIIllIlIlIl liliiiiillililil;
        liliiiiillililil;
        liliiiiillililil._$23();
        if (liliiiiillililil._$6().startsWith("通"))
            return true;
        if (liliiiiillililil._$6().startsWith("不"))
            return false;
        return false;
        Exception exception;
        exception;
        i++;
        System.out;
        JVM INSTR new #16  <Class StringBuilder>;
        JVM INSTR dup ;
        JVM INSTR swap ;
        StringBuilder();
        "验证失败,5秒后重试第";
        append();
        i;
        append();
        "次。";
        append();
        toString();
        println();
        try
        {
            Thread.sleep(5000L);
        }
        catch (Exception exception1) { }
        if (true) goto _L2; else goto _L1
_L1:
        System.out.println("网络连接超时,请稍后再试");
        return false;
    }

    public static String _$1(String s)
    {
        return s.substring(1, 7);
    }
}

[ 本帖最后由 emily66686 于 2009-8-15 16:47 编辑 ]
搜索更多相关的解决方案: 编译  

----------------解决方案--------------------------------------------------------
是否软件版本问题?

--------------------配置:            <--------------------
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:37: 需要 ';'
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:37: 非法字符: \35
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:37: 需要 >
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:37: 非法的表达式开始
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:37: 非法的表达式开始
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                                   ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:37: 不是语句
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:38: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:38: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:39: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:39: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:40: 不是语句
        "http://code.google.com/p/ronhospital/source/browse/ronhospital/version.txt";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:41: 不是语句
        null;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:42: 不是语句
        null;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:45: 不是语句
        liliiiiillililil;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:55: 不是语句
        System.out;
              ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:56: 需要 ';'
        JVM INSTR new #16  <Class StringBuilder>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:56: 非法字符: \35
        JVM INSTR new #16  <Class StringBuilder>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:56: 需要 >
        JVM INSTR new #16  <Class StringBuilder>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:56: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:56: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                                ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:56: 不是语句
        JVM INSTR new #16  <Class StringBuilder>;
                                               ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:57: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:57: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:58: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:58: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:60: 不是语句
        "发现新版本:";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:62: 不是语句
        as1[0];
           ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:69: 不是语句
        exception;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:71: 不是语句
        System.out;
              ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:72: 需要 ';'
        JVM INSTR new #16  <Class StringBuilder>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:72: 非法字符: \35
        JVM INSTR new #16  <Class StringBuilder>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:72: 需要 >
        JVM INSTR new #16  <Class StringBuilder>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:72: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:72: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                                ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:72: 不是语句
        JVM INSTR new #16  <Class StringBuilder>;
                                               ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:73: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:73: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:74: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:74: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:76: 不是语句
        "网络连接失败,重试第";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:78: 不是语句
        i;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:80: 不是语句
        "次。";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:89: 非法的表达式开始
        if (true) goto _L2; else goto _L1
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:89: 不是语句
        if (true) goto _L2; else goto _L1
                       ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:89: "else" 不带有 "if"
        if (true) goto _L2; else goto _L1
                            ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:89: 非法的表达式开始
        if (true) goto _L2; else goto _L1
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:89: 需要 ';'
        if (true) goto _L2; else goto _L1
                                         ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:107: 需要 ';'
        JVM INSTR new #16  <Class StringBuilder>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:107: 非法字符: \35
        JVM INSTR new #16  <Class StringBuilder>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:107: 需要 >
        JVM INSTR new #16  <Class StringBuilder>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:107: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:107: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                                ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:107: 不是语句
        JVM INSTR new #16  <Class StringBuilder>;
                                               ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:108: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:108: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:109: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:109: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:111: 不是语句
        "email=";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:113: 不是语句
        s1;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:117: 不是语句
        s2;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:118: 需要 ';'
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:118: 非法字符: \35
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:118: 需要 >
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:118: 非法的表达式开始
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:118: 非法的表达式开始
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                                   ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:118: 不是语句
        JVM INSTR new #5   <Class lIlIIIIIllIlIlIl>;
                                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:119: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:119: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:120: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:120: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:121: 需要 ';'
        JVM INSTR new #16  <Class StringBuilder>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:121: 非法字符: \35
        JVM INSTR new #16  <Class StringBuilder>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:121: 需要 >
        JVM INSTR new #16  <Class StringBuilder>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:121: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:121: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                                ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:121: 不是语句
        JVM INSTR new #16  <Class StringBuilder>;
                                               ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:122: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:122: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:123: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:123: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:125: 不是语句
        "http://ronhospital.";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:129: 不是语句
        ".net/check.asp";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:132: 不是语句
        s2;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:133: 不是语句
        null;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:136: 不是语句
        liliiiiillililil;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:144: 不是语句
        exception;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:146: 不是语句
        System.out;
              ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:147: 需要 ';'
        JVM INSTR new #16  <Class StringBuilder>;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:147: 非法字符: \35
        JVM INSTR new #16  <Class StringBuilder>;
                      ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:147: 需要 >
        JVM INSTR new #16  <Class StringBuilder>;
                                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:147: 非法的表达式开始
        JVM INSTR new #16  <Class StringBuilder>;
                                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:147: 非法的表达式开?
        JVM INSTR new #16  <Class StringBuilder>;
                                                ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:147: 不是语句
        JVM INSTR new #16  <Class StringBuilder>;
                                               ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:148: 需要 ';'
        JVM INSTR dup ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:148: 不是语句
        JVM INSTR dup ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:149: 需要 ';'
        JVM INSTR swap ;
                 ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:149: 不是语句
        JVM INSTR swap ;
                  ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:151: 不是语句
        "验证失败,5秒后重试第";
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:153: 不是语句
        i;
        ^
C:\~rongame.jar\com\llv\crawl\util\IIIIlIllIlllIIIl.java:155: 不是语句
        "次。";
        ^
100 错误

处理已完成。
----------------解决方案--------------------------------------------------------
很显然,jar被加密过了,一看到那种III啊AAAA啊,肯定是加密过的,难以反编译回来

----------------解决方案--------------------------------------------------------
一般商业的东西都通过代码混淆过的,防止他人反编译窃取代码
----------------解决方案--------------------------------------------------------
  相关解决方案