![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
win32
yu_sn0w
这个作者很懒,什么都没留下…
展开
-
windows sdk 链接
链接Windows sdk原创 2023-02-15 11:05:30 · 98 阅读 · 0 评论 -
封装调用C++类的成员子对象的函数
利用宏调用类的成员子对象的任意函数原创 2022-09-23 15:21:57 · 438 阅读 · 0 评论 -
解决 501 版本之后不显示系统 tooltips 的问题
TOOLINFO ti; memset(&ti, 0, sizeof(TOOLINFO)); #if _WIN32_WINNT>0x0500 ti.cbSize = sizeof(TOOLINFO)-sizeof(void*); #else ti.cbSize = sizeof(TOOLINFO); #endif原创 2022-06-17 10:27:37 · 106 阅读 · 0 评论 -
利用DirectShow简单判断摄像头权限并预览
// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include "windows.h" #include "TCHAR.h" #include <dshow.h>LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam...原创 2022-03-14 15:58:31 · 255 阅读 · 0 评论 -
DuiLib 避免会绘制系统默认白底标题栏的方法
窗口的xif (uMsg == WM_NCACTIVATE) { if (!::IsIconic(m_hWnd)) { return (wParam == 0) ? TRUE : FALSE; } } else if (uMsg == WM_NCCALCSIZE) { return 0; } else if (uMsg == WM_NCPAINT) {...原创 2021-06-09 19:20:33 · 132 阅读 · 0 评论 -
处理 __iob_func 无法链接的问题
转自:http://www.cnblogs.com/ubosm/p/5444919.html使用vs2015编译ffmpeg的一个小项时,出现了__imp__fprintf和__imp____iob_func 的错误,google了一下,有的人 建议下载SDL源码重新编译一下,当然这个方案非常不科学。所以又继续搜,终于有所发现。这是老外的原话:In visual studio 2015, stdin, stderr, stdout are defined as follow :#defin转载 2021-05-10 11:19:19 · 482 阅读 · 0 评论 -
程序无法启动0xc000007b 的终极处理办法
网上有很多教程,总结起来就是缺库。所以用直接粗暴处理。能运行和不能运行的两个环境 C:\windows*wow64 目录(32位之类的换目录即可)进行对比。将不同文件直接拷贝过去即可。可以根据使用的IDE 工具集选需要的比如 vs2015 对应 **140 *.dll。...原创 2021-03-17 14:45:36 · 311 阅读 · 0 评论 -
windbg 内核调试部分命令
dg 0x10 查看段描述符dg 0x00 0x80 可以查看一部分段描述符,和上面一样后面这个数字可以自己修改的r gdtr查看 GDT 表地址dq 0x… 或者 dq gdtr 都可以查看GDT表内容也可以查看一个范围内的eq 修改GDT表...原创 2020-09-25 14:33:16 · 286 阅读 · 0 评论 -
GDT 表与段选择子等解析
全局描述表(GDT Global Descriptor Table):在保护模式下一个重要的数据结构。GDT可以被放在内存的任何位置,那么当程序员通过段寄存器来引用一个段描述符时,CPU必须知道GDT的入口,也就是基地址放在哪里,所以Intel的设计者门提供了一个寄存器GDTR用来存放GDT的入口地址,程序员将GDT设定在内存中某个位置之后,可以通过LGDT指令将GDT的入口地址装入此寄存器,从此以后,CPU就根据此寄存器中的内容作为GDT的入口来访问GDT了。GDT是保护模式所必须的数据结构,也是唯一原创 2020-09-17 15:05:11 · 1594 阅读 · 0 评论 -
Windows 内核编程
转载转载 2020-09-07 17:56:41 · 147 阅读 · 0 评论 -
封装统一模板调用动态库(dll)
enum CallLibType{ eStdCall, eCdecl, eFastCall};template<typename ResultType, typename ...params>void CallLibrary(CallLibType eType, std::string strDll, std::string strFuncName, ResultType& ret, params... para){ HMODULE hd = LoadLibraryA原创 2020-07-24 10:55:33 · 242 阅读 · 0 评论 -
多种DLL注入技术原理介绍
转载自:[翻译]多种DLL注入技术原理介绍Git 地址https://github.com/fdiskyou/injectAllTheThings转载 2020-07-15 16:52:16 · 199 阅读 · 0 评论 -
解析URL的域名证书
可以通过 openssl 获取常规的,但是部分网站获取不正确。// 请使用 CertFreeCertificateContext 释放 *p_contextvoid GetCertFromDomain(const wchar_t* domain, int nPort, CERT_CONTEXT** p_context){ if (NULL == domain || NULL == p_context) { return; } static HINTERNET hsession = NU原创 2020-06-28 14:01:32 · 593 阅读 · 0 评论 -
解决VC使用unicode字符集时某些ANSI版本函数无法调用的问题
查看windows 一个函数的定义如下:WINBASEAPI_NullNull_terminated_LPCHWINAPIGetEnvironmentStrings( VOID );WINBASEAPI_NullNull_terminated_LPWCHWINAPIGetEnvironmentStringsW( VOID );#ifde...原创 2020-04-29 11:32:00 · 238 阅读 · 0 评论 -
创建专有命名空间的内核命名对象
代码来自 Windows 核心编程。简单修改测试通过(win10)。可能需要管理员权限。提权代码这里没写。本文只是一个简单示例。do { wchar_t* _namespace = L"TestNamespace"; wchar_t* _mutexName = L"mutexName"; wchar_t* _boundName = L"TestBoundName"; HA...原创 2020-04-26 16:50:21 · 195 阅读 · 0 评论 -
PE 文件总体结构概述
前面多篇文章讲了PE文件格式,导入导出表的解析。这里新开一篇来作为总结,或者说作为最开始的概述。本文以 kernel32.dll 为例。使用工具 PEView.exe 查看如下:可以看到其主要分成几个部分:1: Dos 头,IMAGFE_DOS_HEADER 长度 0x402: Dos Stub 。3: NT Header 起始位置由 Dos头中最后一个字段指定。4: 连续...原创 2020-03-06 11:22:25 · 317 阅读 · 0 评论 -
PE文件和COFF文件格式分析——导入表
因为之前已经介绍了PE基本格式已经导出表相关,因此一些基本的东西就直接省略,用工具直接定位。本次以 kernel32.dll 为例,查看其导入表。首先用 Stud_PE.exe 查看导入表的位置如下:也就是在文件的地址 0x084c88。跳过去看看,以红线开始查看导入表定义:typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { ...原创 2020-03-05 17:19:38 · 317 阅读 · 0 评论 -
Delphi 调用控制面板设置功能
转载自https://www.cnblogs.com/FKdelphi/p/4654585.html如有侵权联系本人删除应用程序运行时,有时需要对系统环境有特殊要求。例如,在Delphi数据库应用程序中可能需要进行BDE(Borland Database Engine)或ODBC数据源名称(DSN:Data Source Name)的设置;在网络应用程序中可能需要进行网络配置设置、Mod...转载 2020-02-28 16:58:47 · 141 阅读 · 0 评论 -
PE文件和COFF文件格式分析(1)
本文主要来自相关系列博文(breaksoftware的csdn博客 https://blog.csdn.net/breaksoftware/article/details/7710323)。自己,稍微调整,整理。MS 2.0节是PE文件格式中第一个“节”。其大致结构如下:在VC\PlatformSDK\Include\WinNT.h文件中有对MS-DOS 2.0兼容EXE文件头的完整定义...转载 2020-02-28 10:52:29 · 614 阅读 · 0 评论 -
Windows 下动态库的 DllMain 与 c++ 相关坑
有时候需要在 DllMain 中写一些代码,比如下面这样,其中 TestAttach 等函数里面有需要的一些代码,里面的代码片在采用 DllMain 调用之前完全运行正常。BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, ...原创 2020-02-25 14:48:47 · 1205 阅读 · 0 评论 -
getsockopt、setsocketopt、ioctlsocket和WSAIoctl 详解
转载自:http://www.360doc.com/content/13/0115/11/10977253_260278513.shtml套接字选项和I/O控制命令 套接字一旦建立,通过套接字选项和I/O控制命令对各种属性进行操作,便可对套接字的行为产生影响。有的选项只用于信息的返回,而有的选项则可在应用程序中影响套接字的行为。I / O控制命令肯定会对套接字的行为产生影响。...转载 2020-01-04 14:11:40 · 1132 阅读 · 0 评论 -
GIT 配置beyond compare 作为默认比较工具
[diff] tool = bc4 [difftool] prompt = false [difftool "bc4"] cmd = "\"D:\\Program Files\\Beyond Compare 4\\BComp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""注意:路径用 \\ 而不...原创 2019-12-13 13:54:13 · 468 阅读 · 0 评论 -
修改虚函数中部分函数和HOOK虚函数
class CTestVirtual{public: virtual void FunA() { std::cout << "FuncA " << m_iNum << std::endl; } virtual void FunB() { std::cout << "Fun...原创 2019-11-13 13:55:52 · 175 阅读 · 0 评论 -
文件重定向问题
if (Wow64DisableWow64FsRedirection(p)) then begin if not CopyFileEx('C:\Users\xxx\Desktop\A.txt', 'C:\Windows\system32\drivers\AAAA.txt', nil, nil,nil, 0) then begin ShowMessag...原创 2019-10-25 14:48:39 · 120 阅读 · 0 评论 -
winpe下开启vs远调器
命令行msvsmon.exe /anyuser /nosecuritywarn /nofirewallwarn /noauth原创 2017-06-07 17:39:40 · 365 阅读 · 0 评论 -
winpe下关闭防火墙
执行命令wpeinitwpeutil initializenetworkwpeutil disablefirewall原创 2017-06-16 14:44:18 · 1937 阅读 · 0 评论 -
为文件添加everyone权限
SECURITY_DESCRIPTOR sd = {0};if (InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION)){if (SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE)){SetFileSecurityW(File, DACL_SECURITY_原创 2017-04-05 16:17:26 · 2005 阅读 · 0 评论 -
获取windows操作系统名称和版本
// GetSystemName.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #pragma comment(lib, "netapi32.lib")#define REG_K_OS_W L"SOFTWARE\\Microsoft\\Windows NT\\Cur原创 2017-04-01 15:53:22 · 2512 阅读 · 0 评论 -
win32判断当前进程是否是64位
bool Is64Bit(){typedef BOOL (WINAPI * LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);LPFN_ISWOW64PROCESS pFun = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");B原创 2017-03-09 18:04:56 · 1008 阅读 · 0 评论 -
Windows操作系统名称及版本判断(二)
由于GetVersionEx GetVersion在win8之后出现的问题提供以下函数GetVersion...HINSTANCE hIns = LoadlibraryA("ntdll.dll");if (hIns){ typedef void (__stdcall * PFN)(DWORD*, DWORD*, DWORD*);PFN pFn = (PFN)GetPr原创 2016-09-09 17:26:24 · 748 阅读 · 0 评论 -
获取模块路径
获取调用该dll的dll或EXE的模块路径EXTERN_C IMAGE_DOS_HEADER __ImageBase;bool GetDllDirPath(char* pszPath){GetModuleFileNameA((HMODULE)&__ImageBase, pszPath, MAX_PATH);return true;}无关代码在此省略。原创 2017-08-28 10:20:28 · 765 阅读 · 0 评论 -
判断并以管理员权限运行程序
bool IsAdminRunning(void){ bool IsMember = FALSE; SID_IDENTIFIER_AUTHORITY peUse = SECURITY_NT_AUTHORITY; PSID SidUser = NULL; HANDLE ProToken = NULL; LPVOID TokenInformation = NULL; TOKEN_GROUPS* Tok...原创 2018-06-29 10:09:59 · 865 阅读 · 0 评论 -
Delphi 操作控制面板
转载自 https://www.cnblogs.com/FKdelphi/p/4654585.html 应用程序运行时,有时需要对系统环境有特殊要求。例如,在Delphi数据库应用程序中可能需要进行BDE(Borland Database Engine)或ODBC数据源名称(DSN:Data Source Name)的设置;在网络应用程序中可能需要进行网络配置设置、Modem属性设置或用户...转载 2018-11-07 15:02:53 · 344 阅读 · 0 评论 -
关于Windows高DPI的一些简单总结
转载自:https://www.cnblogs.com/weiym/p/3555068.html我们知道,关于高DPI的支持, Windows XP时代就开始有了, 那时关于高DPI的支持比较简单, 但是从Vista/Win7 到现在Win8 /Win8.1, Windows关于高DPI的支持已经发生了很大的变化, 下面我们依次简单介绍下。 如果说以前XP时代我们还有理由不关注高DPI...转载 2018-11-26 14:08:04 · 886 阅读 · 0 评论 -
去掉程序图标并保持TOPMOST
程序是一个异形窗口,按照传统的DELPHI (2009)处理方式 Application.MainFormOnTaskbar := FALSE;窗口的ONSHOW:ShowWindow(Handle, SW_HIDE)发现透明效果出现了问题,当然可以跟踪下为什么透明效果画出来不正确。但是比较麻烦。经过验证,放弃上述方式,在窗口构造函数加以下代码可满足要求: styl...原创 2018-11-29 12:56:20 · 215 阅读 · 1 评论 -
批处理字符串操作
很好的批处理字符串操作实例https://www.dostips.com/DtTipsStringManipulation.php#Snippets.Replace原创 2019-02-27 15:36:36 · 407 阅读 · 0 评论 -
通过ISimpleAudioVolume修改程序音量
#include <AudioClient.h>#include <audiopolicy.h>#include <mmdeviceapi.h>#include <endpointvolume.h>#define Release_Com_Obj(obj) if ((obj)) (obj)->Release();#define C...原创 2019-04-01 16:30:26 · 1139 阅读 · 0 评论 -
获取操作系统名称和版本
以下内容为转载,(最后内容为个人新增) 原文作者:http://blog.sina.com.cn/s/blog_49764fbb0100r29v.html先看这个:http://tieba.baidu.com/f?kz=859123733说的是什么是SP1 sp2 sp3....Windows XP Service Pack 的版本简称SP通俗地说:微软的漏洞补丁集合包补丁转载 2016-09-09 16:29:44 · 5480 阅读 · 0 评论