- 博客(46)
- 资源 (3)
- 收藏
- 关注
原创 DLL 注入,全过程,运行后直接注入
总结:DLL注入主要有几个步骤1,提升当前进程的权限(提升权限后才能获取宿主进程的句柄)2,通过进程IP 获取宿主进程的句柄3,在宿主进程内申请足够的空间4,把DLL地址写入到宿主进程里5,在宿主进程里创建线程(创建远程线程)6,运行线程7, 注入成功//进程提权bool enableDebugPriv(){ HANDLE hToken...
2019-04-22 11:36:15 4922
原创 应用程序如何访问注册表
应用程序如何访问注册表(经常使用VS是创建的是win32应用程序)64位程序如何访问64位的注册表(HKEY_LOCAL_MACHINE/Software)Ø 64位程序访问64位的注册表,直接到 HKEY_LOCAL_MACHINE/Software。 32位程序如何访问32位的注册表(HKEY_LOCAL_MACHINE/Software/Wow6432Node...
2019-02-12 18:24:41 1308
原创 swtich case标签
C++中的case标签只是行标签,而不是选项之间的界限。也是说,程序跳到switch中特定代码行后,将以此执行之后所有语句,除非有明确的其它只是。程序不会在执行到下一个case处自动停止,要让程序执行完一组特定语句后停止,就必须使用break语句。这将导致程序跳到switch后面的语句处执行。...
2019-01-24 14:28:23 222
原创 C++ 一次性读取文件所有内容
void read_file(const string& filename, string & filedata){ ifstream infile; char *fileBuffer = NULL; infile.open(filename,ios::binary); if(infile.is_open()) { infi...
2019-01-23 11:01:49 2824
原创 指针的危险
危险更容易发生在那些使用指针不仔细的人身上。及其重要的一点是:在C++中创建指针时,计算机将分配用来存储指针地址的内存,单不会分配用来存储指针所指向的数据的内存。为数据提供弓箭是一个独立的步骤,忽略这一步五一是自找麻烦,如下所示:long* fellow;*fellow = 110;fellow确实是一个指针,但是它指向哪里呢?上述代码没有将地址赋给fellow。那么110将被存放在...
2019-01-14 16:47:47 961 1
原创 单处理器下的多线程?
今天阅读《Windows核心编程》时,产生一个疑问。编程的时候使用多线程本意是想异步执行程序,但是一个处理器每次给线程分配20ms后,则,这个线程的时间片运行结束前或者主动退出线程,就不能给其它线程继续分配了。其实,我开始这样的理解是错误的,因为,多线程的异步主要体现在,计算,IO操作,一个线程在使用CPU的时候,另一个线程就可以使用io。总结:1、单核CPU上,同一时刻只能有一条线程运行...
2019-01-02 10:48:40 1677
原创 对同步和异步的理解
同步就是一步步的运行程序,倘若当前有操作正在处理,则卡死主线程。异步就相反了,可以存在不同的操作,不会阻塞其它操作,即是不同的路线执行程序。...
2018-12-29 17:02:19 888
原创 RegOpenKeyEx成功,RegDeleteValue总是返回2解决方案
注册表打开成功,也能回去注册表键值,当删除的时候返回2.原因是删除需要更高或者更明确的权限,所以,在用RegOpenKeyEx打开时,权限参数处加入KEY_WOW64_64KEY...
2018-11-20 11:33:33 2310
原创 VC 获取本地Appdata完整路径
CString GetLocalAppdataPath(){ wchar_t m_lpszDefaultDir[MAX_PATH] = {0}; wchar_t szDocument[MAX_PATH] = {0}; LPITEMIDLIST pidl = NULL; SHGetSpecialFolderLocation(NULL, CSIDL_LO...
2018-11-08 13:47:11 6784
原创 VC 通过进程ID获取完整路径
BOOL GetProcessPathByPId( const DWORD dwProcessId, TCHAR *cstrPath ){ HANDLE hProcess = NULL; BOOL bSuccess = FALSE; hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCES...
2018-11-07 16:15:09 2265
原创 MFC 清空文件夹
BOOL ClearDir(CString path){ if (!IsDirectory(path)) //不是目录 return FALSE; if (path.Right(1) != _T('\\')) { path += _T("\\"); } path += _T("*.*"); CFileFind f...
2018-11-07 16:10:56 1050
原创 VC 各种情况下的窗口获取接口
AfxGetMainWnd AfxGetMainWnd获取自身窗口句柄HWND hWnd = AfxGetMainWnd()->m_hWnd;GetTopWindow函数功能:该函数检查与特定父窗口相联的子窗口z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗口的句柄。函数原型:HWND GetTopWindow(HWND hWnd);参数: hWn...
2018-10-29 11:38:46 394 1
原创 VC 遍历文件夹所有文件名,代码简短。下面函数是获取YY账号,(对xml的解析操作)
#include <filesystem>#include <string>#include <vector>#include "tinyxml.h"using namespace std;using namespace std::tr2::sys;string ReadData(const char* str);BOOL DirectoryL...
2018-10-26 17:33:25 289
原创 C C++ 和 windows 实现文件的读写操作,
#include <iostream>#include <Windows.h>#include <string>#include <fstream>using namespace std;// c++ API path " read.txt", name "write.txt"void readand_write(char*...
2018-10-26 17:31:05 6419 1
原创 VC 使用tinyxml库解析xml文件,节点切换,元素取值
////////////////////////////////////////////////c.xml 如下/////////////////////////////////<?xml version="1.0" encoding="x-cp20936"?><system> <fontname>ЫЮЬх</fontname> ...
2018-10-24 13:14:47 283
原创 vc 多线程处理临界数据,
#include <iostream>#include <Windows.h>using namespace std;int sum = 100;DWORD WINAPI threadfun(LPVOID lpParameter);int temp =1;HANDLE m_mutex;HANDLE handle1;HANDLE handle2;HANDLE...
2018-10-22 09:45:38 224 1
原创 VC CreateThread(),创建线程时为什么线程函数一定需要static修饰
因为,当把线程函数封装在类中,this指针会作为默认的参数被传进函数中,从而和线程函数参数(LPVOID lpParameter)不能匹配,不能通过编译。此时,就需要把线程函数在定义的时候,最前面加上static。当线程函数不在类里面时,就不会出现此类问题。...
2018-10-17 17:24:13 1595
转载 VC 线程加锁,互斥信号量Mutex
https://blog.csdn.net/chexlong/article/details/7051193
2018-10-17 14:31:21 3210 1
原创 VC 宽字节与窄字节字符串的默认编码
VC :char* Str = “yangzhenj”;此时Str是ANSI编码。 wchar_t Lstr = L"我的小可爱";此时Lstr是UNicode编码(UTF-16);
2018-10-16 14:31:33 622
原创 VC 代码页,字符集,字符转换
第1章代码页1 代码页代码页也叫字符集,它有两个特点:1、它是一个字符集合;2、为了便于计算机处理。这个字符集合里,每个字符都有编码。可用一个字符串表示代码页,如:GB2312、GBK、GB18030、Big5……也可以用一个整数表示代码页,如:20936表示GB2312、936表示GBK、54936表示GB18030、950表示Big5……1.1 单字节字符集代码页里...
2018-10-16 14:05:49 2367 1
原创 VC GTK的 计算,独立函数
void GetGTK(const string& strSkey, string& strGtk){ int hash = 5381; for (size_t i = 0; i < strSkey.length(); i++) hash += (hash << 5) + (int)(strSkey[i]); hash &...
2018-10-15 13:35:58 130
原创 vc从固定字符串任意截取 子字符串,可直接使用
//"henanshengname=yangzhenjiang&huashengdou"; "name=" "&" 返回"yangzhenjiang"string FindString(const string strContent,LPCSTR szBegin,LPCSTR szEnd){ std::string strResult = "";
2018-10-13 10:39:37 1334
原创 VC 获取磁盘盘符剩余空间,CJSON格式输出
void GetPlace(char *datajson){ ULARGE_INTEGER nFreeBytesAvailable; ULARGE_INTEGER nTotalNumberOfBytes; ULARGE_INTEGER nTotalNumberOfFreeBytes; DWORD msg = 1; DWORD statue = 0;...
2018-10-13 10:35:53 650
转载 只有程序员才懂的幽默,内含黄段子
https://blog.csdn.net/sinat_21843047/article/details/78952013
2018-09-30 18:46:09 5787 2
转载 windows hosts文件详解,目录
https://blog.csdn.net/AinUser/article/details/79691101
2018-09-30 16:56:24 6177
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人