`
yjzagan2003
  • 浏览: 37145 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

class类反编译后与源码不一样?

阅读更多

   今天,从指标引擎正式系统中拷贝下来一个class文件,进行反编译(由于手中没有的源码不确定和服务器上一致)。却发现有部分代码不一致:

    反编译后代码:

  

if (isNormal) break label712;
        if (alert == null)
        {
          alert = this.alertUtil.generateTempAlert(kpiId, kpiName, neId, neName, kpiTime, kpiValue, 
            basLineDefine.getId(), tempTolerateLine, lineValues, 2);
          this.alertUtil.insertActiveAlert(dbdao, alert);
        } else {
          Alert alert1 = this.alertUtil.findActiveAlert(dbdao, kpiId, neId, basLineDefine.getId(), 
            tempTolerateLine, 2);
          activeAlertsOld.add(alert1);
          this.alertUtil.updateActiveAlert(dbdao, isNormal, alert, kpiTime, kpiValue, tempTolerateLine, 
            lineValues);
        }
        label712: activeAlertsUpdate.add(alert);

 

java源码:

  

if (!isNormal) {
	if (alert == null) {
		// 如果没有告警,则生成该活动告警插入表中
		alert = alertUtil.generateTempAlert(kpiId, kpiName, neId, neName, kpiTime, kpiValue,
				basLineDefine.getId(), tempTolerateLine, lineValues, 2);
		alertUtil.insertActiveAlert(dbdao, alert);
	} else {
		Alert alert1 = alertUtil.findActiveAlert(dbdao, kpiId, neId, basLineDefine.getId(),
				tempTolerateLine, 2);
		activeAlertsOld.add(alert1);
		alertUtil.updateActiveAlert(dbdao, isNormal, alert, kpiTime, kpiValue, tempTolerateLine,
				lineValues);
	}
	activeAlertsUpdate.add(alert);
}

  不知道什么原因,用的是jd-gui 反编译的,并且把源码编译后,再反编译也是这种情况!

  有标签无所谓了,只是为什么标签在后面定义呢?难道不会报错吗?

  

分享到:
评论

相关推荐

    反编译工具,能将.class反编译成.java,但是和源码有些不一样,因为它会有些常量优化和其他的东西。

    同样,匿名类、lambda表达式和注解在反编译后也会呈现出不同的形式。因此,虽然反编译工具可以帮助我们理解代码的大致逻辑,但它无法完全还原出与原始源代码完全相同的版本。 在使用反编译工具时,必须尊重软件的...

    jar class 反编译 看源码工具

    "jar class 反编译 看源码工具" 是开发者们用来查看Java字节码源代码的工具,它能够将编译后的Class文件转换回源代码形式,使得我们能够理解运行时的程序逻辑。在提供的文件列表中,`jd-gui.exe` 是一款常用的图形化...

    Java反编译工具把.class文件转换为.java文件

    - 递归处理子目录:若想对整个包含多个子目录的项目进行反编译,可以使用`-r`选项,例如:`jad -r -d srctree/**/*.class`将递归地处理`tree`目录及其所有子目录下的`.class`文件,并根据类所在的包名称创建对应的...

    MyEclipse 安装class文件反编译插件

    安装完成后,我们可以直接在MyEclipse中右键点击class文件,选择“Open With” -> “JAD Decompiler”来查看反编译的源代码。这样,开发者就能像阅读普通Java源码一样理解class文件的工作逻辑。 反编译插件在实际...

    jd-gui反编译class文件

    一是通过菜单栏的"File" -> "Open File",选择你要反编译的.class文件。二是直接拖拽.class文件到JD-GUI的主窗口。 4. **查看源代码**:一旦加载成功,JD-GUI会显示类的源代码结构,包括类名、包名、成员变量和方法...

    Eclipse中查看class源码的插件

    在代码中右键点击无法查看源码的类,选择"Open Declaration"或"Open Source",如果Eclipse找不到源码,jd-eclipse会跳转到反编译的源码视图。 jd-eclipse的亮点在于其直观的用户界面和良好的代码可读性。反编译出的...

    JAVA加密 保护源代码 防止反编译的工具

    JAVACOMPILE 这款工具就不一样了,javacompile 它是修改了虚拟机内核, 用户目录里没有需要的JAVA字节码,而是当JAVA需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass ...

    Eclipse反编译工具

    - 反编译的结果可能并不完全与原始源代码相同,因为反编译过程涉及从字节码恢复源代码,这个过程无法保证完全准确。 - 对于有混淆过的代码,反编译结果可能会更加难以理解,因为混淆会改变变量和方法的命名。 - 尽管...

    eclipse反编译工具

    需要注意的是,反编译的代码可能与原始源代码略有不同,因为反编译过程是一种逆向工程,不能完全恢复原始的编程意图和注释。此外,反编译可能存在版权问题,除非你有合法权利查看这些代码,否则应尊重软件的知识产权...

    eclipse反编译插件

    然而,有时我们可能需要查看已编译的.class文件源代码,尤其是当我们处理的是第三方库且源码不可用时。这时,"eclipse反编译插件"就显得尤为重要。 反编译是将已编译的字节码(.class文件)转换回接近原始源代码的...

    java反编译工具jd-gui

    此外,如果你正在处理一个没有源代码的旧项目, JD-GUI可以作为一个临时解决方案,帮助你理解代码逻辑,尽管不能直接编辑反编译后的源码。 使用JD-GUI的过程相对简单。在下载并解压"jd-gui-windows-1.4.0"压缩包后...

    java反编译工具

    Java反编译是将已编译的Java字节码(.class文件)转换回源代码(.java文件)的过程,这对于理解已加密或无源代码的库,学习库的工作原理,或者进行逆向工程非常有用。本文将详细介绍如何使用一个名为JD-GUI的小巧...

    jad+jadclipse反编译插件

    Jad和Jadclipse是Java开发者常用的反编译工具,它们对于理解、学习和调试已编译的.class文件非常有帮助。在本文中,我们将深入探讨这两个工具及其在Eclipse集成开发环境(IDE)中的应用。 首先,Jad是一个Java字节...

    java反编译工具--jd-gui

    尽管反编译的结果可能无法与原始源代码完全一致,尤其是当原始代码包含复杂的优化或者元编程时,但它通常能够帮助我们理解类文件的功能和结构。 使用JD-GUI非常简单,你只需要下载并运行该工具,然后通过菜单或拖放...

    Java源码查看内部类信息.rar

    如果源码不可用,`javap`工具可以反编译字节码以获取类的信息,但可能无法显示原始的源码结构。 在压缩包文件中,"查看内部类信息"可能是提供了一些示例代码或教程,帮助开发者理解如何在实际项目中查看和使用内部...

    jd-gui反编译工具

    尽管JD-GUI提供了便捷的反编译功能,但需要注意的是,反编译的代码可能并不完全与原始源代码一致。由于Java的字节码是经过优化的,反编译过程可能会丢失一些元数据和注释,导致生成的源代码在格式和命名上与原始代码...

    Java反编译工具

    这个是一个java反编译工具,支持查看jar文件及class文件,用法很简单只需要打开把你想看的jar文件或者class文件直接拖拽或者导入进去就直接展现和myeclipse一样的源码的一个界面!很强大,界面简单干净功能齐全!我...

    jd-eclipse Eclipse官方反编译插件jdeclipse_update_site

    jd-eclipse反编译插件 版本0.1.3 eclipse的插件 1,先下载Jd-eclispe插件的压缩包 2,jdeclipse_update_site.zip下载好了之后,解压,将plugins文件下的jd.ide.eclipse_0.1.3.jar和jd.ide.eclipse.win32.x86_0.1.3....

    eclipse装反编译插件

    JAD 是一款强大的反编译工具,可以将Java字节码转换回接近原始的Java源代码,尽管可能不是完全一样的,但足以理解代码逻辑。 安装JadClipse的步骤如下: 1. **下载JAD和JadClipse插件**:首先,你需要下载Jad的...

Global site tag (gtag.js) - Google Analytics