1
3
一件事是,字节码操作产生的错误可能更难诊断。对源代码的检查和源代码级调试将更加困难。
验证程序应该(理论上)防止修改后的字节码破坏核心类型系统和损坏JVM。(不言而喻,不受信任的代码不应该被允许做字节码修改,所以我们可以对这种情况进行打折。)但是,在过去,一些Java字节码验证器已经不是彻底的。 此外,字节码修改:
字节码修改可以做一些事情,使现有的序列化对象可以被修改的类读取;例如,通过添加和删除字段,或者通过更改类超类和接口。但是,您可以通过更改源代码来执行相同的操作。 |
2
2
JVM验证 bytecodes 但是 deviant bytecode 可能代表安全威胁。 |