因为任务需要,需要对第三方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