有反编译类文件的问题

时间:2014-04-25 13:08:39

标签: decompiling decompiler

我已经在游戏中工作了一段时间,我试图让这个游戏尽可能容易理解,并且通过在一些地方使用一个变量而不是在每个地方写变量值也很容易改变因此,如果我决定更改值,我不必每次都改变它,我只需要改变变量的值。 两天前我格式化了我的电脑,并在我的外置硬盘中保存了一个.Jar文件 游戏和Eclipse(编码环境)文件夹,我认为游戏源应该位于,但它没有因此丢失我的源代码。 我很沮丧,但后来我记得你可以反编译一个jar文件。 我搜索了一个反编译器,发现jd gui反编译器打开了我的jar文件,我很高兴 看到它实际上有效但然后......我注意到代码有点不同。 编译器增加了大量的这个。所有对我来说都不重要的课程。 然后我注意到每个有双重类型的地方都加了一个.0和一个D. 在数字的最后,甚至是我所拥有的一些地方,例如0.7我看到有0.699999996,这并不重要,不是什么大不了的事。 但后来我注意到在我有一个最终变量的所有地方都将它改为它的值(例如:应该是:numRowsToDraw = Panel.WIDTH / tileHeight + 2; 它现在是什么:numRowsToDraw = 768 / tileHeight + 2;)  这破坏了程序的所有容易改变的方面,我不想改变 在所有地方回到变量的数字应该有一个变量,因为它需要很多工作。

所以我的问题是:是否有一个反编译器没有改变你的代码? 如果有,你可以告诉我它的名字吗?

谢谢!

哦,我忘了提到我后来尝试了做同样事情的JAD反编译器......

1 个答案:

答案 0 :(得分:1)

不,没有。反编译永远不会返回源代码级结构,如注释或文字的特定格式。但我确信有自动源格式化工具可以让你做双文字删除Ds之类的东西。