DHook
DHook是一个支持动态debug,动态修改java程序的web应用.
Install / Use
/learn @keven1z/DHookREADME
DHook 
</div>
<p align="center">
DHook是一个支持动态debug,动态修改java web应用类的参数,返回值等的web应用.
</p>
部署
git clone https://github.com/keven1z/DHook.git,根目录运行mvn clean package或者直接下载release包- 本地运行
java -jar DHookServer-[release-version].jar
# http 端口:8081
# websocket 端口:7070
快速开始
创建应用
点击新建,创建一个应用,用于测试待hook的web应用

下载agent
下载agent,用于对应用进行hook

部署agent
在待测试应用运行时加入-javaagent:{path}/dHook.jar运行参数。
添加hook点
点击添加hook点,输入待hook的classname和method,即可进行hook
查看hook点信息
点击hook点详情,即可查看hook点入参,返回值以及调用栈信息。
案例
以破解cs4.4为例,我们已知破解cs 需要修改common/Authorization中的以下参数:
- validto 有效期
- valid 有效性
以及调用
common/SleevedResource.Setup传入密钥即可。 我们在方法执行前加入对应的参数和对应破解的值,并执行common/SleevedResource.Setup静态方法,最后加入return,使<init>方法执行返回。

文档
后续计划
- [ ] 插件离线化
- [ ] 自定义配置文件
- [ ] 检测插件
- [ ] 动态辅助漏洞测试
更新
2.5 beta1 版本 2022/12/18
- 增加心跳包断线重连
- 增加类图 类详细信息查看以及源码下载功能
- 增加hook点调用参数,调用栈等信息展示
2.4版本 2022/8/22
- 增加自定义ip配置功能
- 增加hook library功能
- 更新插件编写规则
2.3.1版本 2022/7/5
- 更新ui(凑合能看)
- 补充修改应用名和hook点信息的功能
2.3版本 2022/6/26
- 增加插件功能
2.2版本
- 增加导出仅包含hook点信息的agent
2.1版本
- 可以增加方法执行前后静态方法执行参数
- 增加方法执行前后,直接return
2.0版本
- 增加交互式的hook操作
- 增加方法执行前后的修改
1.1版本
- 增加通过
*打印该类的所有方法 - 支持打印返回值
- 支持反编译代码
- 支持修改参数
1.0版本
- 支持hook接口,当填写的类为接口时,默认会hook所有实现的子类
- 支持更改hook类的返回类型为string,int,boolean的返回值
- 支持打印hook方法的所有参数值
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
