Java - 反编译&重新编译 - 为noobie

时间:2013-10-24 16:23:01

标签: java class jar compilation decompiler

第一次在这里发帖,所以对我很轻松:)

我在这里探讨了很多什么,我看到很多间接的答案,但没有任何东西真正指向我正确的方向(或者我应该说)。

在这种情况下,我们有一个现已解散的公司的这个Java应用程序。我们其中一个人设法获得源代码,但一直无法使用,所以我不得不采取其他措施来尝试获得我需要的更改。我使用jd-gui来查找我需要修改的类文件以及行(严重的只有3行我需要修改...)。 jd-gui会将类文件保存为.java文件,我相当肯定如果我可以将.java文件放回到类文件中,我只需要使用winrar将其删除。我在这里和那里读过,从中获取一个类文件并不那么简单。

我已经尝试使用eclipse创建一个新项目,我试过javac抱怨一些与任何事情无关的代码行,我的猜测是它真的告诉我有一个它无法处理的功能因为它在另一个类文件中定义,等等等等等等......

为什么这很复杂? '编译'的java文件(类?)引用了它需要的其他类文件,我不希望编译器运行程序,只需将它重新组合在一起并假设我的路径正确。我本质上不是一个程序员并且一直强迫自己javascript(是的,不是同一个东西),但我真的需要做一些小改动,然后再也不要再碰它了。

所以,我的问题是,什么是简单的解决方案(除了等待源代码 - 从现在到宇宙的最终热死之间的某个时间......)

1 个答案:

答案 0 :(得分:0)

我相信您需要一个包含更改的类文件,然后使用WinRar等将其修补到jar中。

试试这个。 在Eclipse中去。 窗口>偏好>运行/调试>启动。

根据需要更改设置。 (删除编译错误的任何提示和终止设置) 如果您想要使用部分编写的类运行测试,这非常有用。 这应该生成您需要的类文件然后可以修补。 祝你好运!