Minecraft için bir sunucu-addon ile çalışıyorum, bu gizlenmeyecek. Her zaman şaşırtmacadan sonra, orijinal sınıf isimlerini geri getirmenin imkansız olduğunu düşündüm, çünkü bunlar tamamen kaldırıldı ve ben her yerde okudum. Bir süreliğine tamir ettikten sonra, konsunda yakalanmamış bir istisna göründüğünde, sınıfların gizlenmiş isimlerini (ör., Cratereloaded.aT.d) ve daha sonra parantez içinde, genellikle sınıfın adı ve rahatsız edici çizgi, orijinal sınıf adını gösterir, bu da aslında deobfuscated olabileceğine inanmamı sağlar. Ancak, denediğim tüm araçların hiçbiri, orijinal sınıf adını geri yükleyebilecek gibi gözükmüyor, ancak bazı onaltılık sınavlardan sonra, orijinal sınıf isminin aslında derlenmiş '.class' dosyalarına gömülü olduğunu doğruladım.Gizlenmiş kodun Stacktrace, göze çarpmayan sınıf adını gösterir?
Sınıf isimlerini otomatik olarak geri yüklemek için bunu kullanabilen herhangi bir araç var mı?
Örnek StackTrace:
[03:49:57] [Server thread/ERROR]: Error occurred while disabling CrateReloaded v1.3.97.1 (Is it up to date?)
java.lang.NullPointerException: null
at cratereloaded.aT.d(CrateManager.java:303) ~[?:?]
at cratereloaded.aT.bm(CrateManager.java:298) ~[?:?]
at cratereloaded.aT.cleanup(CrateManager.java:83) ~[?:?]
at cratereloaded.aX.disable(Manager.java:27) ~[?:?]
at cratereloaded.b.cleanup(CrateReloaded.java:122) ~[?:?]
at cratereloaded.b.onDisable(CrateReloaded.java:109) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[spigot.jar:git-Spigot-596221b-2c5c611]
at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:361) [spigot.jar:git-Spigot-596221b-2c5c611]
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:421) [spigot.jar:git-Spigot-596221b-2c5c611]
at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:414) [spigot.jar:git-Spigot-596221b-2c5c611]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.disablePlugins(CraftServer.java:342) [spigot.jar:git-Spigot-596221b-2c5c611]
at net.minecraft.server.v1_12_R1.MinecraftServer.stop(MinecraftServer.java:464) [spigot.jar:git-Spigot-596221b-2c5c611]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:612) [spigot.jar:git-Spigot-596221b-2c5c611]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Eklentinin amacı kesinlikle özel bir sunucunun bir parçasıydı ve bu soruyu sorduğum sırada zaten işe yarayan bir hacky çözümü vardı. CrateReloaded'in yazarı, API'sı ile ilgili bir sorunu işaret ettikten sonra sizinle bağlantı kurdu ve gelecekteki güncellemelerde eklentinin daha fazlasını gösterme görevini memnuniyetle kabul etti. – XXLuigiMario
Mükemmel. Yazarın GPL ile uyumlu olan kodu sağlamaya istekli olduğunu duyduğuma sevindim. – Frelling