终止DebugActiveProcess或其他调试例程
Terminate DebugActiveProcess or other debugging routines
我有点想把这更多地作为一个思想实验(我在聊天中问过,但被引导到这里)。但如果有帮助的话,我可以提供代码。这是场景!
进程1正在运行并不断调试进程2,我在进程2中注入了一个DLL,并绕过了它所依赖的一个Windows函数,这样我就可以执行自己的代码。在流程2中是否有一种方法可以阻止流程1继续调试流程2?
我不知道你对"阻止调试"的唯一含义是什么。
使用NtSetInformationThread ,可以避免debbuger接收任何与进程相关的事件
push 0
push 0
push 11h ;ThreadHideFromDebugger
push -2 ;GetCurrentThread() // you can use it on every thread
call NtSetInformationThread
参考:Peter Ferrie反调试技巧http://pferrie.host22.com/papers/antidebug.pdf
相关文章:
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- c++类声明时,相同的例程,不同的成员变量类型
- C++为线程工作动态地分割例程
- 子例程,不使用 pow,并带有参数和返回
- 直接在RcppArmadillo中调用LAPACK例程
- 如何将C++子例程链接到 x86 程序集程序?
- PX 转换例程编译问题
- 成功完成TLS握手后,服务器关闭时出现错误的SSL例程:SSL3_GET_RECORD:错误的版本号
- 只允许授权代码调用库中的例程
- JNI 不满意链接错误: 动态链接库 (DLL) 初始化例程失败
- 在 C++20 中调试协程
- 调用子例程时类型不匹配
- 将分配给C++数组传递给 Fortran 子例程
- Android Studio 3.1.2 - 无法运行C++子例程"No implementation found for Java.lang.String..."
- Posix 线程类和启动例程 (pthread)
- OpenBLAS 只为一个例程设置线程数
- 检查并行化 BLAS 例程的结果
- 我们应该测量例程的平均执行时间还是最小执行时间?
- 试图在C 中调用Fortran子例程
- 终止DebugActiveProcess或其他调试例程