当前位置: 首页 > news >正文

长沙seo优化排名东营优化网站

长沙seo优化排名,东营优化网站,注册什么公司给别人做网站,有服务器如何做网站反调原理 当程序发生异常崩溃的时候,如果设置了系统的调试器,那么就会启动调试器来调试该异常 这个信息是记录在注册表中的,win32 和 win64 版本分别是两个不同的路径,Debugger 表示调试器路径,Auto 为 1 表示启用自动…

反调原理

当程序发生异常崩溃的时候,如果设置了系统的调试器,那么就会启动调试器来调试该异常

这个信息是记录在注册表中的,win32 和 win64 版本分别是两个不同的路径,Debugger 表示调试器路径,Auto 为 1 表示启用自动附加调试

//32 位调试器的注册表路径
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug//64 位调试器的注册表路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

在调试器中也可以进行设置,设置后将会覆写注册表这里的配置项,在程序发生异常时将会启动新设置的调试器来调试异常

比如,下面是 x64dbg 的设置,勾选的话将会修改注册表中的调试器配置

安装 visual studio 默认会添加这里的配置项,当检测到用户机器配置了 vs 调试器,并不一定需要中止进程,大部分安装 vs 的用户也不一定需要反调试

但是可能会将该用户的行为进行重点监控,反调试的权重是肯定会比普通用户高的,对于注册表配置是 x64dbg 这种的,那么就可以直接中止进程并提示警告

实现代码

检测注册表实时调试器的完整的代码如下:

#include <iostream>
#include <thread>
#include <string>
#include <vector>
#include <windows.h>
#include <TlHelp32.h>bool CheckProcessIsDebugging()
{BOOL isx64 = FALSE;HKEY hKey = NULL;char key[] = "Debugger";char regValue[MAX_PATH] = { 0 };DWORD dwType = 0, dwLegth = MAX_PATH;char reg32[] = "SOFTWARE\\WOW6432Node\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug";char reg64[] = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug";//判断当前进程版本IsWow64Process(GetCurrentProcess(), &isx64);RegCreateKey(HKEY_LOCAL_MACHINE, isx64 ? reg64 : reg32, &hKey);RegQueryValueEx(hKey, key, NULL, &dwType, (LPBYTE)regValue, &dwLegth);return (strstr(regValue, "debugger") != NULL);
}void ThreadProc()
{while (true){if (CheckProcessIsDebugging()){std::cout << "Debugging..." << std::endl;}else{std::cout << "Running..." << std::endl;}std::this_thread::sleep_for(std::chrono::milliseconds(1000));}
}int main()
{std::thread thrd(ThreadProc);thrd.join();return 0;
}

逆向处理

逆向处理也很简单,调试前将这里的配置删除即可,可以使用一个 bat 脚本来实现

@echo offecho 正在删除 32 位 JIT 调试器配置...
reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug" /v Debugger /f
reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug" /v Auto /fecho 正在删除 64 位 JIT 调试器配置...
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" /v Debugger /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" /v Auto /fecho 已完成删除。
pause
http://www.dtcms.com/a/609351.html

相关文章:

  • Python 编程实战 · 实用工具与库 — Flask 基础入门
  • supOS工厂操作系统 | 像“拼乐高”一样做数据分析
  • 青岛营销型网站推广wordpress doc导入
  • upload-labs(1-13)(配合源码分析)
  • Kubernetes-架构安装
  • 【剑斩OFFER】算法的暴力美学——二维前缀和
  • 网站开发教程全集哪些网站做的好看
  • 2025IPTV 源码优化版实测:双架构兼容 + 可视化运维
  • 建设一个网站步骤揭阳专业网站建设
  • ftp下的内部网站建设竞价培训课程
  • 技术观察 | 语音增强技术迎来新突破!TFCM模型如何攻克“保真”与“降噪”的难题?
  • FPGA系统架构设计实践5_IP的封装优化
  • UDP服务端绑定INADDR_ANY后,客户端该用什么IP访问?
  • 不同传感器前中后融合方案简介
  • 《C++在LLM系统中的核心赋能与技术深耕》
  • sward V2.1.5 版本发布,支持文档导出为html\PDF,社区版新增多种账号集成与认证
  • 东莞建站网站模板怎么做电脑网站后台
  • 物联网赋能互联网医院:构建智慧医疗新生态
  • node.js+npm的环境配置以及添加镜像(保姆级教程)
  • Java 大视界 -- 基于 Java 的大数据联邦学习在跨行业数据协同创新中的实践突破
  • 企业做网站电话约见客户的对话北京网站建设 一流
  • Android Studio + Gemini 移动开发领域的一次范式转移
  • 基于多源政策信号解析与量化因子的“12月降息预期降温”重构及黄金敏感性分析
  • LinuxC语言文件i/o笔记(第十七天)
  • Spring AI Evaluation Testing(评估测试)
  • 太仓营销型网站建设四平网站建设怎么选
  • 记一次慢接口优化:载体详情页从90秒到800毫秒的性能提升实战
  • 微软Visual Studio 2026正式登场,AI融入开发核心操作体验更流畅
  • 微软vcpkg包管理工具如何使用?
  • 提供小企业网站建设织梦网站默认密码忘记