随笔分类 - Windows编程
摘要:前言 Boost 版本: boost_1_70_0 编译器选择: MSVC 14.41(对应 VS2022) 主要参考文章: https://blog.csdn.net/ljjjjjjjjjjj/article/details/122312270 详细步骤 1. 确认 MSVC 编译器版本与路径 使
阅读全文
摘要:概述 在 Windows 开发环境中,当您需要同时使用多个 Git 账号(例如个人账号与工作账号)访问 GitHub、GitLab 等平台时,为每个账号配置独立的 SSH 密钥是一种清晰且安全的做法。本文将详细介绍如何通过简单的配置,实现一套系统内多 Git 账号 SSH 密钥的生成、管理与无缝切换
阅读全文
摘要:代码 #include <windows.h> #include <Psapi.h> #include <algorithm> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <
阅读全文
摘要:通用工程模板 1. 输出目录:$(ProjectDir)..\output\$(ProjectName)\$(Platform)_$(Configuration)\ 2. 中间目录:$(ProjectDir)..\output\$(ProjectName)\$(Platform)_$(Configu
阅读全文
摘要:前言 处于某些研究目的,我们经常需要在dx11绘制的界面上绘制我们自己的操作菜单,以方便进行一些可视化操作;这里面imgui库因为其优越的可用性,健壮性和美观性,得到了很多人的青睐。那么我们应该如何在一个带有dx的软件界面上利用imgui绘制我们自己的界面呢?下面的代码就是为了解决这个问题的(采用d
阅读全文
摘要:代码样例 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <conio.h> #include <string> #include <vector> #include <map>
阅读全文
摘要:前言 本文旨在记录在较新版本的 Visual Studio(2019)中编译 Luabind 这个较为陈旧的 C++/Lua 绑定库时,所需进行的代码兼容性修改与完整流程。由于该库已停止维护,网上参考资料大多基于旧版开发环境,因此将实际可行的步骤整理如下,供参考。 请注意: Luabind 依赖大量
阅读全文
摘要:前言 本文记录在 Windows 平台下,使用 Visual Studio 2019 编译 Google V8 JavaScript 引擎的完整流程。由于项目需要兼容 Windows 7 系统,因此选择了较早的稳定分支 chromium-5414 (10.9-lkgr) 进行编译。 说明 除参考本文
阅读全文
摘要:下列提出两种获取对象名的方式 通过_OBJECT_TYPE::Name获取对象名称,通过_OBJECT_TYPE::Index获取对象索引; 通过NtQueryObject的方式获取,r0与r3通用,代码如下: #include <cstdio> #include <cstdlib> #includ
阅读全文
摘要:多核处理器同步函数KiIpiGenericCall函数在XP SP3下的寻址方式
阅读全文
摘要:WH_KEYBOARD和WH_KEYBOARD_LL 键盘钩子在堆栈调用上的情况
阅读全文
摘要:简介 此文转载自:https://www.cnblogs.com/gwsbhqt/p/5092390.html 代码
阅读全文
摘要:简介 在之前的文章中曾说过利用 CreateRemoteThread 函数进行远线程注入是最经典的一种方式。但是这种方式却无法成功注入系统进程,因为系统进程是处在SESSION0高权限级别的会话层,用户进程在执行CreateRemoteThread函数时会失败。所以经过前辈们的研究发现,Create
阅读全文
摘要:简介 在之前的文章中笔者曾经为大家介绍过使用 CreateRemoteThread 函数来实现远程线程注入( "链接" ),毫无疑问最经典的注入方式,但也因为如此,这种方式到今天已经几乎被所有安全软件所防御。所以今天笔者要介绍的是一种相对比较“另类”的方式,被称作 “APC注入” 。APC(Asyn
阅读全文
摘要:简介 我们经常看见有一些程序开始执行时会释放一些文件,以便于后续操作。例如一些病毒为了便于传播和隐藏,经常把一些需要用的动态库或是驱动文件打包进一个可执行文件中,再由需要使用的时候,再临时释放和加载。接下来笔者就将演示如何将DLL打包进文件,并实现动态释放和加载。 实现流程 开发工具:Visual
阅读全文
摘要:简介 信号量是维护0到指定最大值之间的同步对象。信号量状态在其计数大于0时是有信号的,而其计数是0时是无信号的。信号量对象在控制上可以支持有限数量共享资源的访问,可以用于线程同步,预防死锁等领域。 信号量的特点和用途可用下列几句话定义: (1)如果当前资源的数量大于0,则信号量有效; (2)如果当前
阅读全文
摘要:简介 Windows互斥对象机制。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问,在线程同步与保证程序单体运行上都有相当大的用处。 代码样例 //////////////////////////////// // // FileName
阅读全文
摘要:简介 在我们编写程序的时候,经常会注意到的一个问题就是如何能够让程序只运行一个实例,确保不会让同一个程序多次运行,从而产生诸多相同进程,给我们的带来不便呢?那么常用的有以下四种方法,第一种方法是通过 扫描进程列表比对进程名 来检测,第二种方法是通过 枚举程序窗口 的方式,第三种方法是采用 共享全局变
阅读全文
摘要:简介 键盘记录功能一直是木马等恶意软件窥探用户隐私的标配,那么这个功能是怎么实现的呢?在Ring3级下,微软就为我们内置了一个Hook窗口消息的API,也就是 SetWindowsHookEx 函数,这个函数能够实现优先拦截提交给特定窗口的信息,并进行拦截者需要的处理,然后再提交给窗口函数或是下一个
阅读全文
摘要:简介 Windows在线程控制方面提供了多种信号处理机制,其中一种便是使用 CreateEvent() 函数创建事件,然后使用信号控制线程运行。其中将事件变为有信号可使用 SetEvent() 函数,将事件信号复位(变为无信号)可使用 ResetEvent() 函数,信号可以配合 WaitForSi
阅读全文

浙公网安备 33010602011771号