直接修改class文件可以吗?

java项目找不到源代码了,但有部署后的class文件。现在只需要简单修改一个数字,如下面的代码:
if(a.equals("13"))
{
System.out.println("xxxxxxx");
}
现在只需要把13改成14,我试了反编译再修改再编译,但是跑不起来。我用编辑器直接打开class文件,找到13这个字符串,改成14,保存,替换掉原来的class文件,还是不行,请问大神,这个问题怎么解决?什么原因?

  可以修改,前提是你需要完全掌握Java字节码文件的格式,按照规则来修改,否则Java虚拟机是无法识别你改过的class文件的。建议先研究下class文件吧,每一个字节都是有特定含义的。你这个修改可以对比修改前后class文件那些字节码不同,然后才知道改哪里,改的地方是什么含义。
  基于以上原因,我们还是使用Java编译器编译标准的类文件才行,改了源文件后再重新编译替换旧版本的类文件。

肯定是可以修改的,但是class是字节码,如果你要进行修改的话,必须要知道源代码编译过之后的字节码内容。希望对你有用哈图片说明

改是可以的,但是你必须知道要改的源码编译后的字节码是哪些

你改的这个是APP中的还是项目部署中的,有些打包需要签名认证信息的