首页
学习
活动
专区
工具
TVP
发布

#c++

使用广泛的计算机程序设计语言。通用程序设计语言,支持多重编程模式

8.10 TLS线程局部存储反调试

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

TLS(Thread Local Storage)用来在进程内部每个线程中存储私有的数据。每个线程都会拥有独立的TLS存储空间,可以在TLS存储空间中保存线程的...

200

8.9 RDTSC时钟检测反调试

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

RDTSC时钟检测同样可实现反调试检测,使用时钟检测方法是利用rdtsc汇编指令,它返回至系统重新启动以来的时钟数,并且将其作为一个64位的值存入EDX:EAX...

200

8.8 异常处理机制反调试

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

通常可以通过在程序中设置异常处理函数,并在其中发起一个异常,然后判断程序是否已经被调试器附加来实现反调试。如果异常处理函数没有被触发,则说明程序已经被调试器附加...

200

8.7 父进程检测反调试

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

首先这是一种比较奇特的反调试思路,通过检测自身父进程来判定是否被调试,原理非常简单,我们的系统在运行程序的时候,绝大多数应用程序都是由Explorer.exe这...

200

8.6 STARTUPINFO

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

STARTUPINFO 结构体,可以用来指定新进程的主窗口外观风格、背景颜色、标题等信息,也可以用来实现反调试技术。通常情况下,我们可以将STARTUPINFO...

200

8.5 DebuggerPresent

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用。函数接收两个参数进程句柄和一个指向布尔值...

200

【面试题精讲】Java 和 C++ 的区别?

程序员朱永胜

Java 和 C++都是流行的编程语言,用于开发各种类型的应用程序。它们具有不同的特点和用途。

500

【Rust日报】2023-06-07 使用 C++ 编写通用库并在 Rust 中使用它 (WASI)

MikeLoveRust

WebAssembly 是一种二进制指令格式,旨在成为一种低级虚拟机,可以在 Web 浏览器中以接近本机的速度运行代码。它不特定于网络,也可以在其他平台上运行。...

2020

C++ 2019-2022 CSP_J 复赛试题横向维度分析(中)

一枚大果壳

上文讲解了2019~2022年第一题和第二题。第一题偏数学认知,算法较简单,第二题考查基本数据结构,如队列、栈……和基础算法,如排序、模拟……。

2520

Windows C++ 使用PIPE命名管道实现进程间通讯

阿六_Dexter

本文章是介绍在Windows下,使用PIPE管道实现进程间通讯,可是实现两个进程之前相互发送读取消息。

1830

C#判断VC库是否安装

码客说

https://learn.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist?view=ms...

3540

8.1 TEB与PEB概述

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

在开始使用TEB/PEB获取进程或线程ID之前,我想有必要解释一下这两个名词,PEB指的是进程环境块(Process Environment Block),用于...

4020

7.7 实现进程内存读写

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

内存进程读写可以让我们访问其他进程的内存空间并读取或修改其中的数据。这种技术通常用于各种调试工具、进程监控工具和反作弊系统等场景。在Windows系统中,内存进...

6550

新版.Net性能有没有达到C++90%?

江湖评谈

1.前言 RT:新的.Net性能有没有达到C++90%?这是个伪命题,为什么呢?因为.Net是即时编译,它第一次的性能是非常拉胯的,完全无法跟C++相比。然第二...

5930

C++ 2019-2022年 CSP_J 复赛试题横向维度分析(上)

一枚大果壳

本文对 2019、2020、2021、2022 4年来 CSP_J 复赛的笔试题目以横向维度进行比较,希望对参加复赛的学生有帮助。本文在讲解每一道题目时,仅提供...

17240

临界对象CRITICAL_SECTION(C++)

江湖评谈

1.前言 一些高级语言,比如Java/C#/Python/Go里面会在确保同一时间内,只有一个线程访问一些数据。会使用各种锁。但是还有一种比较底层的技术,叫做临...

7130

linux系统下如何调试C/C++程序【越早知道越好】

liuzhen007

百家云 · 流媒体研发工程师 (已认证)

研发语言是C或者C++的小伙伴,无论是从事服务端开发,还是客户端开发,都需要掌握linux系统下关于C/C++代码的调试能力。

6300

7.4 通过API枚举进程权限

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

GetTokenInformation 用于检索进程或线程的令牌(Token)信息。Token是一个数据结构,其包含有关进程或线程的安全上下文,代表当前用户或服...

9120

7.3 通过API枚举进程

王瑞的博客

中国联通(北京) · 高级工程师 (已认证)

首先实现枚举当前系统中所有进程信息,枚举该进程的核心点在于使用CreateToolhelp32Snapshot()函数,该函数用于创建系统进程和线程快照,它可以...

8230

C++初学者学习指南

用户3578099

单个线程工作一般而言是可以的,但复杂的工程项目可能需要异步多线程多进程,这个时候需要线程池,异步任务操作了。

6300
领券