JAVA经混淆后的class用jd-gui查看大都是乱码,请问大神有没办法还原他原来的结构代码
import javax.crypto.Cipher;
import org.apache.log4j.Logger;
public class k
{
private static Logger a;
private static Cipher b;
private static Cipher c;
static byte[] d;
static int e;
private static k f;
private static final String[] z;
public static k a()
{
if (!b.c) if (f == null)
{
f = new k();
}
return f;
}
// ERROR //
public void b()
{
// Byte code:
// 0: getstatic 14 com/hintsoft/util/encoding/k:a Lorg/apache/log4j/Logger;
// 3: getstatic 168 com/hintsoft/util/encoding/b:c Z
// 6: ifne +20 -> 26
// 9: invokevirtual 15 org/apache/log4j/Logger:isDebugEnabled ()Z
// 12: ifeq +23 -> 35
// 15: goto +4 -> 19
// 18: athrow
// 19: getstatic 14 com/hintsoft/util/encoding/k:a Lorg/apache/log4j/Logger;
// 22: goto +4 -> 26
// 25: athrow
// 26: getstatic 178 com/hintsoft/util/encoding/k:z [Ljava/lang/String;
// 29: bipush 7
// 31: aaload
// 32: invokevirtual 16 org/apache/log4j/Logger:debug (Ljava/lang/Object;)V
// 35: getstatic 178 com/hintsoft/util/encoding/k:z [Ljava/lang/String;
// 38: iconst_5
// 39: aaload
// 40: astore_1
// 41: new 17 javax/crypto/spec/PBEKeySpec
.....................
static
{
String[] tmp5_2 = new String[12]; jsr 104; tmp5_2[0] = "i\022E%";
String[] tmp13_5 = tmp5_2; jsr 96; tmp13_5[1] = "X#p=kY";
String[] tmp21_13 = tmp13_5; jsr 88; tmp21_13[2] = "U(ji'\025f9=jN4lo!";
String[] tmp29_21 = tmp21_13; jsr 80; tmp29_21[3] = "U(ji'\025f9=jN4lo!";
String[] tmp37_29 = tmp29_21; jsr 72; tmp37_29[4] = "U(ji'\025f9=jN4lo!";
String[] tmp45_37 = tmp37_29; jsr 64; tmp45_37[5] = "Mw\"/O\017etx1k'`X \022\027/\"3^";
String[] tmp53_45 = tmp45_37; jsr 55; tmp53_45[6] = "l\004FJfH.NY:}(gYJo";
String[] tmp62_53 = tmp53_45; jsr 46; tmp62_53[7] = "X#p=fR/w";
String[] tmp71_62 = tmp62_53; jsr 37; tmp71_62[8] = "U(ji'\025f9=jN4lo!";
String[] tmp80_71 = tmp71_62; jsr 28; tmp80_71[9] = "U(ji'\025f9=jN4lo!";
String[] tmp89_80 = tmp80_71; jsr 19; tmp89_80[10] = "i\022E%";
String[] tmp98_89 = tmp89_80; jsr 10; tmp98_89[11] = "X#p=jR"; z = tmp98_89; break label212; localObject = returnAddress;
}
}