【C++】代码实现:远线程注入(即:远程注入)技术--提升进程权限

一、简述

远线程注入技术中有一个关键环节,就是提升进程权限。如果不做进程权限提升,注入程序只能在一些系统目录中运行才能成功进行注入操作,比如:桌面、Windows 安装目录等。在非系统安装盘下运行注入程序不能获得成功。

一旦远线程注入程序加入了进程权限提升,注入程序的适用性会大幅度扩展,基本所有目录都能成功。

本示例代码展示远线程注入技术中提升进程权限的具体实现。

提醒:高术慎用。请勿将本技术用于不良目的。

二、示例代码

// 显示出错信息
void EP_ShowError(char *pszText)
{
	char szErr[MAX_PATH] = {0};
	::wsprintf(szErr, "%s Error[%d]\n", pszText, ::GetLastError());
	::MessageBox(NULL, szErr, "ERROR", MB_OK);
}

// 提升进程权限
BOOL EnbalePrivileges(HANDLE hProcess, char *pszPrivilegesName)
{
	HANDLE hToken = NULL;
	LUID luidValue = {0};
	TOKEN_PRIVILEGES tokenPrivileges = {0};
	BOOL bRet = FALSE;
	DWORD dwRet = 0;

	// 打开进程令牌并获取具有 TOKEN_ADJUST_PRIVILEGES 权限的进程令牌句柄
	bRet = ::OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, &hToken);
	if (FALSE == bRet)
	{
		EP_ShowError("OpenProcessToken");
		return FALSE;
	}
	// 获取本地系统的 pszPrivilegesName 特权的 LUID 值
	bRet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值