Tag: jdwp

如何在我使用JDWP远程调试的JVM中运行自己的java代码?

作为一名渗透测试人员,我遇到了一个开放的JDWP端口。 我可以使用Eclipse连接它并浏览线程和内存,但我没有应用程序的源代码。 我想注入我自己的Java代码,也许作为exception处理程序,以便返回一个shell。 如何通过JDWP修改正在运行/挂起的Java应用程序,最好使用Eclipse作为我的调试器?

Java JVMTI不能与-Xdebug -Xrunjdwp一起使用

我花了最后4个小时尝试在必须远程运行的Tomcat实例上设置Eclipse TPTP内存分析(即不在Eclipse中)。 根据TPTP和代理控制器文档,这应该是可能的。 我根据网站上的说明将TPTP组件(4.6.0)安装到我的Eclipse(Galileo)工作台以及代理控制器中。 为了启用代理,我在启动Tomcat实例的命令行中添加了以下选项: -agentlib:JPIBootLoader=JPIAgent:server=enabled;HeapProf:allocsites=true 并将以下目录添加到PATH的前面: D:\dev\tools\ac\plugins\org.eclipse.tptp.javaprofiler D:\dev\tools\ac\bin 尝试启动Tomcat时,我始终收到以下错误消息: ERROR: JDWP unable to get necessary JVMTI capabilities. [“debugInit.c”,L279] 我做了很多谷歌搜索,但发现没有相关性; 我尝试重新安装TPTP和各种版本的代理控制器。 最后问题结果是我用“jpda”选项启动Tomcat,catalina.bat转换为 -Xdebug -Xrunjdwp:transport=….. 删除“jpda”命令参数导致JVMTI开始工作。 所以,问题是:我在任何搜索过程中都没有发现任何内容,表明JVMTI代理与调试不兼容。 有人可以解释发生了什么以及为什么JVMTI + JDWP不是有效的设置?