我用反编译工具将.class文件反编译后有一个函数中的代码如下:
public String toString()
{
String s;
if(_items == 0 || _v == null)
return super.toString();
s = new String();
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
"(";
append();
toString();
s;
int i = 0;
goto _L1
_L3:
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
_v[i].toString();
append();
toString();
s;
if(i == _items - 1)
continue; /* Loop/switch isn't completed */
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
",";
append();
toString();
s;
i++;
_L1:
if(i < _items) goto _L3; else goto _L2
_L2:
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
")";
append();
toString();
s;
return s;
}
显然是不正确的,我试验了好几个反编译工具,这个函数反编译出来的都是这样。
请各位大哥出个主意。谢谢了!
分不够可以另开贴子给!
public String toString()
{
String s;
if(_items == 0 || _v == null)
return super.toString();
s = new String();
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
"(";
append();
toString();
s;
int i = 0;
goto _L1
_L3:
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
_v[i].toString();
append();
toString();
s;
if(i == _items - 1)
continue; /* Loop/switch isn't completed */
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
",";
append();
toString();
s;
i++;
_L1:
if(i < _items) goto _L3; else goto _L2
_L2:
s;
JVM INSTR new #53 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
")";
append();
toString();
s;
return s;
}
显然是不正确的,我试验了好几个反编译工具,这个函数反编译出来的都是这样。
请各位大哥出个主意。谢谢了!
分不够可以另开贴子给!
否则从成本上说是不划算的。
但上面的让我怎么猜呀,没头没尾的!
谁有反编译经验,告诉我上面的代码是什么意思?
如果是高级混淆,我想其他的函数反编译出来的也应该有问题。这个.class文件中还有其他很多函数比这函数要复杂的多,那些函数都没有问题。
我是准备要放弃,但有点不甘心。因为这个反编译工作多我来说很重要。这个库已经没有了,买也买不着!我只能反编译然后自己修改代码。否则我的工作就只能搁置了。
if(_items == 0 || _v == null)
return super.toString(); String s = "(";
for (int i=0; i<_items; i++) {
s += _v[i];
if (i != _items-1)
s += ",";
}
s += ")";
return s;
}
maquan('ma:kju)你真是个天才!
我服了你!