美文网首页
Java编译与反编译

Java编译与反编译

作者: 雪域飞鸿 | 来源:发表于2018-04-08 10:56 被阅读0次

编译:
将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的程序的过程就是编译。负责这一过程的处理的工具叫做编译器
javac
javac是收录于JDK中的Java语言编译器。该工具可以将后缀名为.java的源文件编译为后缀名为.class的可以运行于Java虚拟机的字节码。

反编译:
反编译的过程与编译刚好相反,就是将已编译好的编程语言还原到未编译的状态,也就是找出程序语言的源代码。就是将机器看得懂的语言转换成程序员可以看得懂的语言。Java语言中的反编译一般指将class文件转换成java文件。
javap
javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码。javap和其他两个反编译工具最大的区别是他生成的文件并不是java文件,也不像其他两个工具生成代码那样更容易理解。
jad
jad是一个比较不错的反编译工具,只要下载一个执行工具,就可以实现对class文件的反编译了。但是,jad已经很久不更新了,在对Java7生成的字节码进行反编译时,偶尔会出现不支持的问题,在对Java 8的lambda表达式反编译时就彻底失败。
CFR
CFR是一个不错的选择,相比jad来说,他的语法可能会稍微复杂一些,但是好在他可以work。CFR还有很多其他参数,均用于不同场景,读者可以使用java -jar cfr_0_125.jar --help进行了解。
http://www.benf.org/other/cfr/
procyon
https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler

如何防止反编译?
1.隔离Java程序
2.让用户接触不到你的Class文件
3.对Class文件进行加密
4.提到破解难度
5.代码混淆
6.将代码转换成功能上等价,但是难于阅读和理解的形式

相关文章

  • Android反编译与反编译防范

    Android反编译与反编译防范 反编译Java代码 参考http://www.oschina.net/quest...

  • 反编译研究资料以及各种反编译器

    硕期间研究反编译,下面从反编译工具库,JAVA反编译和反编译主要研究机构进行介绍。 反编译的历史,从传统的基于编译...

  • Java-Java反编译工具

    一、旧Java反编译工具 JAD JD 二、新Java反编译工具 Fernflower Procyon CFR 简...

  • Android反编译

    反编译就是对这个APK进行反编译。Android的反编译分成两个部分: 一个是对代码反编译,也就是java文件的反...

  • 初识 android 反/回编译

    Android 反编译 Android 反编译环境准备 配置JAVA JDK 环境变量 安装android kil...

  • Java编译与反编译

    编译:将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的程序的过...

  • Java编译与反编译

    记录一下看了Java开发必会的反编译知识后关于Java的编译、反编译、字节码、源代码、机器码的note,目录如下,...

  • java 编译与反编译

    https://blog.csdn.net/u011479200/article/details/80019827

  • Android apk反编译

    1、工具 反编译获取资源文件 apktool 反编译获取 java代码https://github.com/pxb...

  • Android反编译

    相关资料: smali2Java下载(一条龙反编译) apktool反编译 AndroidKiller Smali...

网友评论

      本文标题:Java编译与反编译

      本文链接:https://www.haomeiwen.com/subject/vzrphftx.html