因為任務需要,需要對第三方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