IceBox 是一个虚拟机自省解决方案,使您能够隐秘地跟踪和调试任何进程(内核或用户态)。 它基于项目 Winbagility。
可能对您有帮助的文件:
完整的快速入门指南已编写 在此处。
否则,请查看我们的 samples 文件夹。您可以按照这些 说明 构建这些示例,前提是您已安装 依赖项。
如果您使用 Windows 客户机,您可能需要将环境变量 _NT_SYMBOL_PATH 设置为包含客户机 PDB 文件的文件夹。请注意,如果 icebox 找不到客户机内核的 PDB,其设置将失败。
vm_resume:
vm_resume 只是暂停然后恢复您的虚拟机。
cd icebox/bin/$ARCH/
./vm_resume <vm_name>
nt_writefile:
nt_writefile 在进程调用 ntdll!NtWriteFile 时中断,并将写入的内容转储到主机当前目录下的一个文件中。
cd icebox/bin/$ARCH/
./nt_writefile <vm_name> <process_name>
heapsan:
heapsan 中断进程中 ntdll 的内存分配,并在每个指针前后添加填充。它仍不完整,尚未进行任何检查。
cd icebox/bin/$ARCH/
./heapsan <vm_name> <process_name>
wireshark:
wireshark 在 ndis 驱动程序读取或发送网络数据包时中断,并创建一个 wireshark 跟踪文件(.pcapng)。每个发送的数据包都会关联一个从内核态到用户态(如有必要)的调用栈。
cd icebox/bin/$ARCH/
./wireshark <name> <path_to_capture_file>