JAVA编译后的CLass是很容易被反编译的,网上这类工具也比较多。这里是用了DJ Java Decompiler工具。一般没有被混淆过的JAVA代码反编译后基本上都能正常阅读,也有少部分是工具无法完整反编译出来,会带一些JVM语言和label等。如果被混淆过的JAVA代码反编译后前面的情况会出现的更多一些,同时还会把私有变量、方法、类的名称混淆成不方便阅读。这里就记录一下反编译时常见的一些形式。
一、最常见是new一个对象赋给一个变量
JVM INSTR new #2 <Class ArrayList>;
JVM INSTR dup ;
JVM INSTR swap ;
ArrayList();
List tobeRemove;
tobeRemove;
转化后代码为:
List tobeRemove=new ArrayList();
从上面反编译出来的代码可以看出JAVA里面new一个对象的过程。
二、比较复杂的对象创建语句
JVM INSTR new #48 <Class Area>;
JVM INSTR dup ;
JVM INSTR swap ;
JVM INSTR new #49 <Class java.awt.geom.RoundRectangle2D$Float>;
JVM INSTR dup ;
JVM INSTR swap ;
0.0F;
0.0F;
(float)(getWidth() - 1);
(float)(getHeight() - 10);
10F;
10F;
java.awt.geom.RoundRectangle2D.Float();
Area();
Area area;
area;
转化后为:
Area area=new Area(new java.awt.geom.RoundRectangle2D.Float(0.0F,0.0F,(float)(getWidth() - 1),(float)(getHeight() - 10),10F,10F));
三、同步代码
HashMap hashmap = tasks;
JVM INSTR monitorenter ;
if(tasks.remove(new Integer(iTaskID)) == null)
return false;
hashmap;
JVM INSTR monitorexit ;
return false;
hashmap;
JVM INSTR monitorexit ;
throw ;
转化后为:
synchronized (tasks) {
if(tasks.remove(new Integer(iTaskID)) == null){
return false;
}else{
return true;
}
}
分享到:
相关推荐
JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA...
java反编译 java 反编译 java反编译 java 反编译 java反编译 java 反编译 java反编译 java 反编译 java反编译 java 反编译
JAVA反编译 JAVA反编译JAVA反编译
JAVA反编译插件文件
1.java反编译工具 2.绿色版占用内存少 3.好用,值得下载
jad 是应用最广泛的java 反编译工具;其本身是命令行工具;其他很多用具是在jad内核的基础上加了一个图形界面;比如我上传的资源、Cavaj Java Decompiler 以下假设jad.exe在c:\java目录下 一、基本用法 ...
可以将java编译后的class文件或者jar包反编译出来,看到编译前的代码
java反编译工具,java反编译工具,java反编译工具 一款很好的java反编译工具 一款很好的java反编译工具一款很好的java反编译工具
java反编译软件java反编译软件java反编译软件
java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译...
.class文件反编译成java文件 支持类名索引 方法名索引 字段名索引 此软件仅用于学习使用
JAVA反编译文件解决中文乱码问题
安卓、Java反编译工具的工具 可以把一编译过的文件反编译成java'文件
JAVA反编译软件(可将class文件反编译为java文件)
java 反编译工具java 反编译工具java 反编译工具java 反编译工具
java 反编译,jd-gui.exe打开class文件即可
java反编译java反编译java反编译java反编译java反编译java反编译java反编译java反编译java反编译
jd-gui ,java Class反编译工具 ,java jar反编译工具。经济实惠只要1分。这个是在凑字数。这个是在凑字数。这个是在凑字数。
java反编译java反编译java反编译java反编译java反编译java反编译