4ra1n / super-xray

Web漏洞扫描工具XRAY的GUI启动器
https://github.com/chaitin/xray
Apache License 2.0
1.26k stars 144 forks source link

[公告] 不能支持JDK8的原因和解决办法 #62

Closed 4ra1n closed 2 years ago

4ra1n commented 2 years ago

这个问题我研究了一段时间,发现没有很好的解决方案,目前有功能需要Process.pid()方法,但是这个方法在JDK9+以后可以用。研究发现在JDK8里可以用JNA和反射拿到这个pid值,但后果是工具只能跑在JDK8下。如果使用这个方式解决,在JDK9+里会遇到反射Filter黑名单。我找到BeichenDream师傅的bypass代码,虽然可以成功,但是稳定性存疑,且在某个高版本后这个方式应该会失效。综上所述,与其找各种方式,最终实现一个不稳定的版本,为了能兼容JDK8可能不妥。现在考虑的方案是每个新版本提供两种:仅在JDK8下可用和JDK9-19可用的版本。

4ra1n commented 2 years ago

还有一种愚蠢的办法,是使用tasklist/ps拿到pidtaskkill/kill停止,不打算这样做。

4ra1n commented 2 years ago

已解决