使用依赖项进行反编译

时间:2019-05-29 04:08:39

标签: java bukkit decompiler

我需要反编译的项目使用的API是代码的主要部分。我知道/拥有这个API,是否有任何方法可以将其提供给反编译器,以便使用该API中的对象?

示例(使用CFR反编译器)

Player sender = cmd.getSender();
Player target = cmd.getTarget();
World world = cmd.getWorld();
world.teleport(sender, target);

变成:

Object obj1 = cmd.getSender();
Object obj2= cmd.getTarget();
Object obj3 = cmd.getWorld();
// cast must be added manually or error
(World) obj3.teleport(obj1, obj2);

考虑到变量的声明和用法可能相距一百行,这令人讨厌,并且一个方法最多可以使用20个不同的变量。我知道您不能对名称做任何事情,但是知道类型会有所帮助。

是否可以解决此问题? (我没有反编译器的经验,所以我可能只是傻瓜)

1 个答案:

答案 0 :(得分:0)

没有反编译器总是可以反编译而没有任何错误。有时反编译很好,有时反编译不好。最好的方法是拥有多个反编译器,并相互使用以减少反编译源中的错误。
如果您使用Eclipse,我建议您使用plugin
或者,您可以尝试使用此单独的工具Jar Explorer。有树反编译器。这样您就可以轻松地与任何人一起玩。