以 https://github.com/frohoff/ysoserial
为例,下载源码,然后用Intellij IDEA打开。如果这个项目里面包含了pom.xml文件,说明这个是用maven打包的项目,这时候Intelliy IDEA会自动根据其中的配置下载依赖。如果依赖有问题,你可以手工点击菜单里的Files - Project Structure,然后配置Libraries。
依赖弄好了,我们需要干一件事,就是找找整个项目里有哪些入口点(其实就是主类和main函数)。这个其实可以在maven的配置文件里找到,比如ysoserial的主类在这里配置的
maven-assembly-plugin就是一个用来打包项目的插件,可以把依赖、类文件什么的都打包在一起。这里的mainClass的值是ysoserial.GeneratePayload,自然就是主类。
根据这个配置,打开文件src/main/java/ysoserial/GeneratePayload.java,看到其中的main函数了吗,。点左边的小箭头,里面有个debug,这就是调试了。
点击之后发现下面会打印usage,因为你这会没加任何参数。所以,我们打开Debug Configurations。
修改Program arguments,加上运行时的命令行参数即可
。
调试,可见我在URLDNS这个gadget的代码里下拉个断点,这里已经成功断下
转载自 p牛知识星球