品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:JEB 5.20.0.202411121942
JEB Decompiler是一款反编译工具,可以用来反编译APK、Class文件等文件。支持查看字节码、Smali伪代码,以及可执行Java代码。本文将以解析Class文件为例,为大家介绍怎样查看字节码,JEB Decompiler代码显示乱码怎么解决的相关内容。
一、JEB Decompiler怎样查看字节码
使用JEB查看程序的字节码可帮助我们知道编译器的优化逻辑、定位代码执行异常,属于“高端”操作,下面我就为大家介绍一下JEB Decompiler怎样查看字节码。
1、Java环境配置
JEB安装后,双击【jeb_wincon.bat】即可启动。正常启动JEB的前提是系统配置好了Java环境变量,并且JDK版本是17以上,否则启动时会遇到下图所示的报错。这是因为JEB查找【JAVA_HOME】环境变量未找到,安装JDK后配置环境变量即可解决。

2、拖入Class文件
启动JEB后,将Class文件拖到JEB界面中,在弹出的窗口中,自动识别文件类型为Java Class文件,如果识别错误,可检查文件后缀是否为【.class】,或者可以手动选择解析器(Parsers)为【javaclass】,点击【确定】即可解析加载文件。

3、查看字节码文件
例如下图所示,就是查看了一个class文件的字节码,开头的【CA FE BA BE】是Java类文件的“魔数”,是【.class】文件的“标志性开头”,用于识别这是一个Java字节码文件。魔数后的十六进制数值是版本信息,后续大量十六进制数据,对应.class 文件的核心结构,例如常量池、类的元数据、方法的字节码指令等。右侧栏中能看到【com/pyy/rest/SaveInvoice】等内容,这是“符号引用”,表明该字节码对应的类是SaveInvoice,属于com.pyy.rest包下。

二、JEB Decompiler代码显示乱码怎么解决
JEB的强大之处在于能够把class文件反编译成可以执行的Java代码文件,例如下图所示,依次展开包,双击class文件名时,会展示文件的smali“伪代码”,该代码无法直接执行,但是可以让程序员猜测出程序的执行逻辑。右击文件并选择“解析”,JEB即可反编译代码,反编译成可以执行的Java代码,例如下图所示。在做二次开发工作时,因为拿不到源代码,所以可以借助JEB反编译成java代码,从而二次开发。

很多用户在这个过程中可能会遇到乱码的情况,一般是方法名、类名、变量名出现乱码,这种情况下,一般是因为文件做了“混淆”处理,例如下图所示。

这种情况下,我们可以尝试使用在线“代码反混淆”工具,粘贴混淆后的“乱码”,即可自动反混淆,具体的反混淆效果要根据在线网站的能力,可能反混淆效果并不理想,但也是处理混淆后代码显示为乱码的有效手段。

三、总结
以上就是JEB Decompiler怎样查看字节码,JEB Decompiler代码显示乱码怎么解决的相关内容。本文为大家介绍了JEB Decompiler解析class文件,并且查看字节码的流程,只需要配置java环境,启动JEB后,拖入文件即可解析查看,操作简单。如果你遇到了JEB解析文件后乱码的情况,可以参考上文内容尝试解决,希望本文对你有所帮助。
