求教高人用C#提升进程访问权限的方法!

求教高人用C#提升进程访问权限的方法!,第1张

嗯嗯,我也正在搞这个问题,

if (!OpenProcessToken(GetCurrentProcess(),

TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {

return false;

}

选解释这段,打开进程的Token(这个不会翻译,不过看英文能大概知道什么意思,take的过去分词),然后它有三个参数,第一个得到当前进程的句柄,第二个是一个值,其中一个是:

public const int TOKEN_QUERY = 0X00000008;

我也用到这个,另一个的值要去查下,然后把找到的进程Token存在hToken中,

LookupPrivilegeValue是用来查看DEBUG特权的值并保存在sedebugnameValue这个结构体里。

AdjustTokenPrivileges这个是关键的调整特权的函数,以上的程序都是为找到这个函数的参数而存在的。

^-^ 我现在要出门了,要是还是不懂你就问,我懂的我就会补充上去。

系统外壳(explorerexe)提升SYSTEM权限,病毒能借助权限运行,候更麻烦,建议安全模式杀毒,安全模式部病毒失效

确想做,

看系统间,比现(假设)12:00

打命令提示符(即运行CMD)

结束EXPLORERexe进程

运行 at 12:01 /interactive c:\windows\explorerexe

要确保12:01前运行命令

等12:01,SYSTEM权限界面现

=====

熟悉CMD命令必做要运行

at XX:XX(自定间) /interactive cmdexe

,cmdexe才SYSTEM权限

public static void CheckRunAsAdmin()

{

//判断是否以管理员身份运行,不是则提示

if (!IsRunAsAdmin())

{

ProcessStartInfo psi = new ProcessStartInfo();

psiWorkingDirectory = EnvironmentCurrentDirectory;

var folderPath = AppDomainCurrentDomainBaseDirectory;

var filePath = SystemIOPathCombine(folderPath, AppDomainCurrentDomainFriendlyName);

psiFileName = filePath;

psiUseShellExecute = true;

psiVerb = "runas";

Process p = new Process();

pStartInfo = psi;

pStart();

ProcessGetCurrentProcess()Kill();

}

}

private static bool IsRunAsAdmin()

{

WindowsIdentity id = WindowsIdentityGetCurrent();

WindowsPrincipal principal = new WindowsPrincipal(id);

return principalIsInRole(WindowsBuiltInRoleAdministrator);

}

运行某程序时提示:“程序运行权限不足”可以依照以下几个步骤进行:

1、首先要看是不是管理员。

系统设置了安全权限控制,非管理员权限会受制。若是Vista

win7

系统可尝试以管理员的身份运行。在“工具”---“文件夹选项”---“查看”---去选“使用简单的文件共享”--“确定”,右击需运行或打开的程序文件点选“属性”---“安全”选项卡,勾选“完全控制”

获取权限。

2、有可能是沙盘中设置了降低管理员权限

解决方法:右键沙盘

沙盘设置-闲置-降低权限-那个勾勾

勾掉

确定,应该就可以了。如果还不行,那么应该是不支持在沙盘里运行了。

3、找替代清理系统的软件如优化大师等来获取权限。

4、用管理员用户登陆获取权限。

foreach (SystemDiagnosticsProcess thisproc in SystemDiagnosticsProcessGetProcesses())

{

if (thisprocProcessNameEquals("explorer"))

{

//thisprocKill();

TerminateProcess(thisprocHandle, (uint)1);

ThreadSleep(2000);

}

}

就可以了。

以上就是关于求教高人用C#提升进程访问权限的方法!全部的内容,包括:求教高人用C#提升进程访问权限的方法!、怎么将进程提升至SYSTEM权限、求教高人用C#提升进程访问权限的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10109600.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存