品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:JEB 5.20.0.202411121942
在逆向分析领域,JEB Decompiler有着强大的反编译能力,支持众多文件格式,是很多程序员的重要工具。我们在使用过程中,可能不知道怎么分析多语言代码,或者遇到分析结果混乱,无法阅读代码的情况。本文将为大家介绍JEB Decompiler如何分析多语言代码,JEB Decompiler分析结果混乱怎么办的相关内容。
一、JEB Decompiler如何分析多语言代码
分析多语言代码的步骤和分析JAR包的步骤相同,假设我们需要分析一个包含MathUtils类的JAR包,该类封装了数值计算与精度处理功能,以下是JEB的具体操作流程:
1、加载与解析JAR包
启动JEB后,点击【文件-打开】并选择JAR包。JEB 会自动解析字节码,双击【math.jar.apk】即可在【Bytecode/层级】生成包结构树,逐层展开可找到MathUtils这个类。

2、代码反编译细节
右击MathUtils包,选择【Decompile】即可解析文件。解析后我们可以看到这个文件中的常量值、方法、实例方法、静态方法等。

3、处理依赖
首先是处理依赖关系,若JAR包依赖【BigDecimal】,JEB会自动识别Java标准库类,无需手动加载。

二、JEB Decompiler分析结果混乱怎么办
如果JEB Decompiler分析结果混乱,可能是程序被混淆,混淆就是对程序进行重新组织和处理,处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义,下图所示,就是代码混淆后的反编译结果,很难读懂是什么意思。

那么我们如何用JEB Decompiler分析混淆代码呢?
为大家推荐一个脚本,链接是https://github.com/S3cuRiTy-Er1C/Jebs,该脚本可以在查看Smali时就能在.source(JEB中称为Debug Directive)字段中看到原始类名信息。如下图所示,但是该脚本存在一定的局限性,例如:不会反混淆内部类、字段值为空时不起作用,更多时候还是要靠自己的技术。

三、总结
以上就是JEB Decompiler如何分析多语言代码,JEB Decompiler分析结果混乱怎么办的相关内容。分析多语言代码和分析JAR包的步骤相同,本文用分析JAR包的步骤,为大家演示了详细的操作步骤。如果出现分析结果混乱的情况,大概率是代码被混淆,可以参考上文借助GitHub开源工具进行处理,希望本文对你有所帮助。