我有一個jar文件,我需要編輯一個特定的類並將其保存回jar文件。 我嘗試了不同的反編譯器,但我無法保存回jar。需要幫助來反編譯jar文件,編輯一個類,並保存爲jar文件
我試着Eclipse和JADCLIPSE一起反編譯。 通過使用它,我可以看到反編譯的類文件,但我無法編輯它。 任何人都可以請幫我解決這個問題嗎?
我有一個jar文件,我需要編輯一個特定的類並將其保存回jar文件。 我嘗試了不同的反編譯器,但我無法保存回jar。需要幫助來反編譯jar文件,編輯一個類,並保存爲jar文件
我試着Eclipse和JADCLIPSE一起反編譯。 通過使用它,我可以看到反編譯的類文件,但我無法編輯它。 任何人都可以請幫我解決這個問題嗎?
我用JD-GUI反編譯的.jar的,這有導出所有反編譯的類的選項。如果你正在反編譯的.jar沒有被混淆,那麼這個源代碼應該是可重新編譯的(否則你需要通過字節碼編輯來解決它)。
一旦你提取了這些類,你需要確保在編譯時使用-CP
參數指向.;MyJar.jar
進行編譯,以便在編譯時可以找到.jar中的依賴關係。
重新編譯並生成新的.class文件後,用7z打開.jar文件,然後用新文件替換舊的.class文件。你可以使用命令行jar工具來完成這一步,但7z使它更容易。再一次,如果jar被混淆了,並且類文件只有區分大小寫的區別,你可能需要使用Linux重新插入.class文件。 (可能在Windows上可能,但我從來沒有深入研究它)。
我以前反編譯這個Java程序添加一個命令行界面,你也許可以找到註釋中的鏈接;
然後有很多免費的實用程序可用,如WinZip,7-ZIP,你可以使用它們。
在打開jar文件之前,只需將jar的擴展名更改爲zip文件,然後提取您要編輯的特定類文件,然後使用任何反編譯器對其進行反編譯,進行更改,然後將其編譯回去,最後再放回在zip文件中。
希望它有幫助。
感謝
謝謝。現在我完成了一半。我試圖在configurator.jar中編輯一個特定的java文件。我沒有編輯文件。 – user2635337
然後將類路徑設置爲d:\ project \ configurator.jar。我試圖使用命令提示符在Windows中編譯Java。但是,獲得「包不存在錯誤」。我懷疑java程序不能導入這個包。 (java代碼 - 導入de.tu_berlin.aio.cams.configuration.CamsLogger.LogOperator;)和(錯誤是 - 包CamsLogger不存在)。我再次檢查了這一點,包裝存在於上述路徑中。在設置課程路線時我犯過什麼錯誤嗎?請幫忙。 – user2635337
如果你的jar有任何依賴關係,你將需要將它們包含在類路徑中。 – Robadob