精华内容
下载资源
问答
  • 反向编译

    2013-02-25 16:03:53
    计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算
    高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。
    反编译: 机器码(汇编语言) → 高级编程语言
    但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序
    计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。
    编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件:
    VB: VBExplorer 、VB反编译精灵和VBRezQ;只能反编译界面图像,好像代码不能完全反编译
    JAVA: JAD(Joint Application Development) ;java的反编译比较常见,所以反编译比较完全, 将class文件反编译成java文件也是有可能的
    C++: eXeScope
    Dephi: DEDE
    c#:Reflector
    易语言:E-Code Explorer.exe(易格式可执行文件分析器)
    闪客精灵:[1](解析SWF,还原SWF文件为FLA文件)
    展开全文
  • 反向编译工具

    2019-01-25 13:46:33
    很好用的翻译编译工具,直接打开编译。顺便放上一个对抗反编译的一个博主写的文章,https://www.cnblogs.com/try-catch/p/4487208.html ,里面讲的很好,对这些技术感兴趣的码友们可以去看看。
  • dtb 反向编译生成dts

    千次阅读 2018-09-04 10:23:30
    dtb 反向编译生成dts 在linux 开发driver 的时候,需要check 生成的dtb 文件是否符合预期,这个时候如果可以将build 生成的dtb 文件做反编译生成对应的dts文件,对于我们check 问题,将是很有帮助的: ./dtc -I ...

    dtb 反向编译生成dts

    在linux 开发driver 的时候,需要check 生成的dtb 文件是否符合预期,这个时候如果可以将build 生成的dtb 文件做反编译生成对应的dts文件,对于我们check 问题,将是很有帮助的:

    ./dtc -I dtb -O dts *.dtb -o *.dts

    这就是反编译用到的命令。至于dtc 脚本的位置,可以到如下位置去找:

    kernel-verion/scripts/dtc/

    再多说一句,反编译生成的dts是所有dtsi、dts文件的merge后的总文件。

    展开全文
  • java反编译(将class文件反向编译成java源文件)
  • NET Reflector 7.0.0.420 Crack 破解版 你可以拿来对.net框架下编译的dll进行反向编译,查看其dll内部的源代码
  • Uedit32.exe文件修改,反向编译exe,dll,内含注册码
  • 由于不小心删除了py文件,在网上找到下面工具可以反向编译生成py.   Uncompyle Installation instructions: git clone https://github.com/gstarnberger/uncompyle.git cd uncompyle/ sudo ./setup.py ...

    由于不小心删除了py文件,在网上找到下面工具可以反向编译生成py.

     

    Uncompyle

    Installation instructions:

    git clone https://github.com/gstarnberger/uncompyle.git
    cd uncompyle/
    sudo ./setup.py install

    Once the program is installed (note: it will be installed to your system-wide-accessible Python packages, so it should be in your $PATH), you can recover your Python files like so:

    uncompyler.py thank_goodness_this_still_exists.pyc > recovered_file.py

    The decompiler adds some noise mostly in the form of comments, however I've found it to be surprisingly clean and faithful to my original code. You will have to remove a little line of text beginning with +++ near the end of the recovered file to be able to run your code

    展开全文
  • 概述反编译是一个将目标代码转换成源代码的过程。而目标代码是一种用语言表示的代码 , 这种语言能通过实机或虚拟机直接执行。...JD-Eclipse 的安装及配置高级语言源程序经过编译变成可执行文件,反向编译就...

    概述

    反编译是一个将目标代码转换成源代码的过程。而目标代码是一种用语言表示的代码 , 这种语言能通过实机或虚拟机直接执行。文本所要介绍的 JD-Eclipse 是一款反编译的开源软件,它是应用于 Eclipse 开发平台的插件,它可以帮助开发人员在调试程序的过程中显示所有的 Java 源代码,方便了开发人员的开发工作。

    JD-Eclipse 的安装及配置

    高级语言源程序经过编译变成可执行文件,反向编译就是其逆过程。但是由于反向编译的复杂性,通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。本文介绍了如何应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译,这种方法简单实用,运用 JD-Eclipse 插件应用于 RFT,使 RFT 具有更多方面的应用,方便了用户对 .class 文件的操作,不需要单独应用反向编译器进行方向编译的工作。

    当 C 编译器编译生成一个对象的目标代码是,该目标代码是为某一个特定的硬件平台运行而产生的,在编译过程中,编译程序通过查表将所有符号的引用转换为特定的内存编译量。目标代码只能在特定的 CPU 上运行。而 Java 编译器为了保证目标代码的可移植性,并不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由 Java 虚拟机在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。由于其相对简单的 Java 虚拟机和规范的字节码格式,由 Java 字节码反编译成源代码的过程相对于 C 语言来说要简单,所以当前反编译 Java 程序非常流行。

    目前有多种对于 Java 的反编译软件,下面本文将介绍一款开源的反编译软件 JD-Eclipse。JD-Eclipse 是一个插件 Eclipse 平台。它允许您调试所有的 Java 源代码。为了能够更为详实的说明 JD-Eclipse 的应用方法,下面主要介绍了 JD-Eclipse 的安装及配置过程,使开发人员能够更为快捷便利地使用。

    目前有两种方式进行安装 JD-Eclipse 插件。第一种是利用 RFT 中“安装更新软件”的选项进行安装;下面本文将主要介绍手动安装的安装方法。

    1. 下载相应的安装文件:jd.ide.eclipse_X.X.X.jar;jd.ide.eclipse.win32.x86_ X.X.X.jar;jd.edi.eclipse.feature_X.X.X.jar。其中 JD-Eclipse 插件提供了 Liunx,Mac 平台的相应的 jar 文件,本文以 Windows 平台为例作介绍。

    2. 将 jd.ide.eclipse_X.X.X.jar;jd.ide.eclipse.win32.x86_ X.X.X.jar 这两个 jar 文件拷到安装 RFT 的文件夹中 plugins 的路径下面。

    图 1. 拷入 jar 文件到 plugins 中

    1e9128060e3087005a3a6c1efeaaa2a8.png

    3. 将 jd.edi.eclipse.feature_X.X.X.jar 文件拷到安装 RFT 的文件夹中 features 的路径下面。

    图 2. 拷入 jar 文件到 features 中

    5f0333a74c4e63fbb59f62c39e95b0d7.png

    4. 重新启动 RFT。

    5. 打开 RFT,Windows->Preferences->General->Editors->File Assciation,将 Class File Editor 设置为 default。

    图 3. 设置默认显示

    070aec003faeefc43b95d3045df5768f.png

    对于存在原始码的类,他不会强行反编译,也就是说他还是会用 eclipse 自带的 Class File Viewer 查看 class 文件。

    JD-Eclipse 的使用及相关讨论

    首先本节介绍了 JD-Eclipse 的应用方法,然后通过一个具体的应用实例来介绍 JD-Eclipse 的具体使用方法。文本采用 RFT 作为 Java 的开发平台,所以 JD-Eclipse 是安装在 RFT 上的一个插件进行相关讨论的。

    一、JD-Eclipse 的应用方法

    首先需要将反编译的文件打成 jar 的 java 包。

    例如将文件 JavaTest 打成一个包,JavaTest 文件中有许多的 .class 文件。

    图 4. Java 中的 .class 文件

    dc3b1bae65200c8c39cb32d97bafc001.png

    jar 包生成方法如下面步骤所示。

    1. 导入相应的工程。

    2. 选择 Flie->Export->Jar file。

    图 5. 选择 Jar 文件

    1f7a40eeb653b623ad7c39c3088f3d0b.png

    3. 将 .class 文件导入并选择存储地址。

    图 6. 导入工程

    83e9c6b158eebd294541a1c194dfa851.png

    4. 生成一个 javatest.jar 文件

    图 7. 生成 Jar 文件

    40200e6a76983c54266bfeb7334c8aad.png

    二、JD-Eclipse 的应用实例

    生成 jar 文件后需要将 jar 文件构建到工程文件中。

    图 8 是没有反编译之前的所看到的文件内容。开发人员不能看到 .class 文件中的信息,对于开发人员调试代码带来的相对复杂的问题。

    图 8. 反编译前的 .class 文件显示信息

    773912af90ca575baab268898885e4fe.png

    采用 JD-Eclipse 插件后,可以清楚地显示出文件内容,方便开发人员的工作,也增强了开发人员在使用 RFT 过程中的方便程度。

    清单 1. 以“CapturePlayback.class”为为例显示的部分代码内容

    import java.awt.BasicStroke;

    import java.awt.BorderLayout;

    import java.awt.Color;

    import java.awt.Component;

    import java.awt.Container;

    import java.awt.Dimension;

    import java.awt.Font;

    public CapturePlayback(){

    super.setLayout(new BorderLayout());

    EmptyBorder localEmptyBorder = new EmptyBorder(5, 5, 5, 5);

    SoftBevelBorder localSoftBevelBorder = new SoftBevelBorder(1);

    super.setBorder(new EmptyBorder(5, 5, 5, 5));

    JPanel localJPanel1 = new JPanel();

    localJPanel1.setLayout(new BoxLayout(localJPanel1, 0));

    localJPanel1.add(this.formatControls);

    JPanel localJPanel2 = new JPanel();

    localJPanel2.setBorder(localSoftBevelBorder);

    JPanel localJPanel3 = new JPanel();

    localJPanel3.setBorder(new EmptyBorder(10, 0, 5, 0));

    this.playB = addButton("Play", localJPanel3, false);

    this.captB = addButton("Record", localJPanel3, true);

    this.pausB = addButton("Pause", localJPanel3, false);

    this.loadB = addButton("Load...", localJPanel3, true);

    localJPanel2.add(localJPanel3);

    public class Playback implements Runnable{

    SourceDataLine line;

    Thread thread;

    public void start(){

    CapturePlayback.this.errStr = null;

    this.thread = new Thread(this);

    this.thread.setName("Playback");

    this.thread.start();

    }

    public void stop() {

    this.thread = null;

    }

    private void shutDown(String paramString) {

    if ((CapturePlayback.this.errStr = paramString) != null) {

    System.err.println(CapturePlayback.this.errStr);

    CapturePlayback.this.samplingGraph.repaint();

    }

    if (this.thread != null) {

    this.thread = null;

    CapturePlayback.this.samplingGraph.stop();

    CapturePlayback.this.captB.setEnabled(true);

    CapturePlayback.this.pausB.setEnabled(false);

    CapturePlayback.this.playB.setText("Play");

    }

    }

    }

    三、JD-GUI 的介绍

    JD-Core 也提供了独立的运行软件 JD-GUI,它的功能完全与 JD-Eclipse 插件一样,方便不能使用基于 Eclipse 平台的人员查看反编译的文件。

    图 9. JD-GUI 的操作界面

    fc2d36dea8409bb9afaf77d6919cec63.png

    将需要反编译的文件导入即可。

    图 10. 导入需要反编译的文件

    ccab4f74271bdd9d7951d90209de43f1.png

    这款独立的运行软件提供了强大的编辑功能,方便了开发人员对于文件的编辑,处理等操作。

    总结

    本文向读者介绍了如何应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译,这种方法简单实用,运用 JD-Eclipse 插件应用于 RFT,使 RFT 具有更多方面的应用,方便了用户对 .class 文件的操作,不需要单独应用反向编译器进行方向编译的工作。相信 JD-Eclipse 能够帮助开发人员基于 RFT 的操作提供更为方便的插件应用,为开发人员调试程序提供一个较为便捷的方法。

    展开全文
  • java反向编译软件jd-gui

    2019-01-31 09:14:38
    使用jd-gui可以轻松的反编译jar文件,可以查看到.java文件的源码,方便学习网上的优秀项目代码。
  • qchm2.6 chm帮助文件编辑,可以反向编译chm文件,带注册码,已汉化。
  • 反向编译工程

    2007-06-26 22:54:12
    小巧好用的东西,高手必备的。
  • java在线反向编译网站

    千次阅读 2019-06-10 20:18:47
    http://javare.cn
  • PowerDesgin 中的反向编译

    千次阅读 2007-05-06 15:08:00
    今天用powerdesgin 创建pdm时,想创建一个自动增长列的属性。...然后利用powerdsgin反向编译一下。这样自动增长列的属性不就出来了。接下来讲解一下有关具体操作步骤。 1、打开powerdesgin(我用的是9.5版本的)
  • jar包内class文件反编译工具,整合进去就可以了,里面有教程。如果觉得可以还请给个好评
  • dtb文件的反向编译

    千次阅读 2016-06-13 13:05:22
    说实话看不太懂dts文件,不太好改,但是我手上有一个已经编译可用了的dtb的文件(没有对应的dts),所以选择反编译dtb文件。在内核顶层目录下运行:(am335x-evm2.dtb,是我已有的dtb文件)./scripts/dtc/dtc -I dtb...
  • apk反向编译

    2011-01-20 16:07:42
    把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 windows...
  • 4,点击ok按钮出现下面显示的对话框,勾上对话框中间显示的反编译插件,然后把Contact all update sites install to find required software前面的勾点掉,防止它寻找指定的软件前先访问所更新站点,耗费时间。...
  • /wislink/kernel$ ./scripts/dtc/dtc -I dtb -O dts ../../weibp/rk-kernel_ok.dtb -o ./rk-kernel_ok.dts
  • 坚果 Pro2s 京东开卖两周,评论仅1.1万。TNT 预定数量不足100台。但是8月20日锤子科技的产品发布会上,「子弹短信」火了。 但是这个子弹短信到底好不好用呢?正所谓没有调查就没有发言权,作者特意去应用宝下载了...
  • 热文导读 | 点击标题阅读金九银十跳槽季如何进阶找到合适满意的工作?15 年没写代码,濒临被裁,50 岁开发者如何绝地求生?2018 年 8 月面试路:6 天 21 家公...
  • 文本所要介绍的 JD-Eclipse 是一款反编译的开源软件,它是应用于 Eclipse 开发平台的插件,它可以帮助开发人员在调试程序的过程中显示所有的 Java 源代码,方便了开发人员的开发工作。 回页首 JD-Eclipse 的安装及...
  • 第四关: ...不过做出来确实要花一些时间,以及要对汇编,反向编译以及gdb调试有一定的功底。还有数据结构,等。可以看出来整个关卡层层递进,考察了循环,跳转,switchcase,链表,数组等等。
  • 反向工程最终完成。我们可以直接调用xxxService类,来使用对方提供的WebService服务。 HySmsService service = new HySmsService(); System.err.println(service.getHySmsServiceSoap().sendSmsTask(...
  • 隐藏关卡。Secretphase 这个隐藏关卡还是很难发现的,自己带的班上的学生中,仅有3个学生发现并解除了炸弹。中间也出现了一些小小问题,在给他们验收的时候也有意识的去引导他们发现一些小问题,并讨论解决。...
  •  错误原因,socket代理编译时候检测到nginx版本不对,抛出异常 修改/root/nginx-1.8.1/src/http/ngx_http_header_filter_module.c static char ngx_http_server_string[] = "Server: xxxx" CRLF; static char ...
  • centos6.10yum -y install gcc-c++yum -y install pcre pcre-develyum -y install openssl openssl-devel cd /usr/local/src/wget ...
  • 首先声明:反编译是为了学习别人的代码和布局,不是为了干坏事。。  android反编译通常使用的工具:apktool (资源文件获取)  dex2jar(源码文件获取)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,168
精华内容 867
关键字:

反向编译