天天看點

java 反編譯工具Java Decompiler 和 Java Bytecode Decomplier

因為任務需要,需要對第三方jar包進行修改,是以需要反編譯

Java Decompiler 和 Java Bytecode Decomplier

前者提供各個平台操作ui ,後者為 idea 的插件

前者提供ui可以直接将 jar包拖入可視視窗進行反編譯,操作簡單,後者需要執行 指令

用前者反編譯的時候,在反編譯 Map<String, Integer> 對象初始化的時候,初始化的内容丢失了,char類型比較數字 ch < 256, 256反編譯,執行結果是一個特殊字元,後者可以正常反編譯

後者在反編譯 int lenght = 0 給我反編譯出 int length = false

好吧,結合用吧

我個人更傾下于後者,前者反編譯出來的代碼 啰七八嗦,各種加些多餘代碼包裹,後者跟源代碼更加貼近,更重要的是 後者的錯誤 編譯時會展現,前者的錯誤,隻有運作期調試的時候才能見吧 2333333

後續

當有重寫方法的時候 ,反編譯出來的代碼,兩者都不能展現出來 即 @Override 沒有,換句話說,反編譯的代碼 注解,代碼注釋這些都不會有,編譯時候 編譯器沒有編譯注解,反編譯不了。 呵呵 ,摸石頭了,如果想程式不要被反編譯輕松破解,多加注解吧 23333333333