
WIN32
qq_857305819
这个作者很懒,什么都没留下…
展开
-
遍历找出系统中的大文件
【代码】遍历找出系统中的大文件。原创 2022-12-11 12:54:00 · 292 阅读 · 0 评论 -
遍历进程的所有子进程
【代码】遍历进程的所有子进程。原创 2022-12-02 12:56:51 · 366 阅读 · 0 评论 -
解析环境变量
#include <locale.h>#include <strsafe.h> void DumpEnvironmentStrings(){#define MAX_ENVIRONMENT_NAME_LENGTH (128) #define MAX_ENVIRONMENT_VALUE_LENGTH (1024) PWCHAR lpszEnvString = GetEnvironmentStrings(); if (NULL == lpszEnvStr原创 2022-01-26 11:42:30 · 129 阅读 · 0 评论 -
多字节和unicode的转换
BOOLEAN WideToAnsi(wchar_t* in_str, char** out_str){ int NeedBytes = WideCharToMultiByte(CP_ACP, 0, in_str, (int)wcslen(in_str), NULL, 0, NULL, NULL); if (0 == NeedBytes) { return FALSE; } //多分配一个字节用于0结尾 char* Buffer = malloc(NeedBytes+1); if (!B原创 2022-01-12 09:46:32 · 583 阅读 · 0 评论 -
遍历进程内存
// inject.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include<Windows.h>#include <stdio.h>#define STATUS_UNSUCCESSFUL (0xc0000001)#define STATUS_INFO_LENGTH_MISMATCH 0xc0000004#define NT_SUCCESS(x) ((x) >= 0)typedef enum _PROCESSINFOCLAS原创 2021-11-30 15:56:06 · 1102 阅读 · 0 评论 -
修改文件Long UNC名
修改命令D:\test>type 222.exe > "\\?\d:\test\444.exe " 注意.exe后面有空格修改后可以看到 复制了一份222.exe ,但是显示的属性是444.exe程序的.删除命令D:\test>del "\\?\d:\test\444.exe "原创 2021-09-29 15:27:19 · 192 阅读 · 0 评论 -
枚举设备
// EnumDevices.cpp : 定义控制台应用程序的入口点。//#include<windows.h>#include<stdio.h>#include <SetupAPI.h>#pragma comment(lib, "setupapi.lib")// SPDRP_DEVICEDESC// SPDRP_CLASS// SPDRP_FRIENDLYNAMEtypedef BOOL(*TfEnumDevicesCallback)(HDEVI原创 2021-05-12 15:44:54 · 814 阅读 · 0 评论 -
OpenProcess失败 GetLastError返回5
需要进行提权// message.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>void EnableDebugPriv() { HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; if ( ! OpenProc...原创 2020-04-30 15:31:20 · 1274 阅读 · 0 评论 -
挂起的方式创建进程,获取ImageBase OEP
BOOL WINAPI GetThreadContext(In HANDLE hThread,Inout LPCONTEXT lpContext);参数一:指定挂起的线程的句柄参数二:线程上文结构体//第一步 已挂起的方式创建一个进程 CONTEXT ct;ct.ContextFlags=CONTEXT_FULL; //一定要指定标志不然不会获取相应的值DWORD dwEn...原创 2019-02-27 04:54:31 · 883 阅读 · 4 评论 -
CreatePrcess
BOOL CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL ...原创 2019-02-20 17:05:02 · 312 阅读 · 0 评论 -
句柄的继承
进程A 通过CreateProcess创建一个B进程 通过传命令行参数进程A代码#include "stdafx.h"#include &lt;windows.h&gt;void main(int ,TCHAR *srcv[]){ DWORD dwEvent=0; SECURITY_ATTRIBUTES sa={sizeof(SECURITY_ATTRIBUTES)}; sa.b...原创 2019-02-15 21:19:46 · 506 阅读 · 0 评论 -
临界区 互斥 事件 信标的区别
临界区临界区解决了多个线程对同一全局资源改写时的单一访问。互斥互斥的特点是能跨进程的控制线程的运行事件事件的特点是能手动控制通知信号发 还是不发信标信标的特点是能控制多个线程的同时并发临界区的效率是最高的,因为它不用进到内核里面去。根据各自的特点,程序需要什么功能,选择合适的对象。...原创 2019-02-08 01:35:53 · 204 阅读 · 0 评论 -
内核对象——信号量
创建信号量对象HANDLE CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName);lInitia...原创 2019-02-07 16:31:27 · 213 阅读 · 0 评论 -
内核对象——事件
创建事件HANDLE CreateEventA( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCSTR lpName);lpEventAttributes...原创 2019-02-07 03:39:55 · 255 阅读 · 0 评论 -
子窗口
OVERLAPPEDWINDOW重叠窗口,主窗口与窗口内的子窗口(各种控件都是窗口)的消息处理方式,case WM_LBUTTONDOWN: { MessageBox(0,L"hip",L"鼠标左键被按下",0); return 0;在主窗口的消息回调函数里面处理鼠标左键消息,当点击主窗口内的子窗口时不会触发这个事件。说明子窗口有自己的窗口过程。子窗口的事件产生后,win...原创 2019-01-24 18:07:43 · 247 阅读 · 0 评论 -
子窗口的窗口回调函数的查找
通过消息断点查找子窗口的窗口过程win32中 通过DialogBox函数创建一个对话框``为主窗口提供一个窗口消息处理函数。而窗口内的各种控件不需要写处理函数,系统已经写好。;原创 2019-01-16 07:44:45 · 273 阅读 · 0 评论 -
win32函数
GetClassName 通过窗口句柄获取类名GetClassInfo 获取WNDCLASS结构的信息原创 2019-01-23 00:42:20 · 259 阅读 · 0 评论 -
swscanf_s函数的使用
该函数可以把字符串格式化成整数DWORD ProcessId;WCHAR szPid[20]=TEXT("1234");swscanf_s(szPid,TEXT("%x"),&ProcessId); 最后一个参数一定要加取地址,不加也编译过了不过出问题了。...原创 2019-02-04 01:00:05 · 1919 阅读 · 0 评论 -
遍历进程与模块
遍历进程通过CreateToolHelp32Snapshot函数可以给系统里面的所有进程,模块创建一个快照。然后通过Process32First 和Process32Next就可以遍历快照中的进程CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0) //第一个参数传入TH32CS_SNAPPROCESS这个值,第二个参数为0就可以给系统中的所有进程创...原创 2019-02-04 01:47:38 · 446 阅读 · 2 评论 -
GetOpenFileName打开文件对话框的使用
TCHAR szPeFileExt[100]=TEXT("exe\0*.exe"); TCHAR szPathName[MAX_PATH]; OPENFILENAME ofn = {sizeof (OPENFILENAME)}; ofn.hwndOwner = hWnd;// 打开OR保存文件对话框的父窗口 ofn.lpstrFilter = szPeFileExt; ...原创 2019-02-04 13:46:02 · 1906 阅读 · 0 评论 -
线程的创建,控制
创建线程挂起线程恢复线程结束线程原创 2019-02-06 13:57:59 · 249 阅读 · 0 评论 -
多线程的安全问题
什么时候多线程会出现问题原创 2019-02-06 14:23:56 · 232 阅读 · 0 评论 -
内核对象——互斥体
创建互斥体对象使用内核对象互斥体可以实现跨进程的线程控制,原因就是因为互斥体是在内核里面创建的,所有进程都可以访问到HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCTSTR lpName );使用CreateMutex创建一个互斥体对象lpMutex...原创 2019-02-06 21:26:52 · 689 阅读 · 0 评论 -
一个简单的win32程序
windows定义了一个消息结构typedef struct tagMSG { HWND hwnd; //产生消息的窗口句柄(这个消息是哪个窗口产生的) UINT message; //消息的类型 窗口的创建,鼠标的左键点击 键盘的按下。。消息 WPARAM wParam; //消...原创 2019-01-18 23:30:03 · 266 阅读 · 0 评论