Detours示例程序构建
要构建示例应用程序,请在samples目录中键入nmake。注意,为了使用许多其他示例程序,必须构建setdll和syslog示例。
每个样例目录都有一个测试,可以通过键入nmake test调用它来演示样例的用法。除了极少数例外,所有的.exe程序也接受/?命令显示使用信息。
跟踪示例通过syelogd.exe守护进程记录其输出,并挂钩CreateProcessW以将自己加载到任何子进程。例如,输入withdll -d:traceapi.dll cmd.exe将创建一个命令shell,在这个命令shell下,所有进程都将通过traceapi.dll记录它们的API调用。
Detours包括以下示例:
的名字 | 描述 |
---|---|
Commem | 演示如何绕过COM接口的成员函数。 |
cp | 绕过DCOM/RPC堆栈中的多个函数来度量发送DCOM消息的开销。 |
Disas | 测试Detours反汇编程序表。 |
dt | 绕过Win32 Sleep函数和一个私有函数。 |
Dumpe | 转储从二进制文件导出的所有函数的列表。 |
Dumpi | 转储二进制文件导入的所有函数的列表。 |
dynamic_alloc | 绕到在动态分配的区域上编写的代码 |
Einst | 查找编译成二进制文件的有效负载。 |
Excep | 使用第一次例外过滤器来切换页面上的虚拟机权限。 |
FindFunc | 绕道函数使用DetourFindFunction使用调试符号查找函数。 |
Impmunge | 修改二进制文件导入表中的所有条目。 |
Member | 演示如何绕过类成员函数。 |
Payload | 演示使用有效负载在运行时通信信息的各种方法。 |
Region | 演示如何更改蹦床的内存限制区域。 |
Setdll | 将DLL添加到任何二进制文件的导入表中. dll 或. exe 例如) |
Simple | 修改API来记录sleep所花费的节拍数。 |
sleep | 更详细的版本简单的 样本。 |
Syelog | 系统事件日志库和服务。 |
Traceapi | Win32 API跟踪示例。为1401 Win32 API函数绕道并打印跟踪语句。 |
Tracebld | 跟踪进程及其所有子进程的文件访问模式。 |
Tracelnk | 跟踪对Windows动态链接api的所有调用。 |
Tracemem | 跟踪所有对Windows的调用HeapAllocAPI。 |
Tracereg | 通过注册中心api跟踪活动。 |
Traceser | 通过串口(com1或com2)跟踪活动。 |
Tracetcp | 通过WinSock TCP api跟踪活动。 |
Tryman | 演示如何使用辅助进程钩住32位和64位目标进程。 |
Withdll | 演示如何在不修改目标应用程序的情况下将绕道DLL加载到新进程中。 |