NtCall64 开源项目使用教程
NtCall64Windows NT x64 syscall fuzzer项目地址:https://gitcode.com/gh_mirrors/nt/NtCall64
1. 项目的目录结构及介绍
NtCall64 项目的目录结构如下:
NtCall64/
├── LICENSE
├── README.md
├── appveyor.yml
├── ntcall64.sha256
├── ntcall64.log
├── ntcall64.exe
├── badcalls.ini
└── src/
├── main.c
├── utils.c
├── fuzzer.c
└── include/
├── ntcall64.h
└── utils.h
目录结构介绍
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- appveyor.yml: AppVeyor 持续集成配置文件。
- ntcall64.sha256: 文件的 SHA256 校验和。
- ntcall64.log: 默认的日志文件。
- ntcall64.exe: 编译后的可执行文件。
- badcalls.ini: 配置文件,用于黑名单特定的服务。
- src/: 源代码目录。
- main.c: 主程序文件。
- utils.c: 工具函数文件。
- fuzzer.c: 模糊测试核心文件。
- include/: 头文件目录。
- ntcall64.h: 主头文件。
- utils.h: 工具函数头文件。
2. 项目的启动文件介绍
项目的启动文件是 ntcall64.exe
,这是一个编译后的可执行文件。运行该文件可以启动 NtCall64 的模糊测试功能。
启动参数
-help
: 显示程序参数帮助。-log
: 启用日志记录,通过 COM1 端口记录参数。-pname
: 端口名称,用于日志记录。-ofile
: 日志文件名,默认是ntcall64.log
。-win32k
: 启动 W32pServiceTable 服务的模糊测试。-call Id
: 通过提供的 ID 进行系统调用模糊测试。-pc Value
: 设置每个系统调用的传递次数。-wt Value
: 设置调用线程的等待超时时间。-start Id
: 从给定的系统调用 ID 开始模糊测试。-s
: 尝试以 LocalSystem 账户运行程序。
3. 项目的配置文件介绍
项目的配置文件是 badcalls.ini
,该文件用于黑名单特定的服务,避免不必要的测试。
配置文件示例
[Blacklist]
Service1=1
Service2=1
Service3=0
配置文件说明
[Blacklist]
: 配置文件的节标题。Service1=1
: 将Service1
加入黑名单。Service2=1
: 将Service2
加入黑名单。Service3=0
:Service3
不加入黑名单。
通过修改 badcalls.ini
文件,可以自定义需要黑名单的服务,从而提高测试的灵活性和针对性。
NtCall64Windows NT x64 syscall fuzzer项目地址:https://gitcode.com/gh_mirrors/nt/NtCall64