avatar
文章
91
标签
0
分类
0
首页
时光档案
标签
分类
友链
关于
半枫
首页
时光档案
标签
分类
友链
关于

半枫

系统资源类API-GlobalMemoryStatusEx
发表于2025-10-09
基本概念GlobalMemoryStatusEx是Windows系统中用于检索有关系统当前物理内存和虚拟内存使用情况信息的API函数,属于系统资源监控类API。它比早期的GlobalMemoryStatus功能更强大,支持检测超过4GB的内存(适用于64位系统和大内存场景),是现代Windows应用中获取内存信息的首选接口。 基本语法123BOOL GlobalMemoryStatusEx( [in, out] LPMEMORYSTATUSEX lpBuffer // 指向MEMORYSTATUSEX结构体的指针,用于接收内存信息); LPMEMORYSTATUSEX 1234567891011121314typedef struct _MEMORYSTATUSEX { DWORD dwLength; // 结构体大小(必须手动初始化) DWORD dwMemoryLoad; // 内存使用率(百分比) DWORDLONG ullTotalPhys; // 物理内存总量...
系统信息API-GetSystemInfo
发表于2025-10-09
基本概念GetSystemInfo是Windows API函数,用于获取当前运行环境的核心系统信息,包括处理器架构、CPU核心数、内存分页大小、系统地址空间范围等关键硬件与操作系统配置数据。它是开发Windows系统工具、硬件检测软件或需要适配不同系统环境的应用程序时的常用接口。 基本语法123void GetSystemInfo( [out] LPSYSTEM_INFO lpSystemInfo //指向接受信息结构体的指针 ); LPSYSTEM_INFO 123456789101112131415161718192021222324252627typedef struct _SYSTEM_INFO { // 联合体(Union):兼容历史版本与现代架构标识 union { DWORD dwOemId; // 历史字段:早期用于标识OEM厂商(已过时) struct { WORD wProcessorArchitecture; // 现代字段:处理器架构(核心标识) WORD wReserved; ...
文件类API-磁盘处理函数
发表于2025-10-07
GetLogicalDrives基本概念GetLogicalDrives是Windows系统提供的一个文件管理相关API函数,用于获取当前系统中所有可用磁盘驱动器的信息。它通过返回一个位掩码(bitmask)来标识系统中存在的可用磁盘驱动器。 基本语法1DWORD GetLogicalDrives(); 返回值:成功:返回一个 DWORD 类型的位掩码,每个置为1的位代表对应的逻辑驱动器存在。失败:返回0,可通过GetLastError()获取具体错误信息。 位掩码含义返回的位掩码中,每个二进制位对应一个逻辑驱动器,按字母顺序(A-Z)排列:第0位(二进制最低位,值为0x00000001)对应A: 驱动器第1位(值为0x00000002)对应B: 驱动器第2位(值为0x00000004)对应C: 驱动器…第n位对应第(A + n)个字母的驱动器。 简单示例1234567891011121314151617181920212223242526#include <windows.h>#include <stdio.h>int main() { ...
文件类API学习-GetFileAttributes和SetFileAttributes
发表于2025-10-06
GetFileAttributes基本概念GetFileAttributes是Windows系统提供的一个文件操作API函数,用于获取指定文件或目录的属性信息。它可以判断文件是否存在、是否为目录、是否为只读文件等多种属性。GetFileAttributes是一个宏,根据项目是否定义UNICODE宏,会映射到宽字符版本(GetFileAttributesW)或ANSI版本(GetFileAttributesA)。 基本语法1234567DWORD GetFileAttributesW( [in] LPCWSTR lpFileName //文件或目录的名称);DWORD GetFileAttributesA( [in] LPCSTR lpFileName); 返回值 成功:返回一个DWORD类型的值,该值是文件属性的组合(多个属性通过位或|组合)。 失败:返回INVALID_FILE_ATTRIBUTES,此时可通过GetLastError()获取具体错误原因(如文件不存在、权限不足等)。 简单示例12345678910111213141516171819202122...
文件类API学习-FindFirstFile和FindNextFile
发表于2025-10-05
FindFirstFile基本概述:FindFirstFile是Windows API中用于启动一次文件 / 目录搜索的函数。它会在指定路径下查找第一个匹配条件的文件或目录,并返回一个搜索句柄(用于后续的FindNextFile调用),同时通过结构体返回该文件 / 目录的详细信息。FindFirstFile 是一个宏,根据项目是否定义UNICODE宏,会映射到宽字符版本(FindFirstFileW)或ANSI版本(FindFirstFileA)。 基本语法123456789HANDLE FindFirstFileW( [in] LPCWSTR lpFileName, //目录或路径以及文件名。 文件名可以包含通配符,例如(*)或(?) [out] LPWIN32_FIND_DATAW lpFindFileData //指向存储找到的第一个文件/目录的详细信息的结构体指针);HANDLE FindFirstFileA( [in] LPCSTR lpFileName, [out] LPWIN32_FIND...
文件类API学习-CreateDirectory
发表于2025-10-04
基本概念在Windows API中,CreateDirectory函数用于在文件系统中创建一个新的目录。它是文件系统操作的基础API之一,常用于应用程序创建文件夹以存储数据或组织文件。CreateDirectory 是一个宏,根据项目是否定义UNICODE宏,会映射到宽字符版本(CreateDirectoryW)或ANSI版本(CreateDirectoryA), 基本语法123456789BOOL CreateDirectoryW( [in] LPCWSTR lpPathName, //要创建的目录路径 [in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes //安全属性(通常为NULL));BOOL CreateDirectoryA( [in] LPCSTR lpPathName, [in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes); 返回值成功...
同步API与异步API
发表于2025-09-25
在API调用中,同步(Synchronous)和异步(Asynchronous)是描述操作执行方式的核心概念,决定了调用方(通常是应用程序)在发起操作后如何等待结果,直接影响程序的性能和响应性。 核心定义同步 API:调用后,发起操作的线程会阻塞(暂停执行),直到操作完全完成(成功或失败)才返回结果,继续执行后续代码。 通俗点讲就是:“只能等这一步操作做完,我才能往下”。异步 API:调用后,操作会在后台(由系统或其他线程)执行,函数立即返回,发起操作的线程可以继续执行其他任务;操作完成后,通过预设的机制(如事件、回调函数)通知调用方结果。 通俗点讲就是:“这一步操作你先做着,我去忙别的,做完了记得通知我”。 关键区别与特定维度 同步 API 异步 API线程行为 | 调用线程阻塞,直到操作完成 | 调用线程不阻塞,立即返回,可继续执行其他任务执行效率 | 单任务场景简单...
文件类API学习-ReadFile和WriteFile
发表于2025-09-25
ReadFile基本概念ReadFile是Windows API(Win32 API) 中的核心文件I/O函数,用于从已打开的文件、设备(如串口、管道、磁盘分区)或I/O对象中读取数据,是Windows系统下底层数据读取的基础接口。它支持 同步读取和异步读取两种模式,适用于几乎所有Windows可访问的I/O设备。ReadFile 的返回值为BOOL类型,仅表示 函数调用是否成功启动/完成,不直接代表 “是否读取到数据”:返回 TRUE: 同步模式:读取操作已完成(可能读取到0字节,如文件末尾); 异步模式:读取操作已成功提交(需后续通过WaitForSingleObject、GetOverlappedResult等确认完成)。返回FALSE: 操作失败,需通过GetLastError()函数获取具体错误码,常见错误包括: ERROR_HANDLE_EOF:已到达文件末尾(EOF),无更多数据可读; ERROR_ACCESS_DENIED:文件句柄无读权限; ERROR_IO_PENDING:异步操作尚未完成(...
文件类API学习-CreateFile
发表于2025-09-18
基本概念CreateFile是Windows系统编程中最核心的API函数之一,创建或打开文件或I/O设备。 最常用的I/O设备如下所示:文件、文件流、目录、物理磁盘、卷、控制台缓冲区、磁带驱动器、通信资源、mailslot 和管道。 该函数返回一个句柄,该句柄可用于访问各种类型的I/O的文件或设备,具体取决于文件或设备以及指定的标志和属性。CreateFile 本身并非实际函数,而是一个条件编译宏,根据项目是否定义UNICODE宏,自动映射到两个实际实现: CreateFileW:宽字符(Unicode/UTF-16)版本,接受LPCWSTR类型路径,支持多语言(如中文)路径,是现代应用的推荐选择。 CreateFileA:ANSI 版本,接受单字节字符串(LPCSTR),仅支持英文字符及有限扩展字符,已逐渐被淘汰。 语法123456789HANDLE CreateFile( LPCWSTR lpFileName, // 文件名 DWORD dwDesiredAccess, // 请求...
BUUCTF-Web-[NPUCTF2020]ReadlezPHP
发表于2025-09-02
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,F12查看源码,发现./time.php?source,访问试试,发现源码, 12345678910111213141516171819202122232425<?php#error_reporting(0);class HelloPhp{ public $a; public $b; public function __construct(){ $this->a = "Y-m-d h:i:s"; $this->b = "date"; } public function __destruct(){ $a = $this->a; $b = $this->b; echo $b($a);//动态调用函数 }}$c = new HelloPhp;if(isset($_GET[...
1…345…10
avatar
半枫
Welcome to my blog
文章
91
标签
0
分类
0
Follow Me
公告
This is my Blog
最新文章
pe文件结构学习2026-02-11
TitanHide学习总结2026-02-11
TitanHide与ScyllaHide的Hook区别2026-02-04
VS2017+WDK7.1驱动开发TitanHide2026-02-02
vmp反调试与反虚拟机学习2026-01-28
归档
  • 二月 2026 4
  • 一月 2026 9
  • 十二月 2025 3
  • 十一月 2025 10
  • 十月 2025 10
  • 九月 2025 4
  • 八月 2025 36
  • 七月 2025 15
网站信息
文章数目 :
91
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 半枫框架 Hexo 7.3.0|主题 Butterfly 5.4.3