Open 0Xenc opened 4 months ago
这个问题是因为JDK中的java.io.ObjectInputStream在rt.jar中,没有添加到需要分析的jar包列表中 需要解决的话,可以在生成的文件里增加 ObjectInputStream 子类调用 ObjectInputStream.readObject() 的调用关系 也可以在数据库表中增加 看需要使用哪种方式,我优化一下
我尝试将rt.jar 放入需要分析的目录中,但是依然没有看到method_call中增加了net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream:readObject()到java.io.ObjectInputStream:readObject()的调用,希望能在method_call中增加,这样就能更清楚的了解实际上调用的是哪一个类,比如增加了net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream:readObject()到java.io.ObjectInputStream:readObject(),进行数据分析就能识别出实际上调用的是ObjectInputStream
这个问题可以解决,这段时间事情比较多,有空了我优化下
好的,感谢。优化好了关闭这个issue即可。
提交了2.0.1版本,应该解决了这个问题
copy "C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar" D:\desktop\test\ cd D:\desktop\test\
jar -xvf rt.jar java/io/
jar -xvf rt.jar java/io/ObjectInputStream.class
EG代码:
从结果中只能得出调用了父类方法,method_call里面能否加入一个TestObject:readObject() 调用java.io.ObjectInputStream:readObject()
再比如:
net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream:readObject() 在method_call中查不到调用了java.io.ObjectInputStream:readObject()