1, using the compiler to generate the target program from the source program written in the source language
2. Use the compiler to generate the action of the target program. Compiling is to turn a high-level language into a binary language that the computer can recognize. The computer only knows 1 and 0. The compiler replaces the familiar language with binary. The working process of the compiler to translate a source program into a target program is divided into five stages: lexical analysis; syntax analysis; semantic checking and intermediate code generation; code optimization; object code generation. Mainly for lexical analysis and grammar analysis, also known as source program analysis, grammatical errors are found in the analysis process, giving hint information, specific reference to Javac compilation and JIT compilation
What is decompilationReverse engineering, also known as computer software restoration engineering, refers to the use of "reverse analysis and research" on the target program (executable program) of other people's software to derive the software products used by others. Design elements such as ideas, principles, structures, algorithms, processes, and methods of operation may be derived from source code in certain specific situations. Decompile as a reference when developing your own software, or directly in your own software products
Compilation and decompilation of Java classesWhen we first learned Java, we came into contact with two commands: javac and java. At that time, we knew that javac is used to compile Java classes, which is to compile our written helloworld.java file into helloworld.class file.
Then decompile, is to get the java file through the helloworld.class file (or Java files that the programmer can understand)
When will I use decompilation?1. We only have one class class file, but we can't read the Java class file, then we can decompile it into a file we can understand.
2, learning Java process, each version of JDK will add more and more syntactic sugar, and sometimes we want to know some implementation details of Java, we can rely on decompilation. The following are seven open source Java decompilation tools recommended by Xiaobian. Let's take a look.
7 open source Java decompilation tools1, Java decompilation plugin - Jadclipse
JadClipse is Jad's Eclipse plugin. It is a very useful and convenient Java decompiler plugin. We just need to copy the downloaded plugin package to eclipse's plugins directory and then modify window -> Preferences -> Java -> JadClipse Path to decompiler, such as: C:\pin\jadnt158\jad.exe, and finally modify the editor associated with "*.class" in Windows -> Perference -> General -> Editors -> File Associations to "JadClipse Class File" Viewer".
Official website: http://sourceforge.net/projects/jadclipse/
2, Java decompilation tool jad
Jad is a very widely used Java decompilation tool. The Jadclipse is a jad-based decompiler plugin. The JAD file contains the MIDlet suite's header information, such as the company, application name, and size of the application.
Official website: http://varaneckas.com/jad/
3, Java decompiler JD-GUI
JD-GUI is a Java decompiler tool developed in C++. It is developed by Pavel Kouznetsov and supports three platforms: Windows, Linux and Apple Mac Os. And provides the plugin JD-Eclipse under the Eclipse platform. JD-GUI does not need to be installed, click directly to run, you can decompile jar, class files.
Official website: http://jd.benow.ca/
4, Java decompiler jdec
Jdec is a Java decompiler. It can restore bytecodes that appear in a .class file to Java source code, and the result of decompilation is almost identical to the original Java file. It also comes with a user interface developed using swing.
Official website: http://jdec.sourceforge.net/
5, uuDeJava
uuDeJava is a decompilation tool for Java Class files. The decompiled Java source is output to the same directory as the Class. Internally use jad.exe. When decompiling a Class file, you can directly click on the Class file (after association), or select a shortcut to send the file or directory to uuDeJava. You can also drag files or directories to the main window of uuDeJava.
Official website: http://
6, Java reverse engineering software Minjava
Minjava is a Java reverse engineering software that helps understand the architecture and behavior of some Java software.
Official website: https://code.google.com/p/minjava/
7, Java Decompiler
This decompiler is called "Java Decompiler" and was developed by Pavel Kouznetsov. The latest version is 0.2.5. It is developed by C++ and can be downloaded from Windows, Linux and Apple Mac Os.
Official website: http://jd.benow.ca/
Solar Connector,Solar Dc Pannel Branch Connector,Solar Dc Connector,Solar Dc Branch Connector
Shenzhen Hongyian Electronics Co., Ltd. , https://www.hongyiancon.com