精华内容
参与话题
问答
  • class 文件比较

    2015-03-31 23:49:26
    使用beyond compare 比较 class 文件 windows下的官网下载地址:[url]http://www.scootersoftware.com/download.php?zz=kb_moreformats_nix[/url] 点Download All ,下载完成后选择要导入的格式,建议全选好了...
    使用beyond compare 比较 class 文件

    windows下的官网下载地址:[url]http://www.scootersoftware.com/download.php?zz=kb_moreformats_nix[/url]

    点Download All ,下载完成后选择要导入的格式,建议全选好了

    网络不佳可直接下载附件使用 :)
    展开全文
  • beyond compare 对比java class 文件

    千次阅读 2018-02-26 09:47:37
    使用beyond compare 扩展插件可以直接对比编译的java class 文件 而不会显示一大堆乱码首先 选择下面的 BC3 EXTRASAdditional file format downloads for version 3 具体下载地址 windows下的官网下载地址:...

    使用beyond compare 扩展插件可以直接对比编译的java class 文件 而不会显示一大堆乱码

    首先

     

     

    选择下面的

     

    BC3 EXTRAS

    • Additional file format downloads for version 3 具体下载地址

       

      windows下的官网下载地址:https://www.scootersoftware.com/download.php?zz=kb_moreformats_win
      linux 扩展的官网下载地址:https://www.scootersoftware.com/download.php?zz=kb_moreformats_nix

      \

      加载中...

       

      加载中...

      选择导入的文件

       

      加载中...

      再重新打开class文件就有了反编译的java代码。


    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

    使用beyond compare 扩展插件可以直接对比编译的java class 文件 而不会显示一大堆乱码

    首先

     

     

    选择下面的

     

    BC3 EXTRAS

    • Additional file format downloads for version 3 具体下载地址

       

      windows下的官网下载地址:https://www.scootersoftware.com/download.php?zz=kb_moreformats_win
      linux 扩展的官网下载地址:https://www.scootersoftware.com/download.php?zz=kb_moreformats_nix

      \

      加载中...

       

      加载中...

      选择导入的文件

       

      加载中...

      再重新打开class文件就有了反编译的java代码。

    转载于:https://my.oschina.net/airship/blog/3029263

    展开全文
  • 绿色软件可比较class文件以及文件夹
  • 新建smali.javapublic class smali{ public int foo(int a,int b){ return (a+b)*(a-b); } public static void main(String[] argc){ smali s=new smali(); System.out.println(s.f

    新建smali.java

    public class smali{
        public int foo(int a,int b){
            return (a+b)*(a-b);
        }
        public static void main(String[] argc){
    
            smali s=new smali();
            System.out.println(s.foo(3,5));
        }
    }

    编译.java文件,生成:javac smali.java
    编译.class文件,生成dex文件:dx --dex --output=smali.dex smali.class //dx工具在sdk目录下(android-sdk\build-tools\26.0.2)


    反编译阶段
    反编译.class文件:javap -c smali.class
    输出结果:

    Compiled from "smali.java"
    public class smali {
      public smali();
        Code:
           0: aload_0
           1: invokespecial #1                  // Method java/lang/Object."<init>":()V
           4: return
    
      public int foo(int, int);
        Code:
           0: iload_1
           1: iload_2
           2: iadd
           3: iload_1
           4: iload_2
           5: isub
           6: imul
           7: ireturn
    
      public static void main(java.lang.String[]);
        Code:
           0: new           #2                  // class smali
           3: dup
           4: invokespecial #3                  // Method "<init>":()V
           7: astore_1
           8: getstatic     #4                  // Field java/lang/System.out:Ljava/io/PrintStream;
          11: aload_1
          12: iconst_3
          13: iconst_5
          14: invokevirtual #5                  // Method foo:(II)I
          17: invokevirtual #6                  // Method java/io/PrintStream.println:(I)V
          20: return
    }

    反编译.dex文件:dexdump -d smali.dex(dexdump命令也在sdk目录)
    输出信息:

    Processing 'smali.dex'...
    Opened 'smali.dex', DEX version '035'
    Class #0            -
      Class descriptor  : 'Lsmali;'
      Access flags      : 0x0001 (PUBLIC)
      Superclass        : 'Ljava/lang/Object;'
      Interfaces        -
      Static fields     -
      Instance fields   -
      Direct methods    -
        #0              : (in Lsmali;)
          name          : '<init>'
          type          : '()V'
          access        : 0x10001 (PUBLIC CONSTRUCTOR)
          code          -
          registers     : 1
          ins           : 1
          outs          : 1
          insns size    : 4 16-bit code units
    00014c:                                        |[00014c] smali.<init>:()V
    00015c: 7010 0100 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0001
    000162: 0e00                                   |0003: return-void
          catches       : (none)
          positions     :
            0x0000 line=1
          locals        :
            0x0000 - 0x0004 reg=0 this Lsmali;
    
        #1              : (in Lsmali;)
          name          : 'main'
          type          : '([Ljava/lang/String;)V'
          access        : 0x0009 (PUBLIC STATIC)
          code          -
          registers     : 5
          ins           : 1
          outs          : 3
          insns size    : 17 16-bit code units
    000164:                                        |[000164] smali.main:([Ljava/lang/String;)V
    000174: 2200 0400                              |0000: new-instance v0, Lsmali; // type@0004
    000178: 7010 0200 0000                         |0002: invoke-direct {v0}, Lsmali;.<init>:()V // method@0002
    00017e: 6201 0000                              |0005: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000
    000182: 1232                                   |0007: const/4 v2, #int 3 // #3
    000184: 1253                                   |0008: const/4 v3, #int 5 // #5
    000186: 6e30 0300 2003                         |0009: invoke-virtual {v0, v2, v3}, Lsmali;.foo:(II)I // method@0003
    00018c: 0a00                                   |000c: move-result v0
    00018e: 6e20 0000 0100                         |000d: invoke-virtual {v1, v0}, Ljava/io/PrintStream;.println:(I)V // method@0000
    000194: 0e00                                   |0010: return-void
          catches       : (none)
          positions     :
            0x0000 line=7
            0x0005 line=8
            0x0010 line=9
          locals        :
    
      Virtual methods   -
        #0              : (in Lsmali;)
          name          : 'foo'
          type          : '(II)I'
          access        : 0x0001 (PUBLIC)
          code          -
          registers     : 5
          ins           : 3
          outs          : 0
          insns size    : 6 16-bit code units
    000198:                                        |[000198] smali.foo:(II)I
    0001a8: 9000 0304                              |0000: add-int v0, v3, v4
    0001ac: 9101 0304                              |0002: sub-int v1, v3, v4
    0001b0: b210                                   |0004: mul-int/2addr v0, v1
    0001b2: 0f00                                   |0005: return v0
          catches       : (none)
          positions     :
            0x0000 line=3
          locals        :
            0x0000 - 0x0006 reg=2 this Lsmali;
    
      source_file_idx   : 15 (smali.java)
    展开全文
  • 这个软件兼容很多文件格式,但对java编译后的.class文件就不听话,出现乱码,无论你更换怎样的编码格式,还是乱码,这时你需要插件才能解决这个问题,插件下载也是有要求,对应版本要下载对应的插件,不然就回出现...
  • Java Class文件格式简析

    千次阅读 2018-07-04 20:40:33
    Java开发只需要编写Java代码之后通过javac命令将其编译成.class文件,.class文件可以被JVM虚拟机加载并执行。如果需要Java能够像动态语言那样编码,通常需要修改.class文件的内容,这种情况下了解.class文件的内部...
  • beyond compare对比class文件

    千次阅读 2016-08-25 10:05:38
    从下面链接中下载beyond compare的class文件反编译插件BCFormats.bcpkg http://www.scootersoftware.com/download.php?zz=moreformats 然后将插件BCFormats.bcpkg导入beyond compare 工具-导入设置: ...
  • beyond compare 对class文件反编译及比较

    万次阅读 2016-09-28 13:10:57
    首先打开beyond compare,选择工具-》文件格式,点击打开查看是否有一下选项(默认没有),有的话请打钩,没有则需要安装插件 打开网址:http://www.scootersoftware.com/download.php?zz=kb_moreformatsv4,先...
  • Class文件结构

    千次阅读 2018-08-03 10:58:40
    Class文件结构 目录 Class类文件结构 无符号数 表 魔数 Class文件的版本号 常量池 访问标志(2字节) 类索引、父类索引和接口索引集合 字段表集合 方法表集合 属性表集合     Class类文件结构...
  • 背景 在学习《深入理解Java虚拟机》第六章“类文件结构”时,难免要对class文件进行研究.好在Oracle已经为我们提供了专门分析Class文件字节码的工具:javaP,因此我们只需把该工具集成到我们的IDEA中即可.准备工作 ...
  • Java class文件分析工具 -- Classpy

    千次阅读 2014-08-20 18:48:44
    功能强大的图形化class文件分析工具!
  • Class文件格式实战:使用ASM动态生成class文件

    万次阅读 多人点赞 2014-04-05 13:24:09
    众所周知, JVM在运行时, 加载并执行class文件, 这个class文件基本上都是由我们所写的java源文件通过javac编译而得到的。 但是, 我们有时候会遇到这种情况:在前期(编写程序时)不知道要写什么类, 只有到运行...
  • Class文件详解

    千次阅读 2018-05-27 20:24:25
    引言 众所周知,Java语言有一个很重要的特点是平台无关性,即用Java语言编写的程序可以在不同平台之间无缝迁移,Java对这个特性有一个著名的宣传口号:“一次编写,到处运行(Write Once,Run AnyWhere)”。...
  • svn中如何忽略对比class文件

    万次阅读 2014-05-27 11:43:37
    在开发J2EE项目的时候,会有WEB-INF/classes目录下的东西是编译后的class文件,这块是不需要存放到SVN的资源库中的。所以在客户端与SVN服务端同步的时候要忽略该目录下的文件。 2.设置方法 2.1第一种情况 在首次...
  • 反编译class文件,一种最简单方法

    万次阅读 2019-04-23 19:54:19
    今天突然需要反编译一下以前的一个class文件,确定一下是否与源码一种,在网上找了一些方法,发现比较复杂。 自己无意间发现的一种简单方法,分享给大家。 就是把class文件,拖拽到IntelliJ IDEA工具中,IntelliJ...
  • Class文件二进制分析

    千次阅读 2015-01-02 00:24:26
    本篇博文描述的是对一个很简单的java文件的对应的class文件的二进制分析. 要分析class文件的二进制格式,必须了解对应版本的jvm specification. 由于jvm specification中关于class文件的内容有点多,所以这里不在描述...
  • class文件和dex文件

    千次阅读 2018-08-17 17:06:28
    Class文件 1、什么是class文件 能够被JVM识别,加载并执行的文件格式。 2、class文件的生成 ![这里写图片描述]...
  • 从一个class文件深入理解Java字节码结构

    万次阅读 多人点赞 2018-05-15 10:01:56
    我们都知道,Java程序最终是转换成class文件执行在虚拟机上的,那么class文件是个怎样的结构,虚拟机又是如何处理去执行class文件里面的内容呢,这篇文章带你深入理解Java字节码中的结构。 1.Demo源码 首先,...
  • 首先,加密和加密的大致思想是:加密无非就是对加密后的class文件进行异或一下,解密呢,那就是再对class文件异或回来即可。 加密后的文件如果想要用到的话,就需要classLoader动态加载进来,具体实现为: /...

空空如也

1 2 3 4 5 ... 20
收藏数 990,841
精华内容 396,336
关键字:

class文件对比