Ⅰ 反汇编和反编译得差别
汇编是将汇编语言源程序翻译成目标程序的过程;
编译是将高级语言源程序翻译成目标程序的过程;
反汇编是汇编的逆过程,即将目标程序翻译成汇编程序的过程;
反编译是编译的逆过程。
Ⅱ 反编译和反汇编有什么区别
反汇编是把机器码翻译成的汇编;
反编译是把机器码翻译成高级语言的过程,但通常要有其他线索辅助才能完成。
Ⅲ 反编译是违法的吗
反编译是违法的,反编译是指计算机软件反向工程( Revers e engineering )也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
根据《共和国着作权法》规定有下列侵权行为的,应当根据情况,承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任:
(一)未经软件着作权人许可,发表或者登记其软件的;
(二)将他人软件作为自己的软件发表或者登记的;
(三)未经合作者许可,将与他人合作开发的软件作为自己单独完成的软件发表或者登记的;
(四)在他人软件上署名或者更改他人软件上的署名的;
(五)未经软件着作权人许可,修改、翻译其软件的;
(六)其他侵犯软件着作权的行为。
Ⅳ 什么是java代码的编译与反编译
Java代码的编译与反编译
2017-02-21 Hollis 数盟
一、什么是编译
1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
二、什么是反编译
计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
三、 Java类的编译与反编译
我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件。
class文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。
那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)
四、什么时候会用到反编译
1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么我们可以把它反编译成我们可以看得懂的文件。
2、学习Java过程中,JDK的每个版本都会加入越来越多的语法糖,有些时候我们想知道Java一些实现细节,我们可以借助反编译。
五、反编译工具
1、javap
2、Jad:官网(墙裂推荐)
客户端:
可以在官网下载可执行文件,找到对应的操作系统的对应版本,然后进行安装使用。
因为我使用的是linux操作系统,所以我下载的是Linux版本的工具,这个工具下载好之后会有一个执行文件,只要在执行文件所在目录执行./jad helloworld.class就会在当前目录下生成helloworld.jad文件,该文件里就是我们很熟悉的Java代码
Eclipse插件:
下载地址 在官网下载插件的jar包,然后将jar包放到eclipse的plugins目录下‘ 在打开Eclipse,Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,在Path to decompiler中输入你刚才放置jad.exe的位置,也可以制定临时文件的目录。当然在JadClipse下还有一些子选项,如Debug,Directives等,按照默认配置即可。 基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->File Associations我们可以看到class文件的打开方式有两个,JadClipse和Eclipse自带的Class File Viewer,而JadClipse是默认的。 全部配置完成,下面我们可以查看源码了,选择需要查看的类,按F3即可查看源码
Ⅳ 反编译原理是什么
反编译的流程,就是虚拟一个执行环境,看程序执行了那些指令,翻译成相应的语句一般的流程是先把程序调入到数据段,虚拟运行环境,一般这分配文件头部,从纪录指令程序数据段,载入到虚拟环境中,纪录指令,遇到跳转指令,压入栈,形成树结构(看数据结构),遍历每个节点的指令。形成完整程序。
Ⅵ 云南java培训分享java中的编译与反编译
一、什么是编译
1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
二、什么是反编译
计算机软件反向工程(Reverseengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
三、Java类的编译与反编译
我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件。
class文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Javaclass文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。
那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)
四、什么时候会用到反编译
1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么云南java培训http://www.kmbdqn.com/认为可以把它反编译成我们可以看得懂的文件。
2、学习Java过程中,JDK的每个版本都会加入越来越多的语法糖,有些时候我们想知道Java一些实现细节,我们可以借助反编译。
Ⅶ 什么叫反编译
编译是一种将高级语言翻译成计算机可是别的低级语言。
反之就是反编译。
不光只JAVA,可以编译的高级语言都可以被反编译。
Ⅷ 反编译软件通常最好的有哪几种
http://soft.ttdown.com/SoftDown_45761.html
http://www.pediy.com
http://soft.ttdown.com/aspxerrorpath=/SoftView/SoftView_15990.html
http://secrecy.ayinfo.ha.cn/sort/152_1.htm
Corso 5.0 2003-6-14 16:40:46 ★★★ 198
·一个针对fox的反编译东东,效果怎么样没有测试过。有兴趣的可以看看!...
软件类别:反编译软件 运行环境:Win9x/NT/2000/XP/ 授权方式:免费版
DeDe 3.20.04 2003-5-25 11:40:16 ★★★ 834
·这个不用多说了,反编译Delphi程序的最棒的软件。她反编译后的程序清晰明了,是反编译D...
软件类别:反编译软件 运行环境:Win9x/NT/2000/XP/ 授权方式:免费版
Decafe Pro V3.8 2003-5-25 11:37:46 ★★★ 316
·JavaClass的反编译软件,可以把二进制的class文件全部反编译成源代码。...
软件类别:反编译软件 运行环境:Win9x/NT/2000/XP/ 授权方式:免费版
isDcc v2.10 2003-5-25 11:36:46 ★★★ 241
·反编译installshield脚本*.ins...
软件类别:反编译软件 运行环境:Win9x/NT/2000/XP/ 授权方式:免费版
w32dasm 2003-5-23 14:25:51 ★★★★★ 3597
·这个软件可以说是最经典的反编译软件了,虽然发布的很早,但是这么多年经过无数牛人的修改后增...
软件类别:反编译软件 运行环境:Win9x/NT/2000/XP/ 授权方式:免费版
Ⅸ mt管理器反编译是什么意思
MT管理器是一款强大的文件管理工具和APK逆向修改神器。软件有汉化应用、替换资源、修改布局、修改逻辑代码、资源混淆、去除签名校验等功能主要功能- 文件复制、移动、创建软链接、重命名、删除、创建文件(夹),文件批量操作。
反编译
反编译是将可执行的(准备运行的)程序代码(也称为目标代码)转换为某种形式的高级编程语言,使其具有更易读的格式。反编译是一种逆向工程,它的作用与编译器的作用相反。它与编译相反。完成此任务的工具称为反编译器。反编译有许多不同的原因,例如理解程序、恢复源代码以进行存档或更新、查找病毒、调试程序和翻译过时的代码。完全自动化的反编译是不可能的。没有反编译器可以获得开发人员编写的确切源代码。
反编译有时被不道德地用于复制源代码以在未经版权所有者许可的情况下重复使用或改编。反编译 APK 文件并不是一项非常艰巨的任务。它需要将 dex 文件转换为 jar 文件,然后将这些 jar 文件转换为 java 源代码,从而获取应用程序源代码。可以通过保护性手段(例如代码复杂性和混淆)将程序设计为抗反编译。这包括反调试技术、限制调试器、跟踪检查、优化和剥离二进制文件。