- 首先这是一种比较奇特的反调试思路,通过检测自身父进程来判定是否被调试,原理非常简单,我们的系统在运行程序的时候,绝大多数应用程序都是由Explorer.exe这个父进程派生而来的子进程,也就是说如果没有被调试其得到的父进程就是Explorer.exe的进程PID,而如果被调试则该进程的父进程PID就会变成调试器的PID值,通过对父进程的检测即可实现检测是否被调试的功能。#include <W... 首先这是一种比较奇特的反调试思路,通过检测自身父进程来判定是否被调试,原理非常简单,我们的系统在运行程序的时候,绝大多数应用程序都是由Explorer.exe这个父进程派生而来的子进程,也就是说如果没有被调试其得到的父进程就是Explorer.exe的进程PID,而如果被调试则该进程的父进程PID就会变成调试器的PID值,通过对父进程的检测即可实现检测是否被调试的功能。#include <W...
- STARTUPINFO 结构体,可以用来指定新进程的主窗口外观风格、背景颜色、标题等信息,也可以用来实现反调试技术。通常情况下,我们可以将STARTUPINFO结构体中的dwFlags成员设置为STARTF_DEBUGONLYTHISPROCESS,以防止调试器附加到当前进程。设置了STARTF_DEBUGONLYTHISPROCESS后,如果尝试通过调试器附加到该进程,则调试器将直接失败并... STARTUPINFO 结构体,可以用来指定新进程的主窗口外观风格、背景颜色、标题等信息,也可以用来实现反调试技术。通常情况下,我们可以将STARTUPINFO结构体中的dwFlags成员设置为STARTF_DEBUGONLYTHISPROCESS,以防止调试器附加到当前进程。设置了STARTF_DEBUGONLYTHISPROCESS后,如果尝试通过调试器附加到该进程,则调试器将直接失败并...
- CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用。函数接收两个参数进程句柄和一个指向布尔值的指针。如果指定的进程正在被调试,则函数会把指向布尔值的指针设为 TRUE,否则设为FALSE。#include <stdio.h>#include <windows.h>// 定义指针typedef BOOL(WINAPI *CHE... CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用。函数接收两个参数进程句柄和一个指向布尔值的指针。如果指定的进程正在被调试,则函数会把指向布尔值的指针设为 TRUE,否则设为FALSE。#include <stdio.h>#include <windows.h>// 定义指针typedef BOOL(WINAPI *CHE...
- 关于在 C 和 C++ 中 struct 的区别时,你可以从以下几个方面进行回答:1.默认访问权限:2.在 C 中,struct 中的成员默认是公开的,意味着结构体外部可以直接访问成员。3.在 C++ 中,struct 中的成员同样默认是公开的,与 C 保持一致。这与 class 关键字中的默认私有访问不同。4.继承和访问控制:5.在 C 中,struct 不支持继承的概念,也没有访问控制(... 关于在 C 和 C++ 中 struct 的区别时,你可以从以下几个方面进行回答:1.默认访问权限:2.在 C 中,struct 中的成员默认是公开的,意味着结构体外部可以直接访问成员。3.在 C++ 中,struct 中的成员同样默认是公开的,与 C 保持一致。这与 class 关键字中的默认私有访问不同。4.继承和访问控制:5.在 C 中,struct 不支持继承的概念,也没有访问控制(...
- 4. 只出现一次的数字 II题目链接: link思路讲解这道题还是让我们找出数组中只出现一次的那个数字,但是与第一题不同的是,其余数字均出现三次。那我们用第一题的方法肯定是不行了,那我们可以怎么做呢?我们后面学了unordered_map的话用unordered_map其实可以很容易解这道题,不过我们现在还没学。那这里我就用了一种比较暴力的方法,也很好理解:怎么做呢?遍历数组,一次取每个元素... 4. 只出现一次的数字 II题目链接: link思路讲解这道题还是让我们找出数组中只出现一次的那个数字,但是与第一题不同的是,其余数字均出现三次。那我们用第一题的方法肯定是不行了,那我们可以怎么做呢?我们后面学了unordered_map的话用unordered_map其实可以很容易解这道题,不过我们现在还没学。那这里我就用了一种比较暴力的方法,也很好理解:怎么做呢?遍历数组,一次取每个元素...
- get() 是 istream 类的成员函数,它有多种重载形式,不过本文只介绍最简单最常用的一种:int get();此函数从输入流中读入一个字符,返回值就是该字符的 ASCII 码。如果碰到输入的末尾,则返回值为 EOF。EOF 是 End of File 的缩写。istream 类中从输入流(包括文件)中读取数据的成员函数,在把输入数据都读取完后再进行读取,就会返回 EOF。EOF 是在... get() 是 istream 类的成员函数,它有多种重载形式,不过本文只介绍最简单最常用的一种:int get();此函数从输入流中读入一个字符,返回值就是该字符的 ASCII 码。如果碰到输入的末尾,则返回值为 EOF。EOF 是 End of File 的缩写。istream 类中从输入流(包括文件)中读取数据的成员函数,在把输入数据都读取完后再进行读取,就会返回 EOF。EOF 是在...
- 函数指针的概念你了解嘛?他是怎么调用的以及实例应用是怎么样的?本篇文章给你全部讲解清楚,让你轻松学会函数指针! 函数指针的概念你了解嘛?他是怎么调用的以及实例应用是怎么样的?本篇文章给你全部讲解清楚,让你轻松学会函数指针!
- 位段 枚举 联合体 这些有些在C语言的学习中可能听过,但是都不是很了解!今天就个大家详细讲解一下,让你彻底搞懂这些是什么 位段 枚举 联合体 这些有些在C语言的学习中可能听过,但是都不是很了解!今天就个大家详细讲解一下,让你彻底搞懂这些是什么
- C++ 规定,下标运算符[ ]必须以成员函数的形式进行重载。该重载函数在类中的声明格式如下:返回值类型 & operator[ ] (参数);const 返回值类型 & operator[ ] (参数) const;使用第一种声明方式,[ ]不仅可以访问元素,还可以修改元素。使用第二种声明方式,[ ]只能访问而不能修改元素。在实际开发中,我们应该同时提供以上两种形式,这样做是为了适应 con... C++ 规定,下标运算符[ ]必须以成员函数的形式进行重载。该重载函数在类中的声明格式如下:返回值类型 & operator[ ] (参数);const 返回值类型 & operator[ ] (参数) const;使用第一种声明方式,[ ]不仅可以访问元素,还可以修改元素。使用第二种声明方式,[ ]只能访问而不能修改元素。在实际开发中,我们应该同时提供以上两种形式,这样做是为了适应 con...
- 和构造函数类似,析构函数也不能被继承。与构造函数不同的是,在派生类的析构函数中不用显式地调用基类的析构函数,因为每个类只有一个析构函数,编译器知道如何选择,无需程序员干涉。另外析构函数的执行顺序和构造函数的执行顺序也刚好相反:创建派生类对象时,构造函数的执行顺序和继承顺序相同,即先执行基类构造函数,再执行派生类构造函数。而销毁派生类对象时,析构函数的执行顺序和继承顺序相反,即先执行派生类析构... 和构造函数类似,析构函数也不能被继承。与构造函数不同的是,在派生类的析构函数中不用显式地调用基类的析构函数,因为每个类只有一个析构函数,编译器知道如何选择,无需程序员干涉。另外析构函数的执行顺序和构造函数的执行顺序也刚好相反:创建派生类对象时,构造函数的执行顺序和继承顺序相同,即先执行基类构造函数,再执行派生类构造函数。而销毁派生类对象时,析构函数的执行顺序和继承顺序相反,即先执行派生类析构...
- shared_ptr shared_ptr
- using定义模板别名和显式指定模板参数 using定义模板别名和显式指定模板参数
- 成员函数模板和模板显式实例化 成员函数模板和模板显式实例化
- 左值和右值 左值和右值
- 入门必知 入门必知
上滑加载中
推荐直播
-
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中 -
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
正在直播
热门标签