首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在反编译器中.Jar反编译结果不同?

为什么在反编译器中.Jar反编译结果不同?
EN

Stack Overflow用户
提问于 2017-02-15 14:13:18
回答 1查看 508关注 0票数 1

我用两个反编译器JD-GUI和Luyten反编译了.jar文件,但结果不同。

例如,来自Luyten的结果具有更具体的名称空间。

此外,源代码在某些行中也不同。

为什么两个反编译器对同一个.jar文件进行不同的反编译?

EN

回答 1

Stack Overflow用户

发布于 2017-02-26 09:08:38

您列出的反编译器使用不同的后端来处理java字节码的解析。

核心Luyten使用Procyon.

  • JD-GUI使用JD-
  • (无源可用)。

你可以想象像不同的学者一样的反编译器将古代文本翻译成现代英语。学者"Luyten“和"JD-GUI”转录的原始材料是相同的,但每个学者转录的文本是不同的。两者都创造了通常相当易读的现代英语,但它们都有自己的细微差别。

例如:如果古代的原始资料表明"a man reached down and picked up an apple",学者们可能会说:

那个人拿起了一个苹果。

那人抓起一个苹果。

两者都理解了意思,但它们略有不同。有时,一个人可能比另一个人更了解原始材料的奇怪之处,因此会比另一个人产生更准确的结果。

例如,JD-GUI can't decompile a method if the last instruction of a method is the last one in a try-catch block,但是Procyon可以把它翻译成java。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42241925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档