![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码积累记录
`Nobody
小菜鸡
展开
-
Windows RPC--远程过程调用
What?RPC(Remote Procedure Call),远程过程调用,相比于IPC来说RPC就是基于远程的工作机制,说白了RPC也是一种进程间通信方式,它只不过可以允许本地程序调用另一个地址空间的过程或者函数,而不用程序员去管理调用的细节。对于IPC来说,程序只能调用本地空间的函数,而RPC机制提供了一种程序员不必显示的区分本地调用和远程调用。 为什么RPC可以实现远程功能?原因在于它是一种通过网络通信从远程计算机程序上请求服务,而不需要去了解底层网络技术的协议。R...原创 2020-09-24 17:42:05 · 3073 阅读 · 1 评论 -
进程篇----判断当前进程Admin权限
#include <iostream>#include <windows.h>using namespace std;// 判断当前程序是否以管理员身份运行。bool IsProcessRunAsAdmin(){ SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; PSID AdministratorsGroup; BOOL ret = AllocateAndIn.原创 2020-06-20 23:36:28 · 388 阅读 · 0 评论 -
进程篇----获取线程ID(By ProcessName) CreateToolhelp32Snapshot
通过ToolHelper中的API函数CreateToolhelp32Snapshot来获取目标进程中的线程ID。 BOOL GetThreadIdentify(HANDLE ProcessIdentify, vector<HANDLE>& ThreadIdentify) { BOOL IsOk = FALSE; HANDLE SnapshotHandle = INVALID_HANDLE_VALUE; THREADENTRY32 ThreadEntry32..原创 2020-05-17 20:26:36 · 329 阅读 · 0 评论 -
进程篇----获取进程完整路径、DosPath转化为NtPath(By ProcessID)
写这些文章的目的,就是为了简单方便的将这些代码记录下来,以后用到的时候,可以直接拿来用。#ifdef UNICODE#define GetProcessFullPath GetProcessFullPathW#else#define GetProcessFullPath GetProcessFullPathA#endifBOOL GetProcessFullPathA(CHAR** ProcessFullPath, ULONG_PTR* ProcessFullPathLength,.原创 2020-05-16 10:29:51 · 807 阅读 · 1 评论 -
进程篇----获取进程ID(By ProcessName)CreateToolhelp32Snapshot
通过ToolHelper中的API函数CreateToolhelp32Snapshot来获取进程ID。BOOL GetProcessIdByProcessImageName(HANDLE* ProcessID, const TCHAR* ProcessImageName ){ BOOL IsOk = FALSE; HANDLE SnapshotHandle = INVALID_HANDLE_VALUE; PROCESSENTRY32 ProcessEntry32;..原创 2020-05-15 11:26:37 · 380 阅读 · 0 评论 -
进程篇----获取进程句柄(提权、打开)OpenProcess
对目标进程提权、然后打开,提权的目的是为了防止当前进程的权限无法打开目标进程,获取句柄。BOOL __EnableDebugPrivilege = TRUE; //代表需要提权BOOL __EnableDebugPrivilege = FALSE;//代表不需提权 BOOL EnableSeDebugPrivilege(const TCHAR* PriviledgeName, BOOL IsEnable) { BOOL IsOk = FALSE; int LastError =原创 2020-05-15 11:17:54 · 3780 阅读 · 0 评论 -
进程篇----获取进程ID(By ProcessName)NtQuerySystemInformation
通过Nt函数NtQuerySystemInformation来获取所有的进程信息,然后进行名称匹配,若匹配成功,返回ProcessID。#ifdef UNICODE#define GetProcessID_Nt GetProcessID_NtW#else#define GetProcessID_Nt GetProcessID_NtA#endifBOOL IsBadWritePtr(LPVOID lp, UINT_PTR cb);BOOL IsBadReadPtr(CONST VO.原创 2020-05-15 11:11:22 · 1207 阅读 · 0 评论