veh的检测一般检测的函数有哪些
时间: 2023-07-30 07:06:43 浏览: 52
Windows操作系统提供了VEH(Vectored Exception Handling,向量化异常处理)机制,它允许应用程序在异常发生时拦截和处理异常。VEH可以用于一些特定的异常处理场景,如异常过滤、异常记录、异常处理链的修改等。
在VEH的检测中,可以拦截和处理以下一些常见的异常:
1. 访问冲突异常(ACCESS_VIOLATION):当应用程序尝试访问无效的内存地址或未分配的内存时抛出的异常。
2. 算术异常(ARITHMETIC_OVERFLOW):当应用程序执行算术运算导致溢出或除以零时抛出的异常。
3. 非法指令异常(ILLEGAL_INSTRUCTION):当应用程序执行非法指令或未定义的指令时抛出的异常。
4. 断点异常(BREAKPOINT):当应用程序执行到断点指令(如调试器设置的断点)时抛出的异常。
5. 单步异常(SINGLE_STEP):当应用程序启用了单步调试功能,并且执行到了单步执行指令时抛出的异常。
请注意,这只是一些常见的异常类型,实际上VEH机制可以拦截和处理更多类型的异常。具体要拦截和处理哪些异常,可以根据应用程序的需求进行配置和实现。
相关问题
SetUnhandledExceptionFilter 是否可以用来检测非法用户使用veh来接管我的异常
`SetUnhandledExceptionFilter` 函数本身不能直接用来检测非法用户使用VEH(Vectored Exception Handling)来接管你的异常。`SetUnhandledExceptionFilter` 函数是用于设置全局的异常过滤器,可以用于自定义异常处理逻辑。它主要用于捕获和处理应用程序中未被捕获的异常。
如果你想要检测非法用户使用VEH来接管你的异常,你可以考虑以下方法:
1. 监控异常处理链:可以通过遍历和检查进程的异常处理链来检测是否存在异常处理程序被非法用户修改的情况。可以使用 `GetUnhandledExceptionFilter` 函数获取当前的全局异常过滤器,并检查它是否被修改。
2. 检查异常处理器的地址:可以使用调试技术来检查异常处理器的地址是否符合预期。非法用户可能会将异常处理器的地址修改为自己的代码地址。可以使用调试器或反汇编工具来检查异常处理器的地址是否正确。
3. 使用安全软件或防篡改技术:可以使用安全软件或防篡改技术来检测和阻止非法用户对异常处理器的修改和接管。这些软件和技术可以监控进程的行为,并在发现异常处理器被修改时进行报警或进行其他相应的操作。
需要注意的是,这些方法可以帮助你检测异常处理器被非法用户接管的情况,但并不能完全阻止所有的攻击。在开发和部署应用程序时,建议采取综合的安全措施来保护应用程序的完整性和安全性。
VEH 无痕HOOK代码
VEH (Virtual Environment Hooking) 是一种高级恶意软件技术,它通常用于创建无痕或绕过操作系统和安全软件检测的挂钩(Hooking)。在Windows环境中,VEH允许恶意代码在进程的虚拟地址空间中动态插入钩子,而不是在目标程序的原代码上直接修改。这种技术通过虚拟机(VM)或硬件辅助虚拟化来执行,使得攻击者可以在不改变原程序的情况下监控、修改或拦截系统调用。
VEH代码通常包括以下几个步骤:
1. **内存映射**:恶意代码首先会将自己的部分代码映射到目标进程的地址空间中。
2. **设置钩子**:通过API如`GetProcAddress`获取需要监控的函数的地址,并在映射的内存区域中设置一个跳转到自己代码的入口点。
3. **执行原代码**:当目标进程调用被钩的函数时,实际上执行的是恶意代码的处理逻辑。
4. **处理结果**:处理完后,恶意代码再将控制权返回给原函数的正常执行流程。