首页 > 系统相关 >C# 在管理员权限的进程里降权启动一个权限为普通权限的进程

C# 在管理员权限的进程里降权启动一个权限为普通权限的进程

时间:2023-05-06 14:35:37浏览次数:38  
标签:exe explorer 降权 启动 进程 权限

在管理员权限的进程里降权启动一个权限为普通权限的进程,在根据网上的说法尝试了很多方式,要么不成功降权,要么需要账户名+密码。

最终在 https://blog.csdn.net/WPwalter/article/details/88384279#_explorerexe__50 博客中找到一个比较简单的方式。

var subProcessFileName = "C:\Users\walterlv\Desktop\walterlv.exe";
Process.Start("explorer.exe", subProcessFileName);

因为绝大多数用户启动系统的时候,explorer.exe 进程都是处于运行状态,而如果启动一个新的 explorer.exe,都会自动激活当前正在运行的进程而不会启动新的。

于是我们可以委托默认以普通权限运行的 explorer.exe 来代理启动我们需要启动的子进程,这时启动的子进程便是与 explorer.exe 相同权限的,也就是降权运行了。

通过以上代码,walterlv.exe 就会以与 explorer.exe 相同权限运行,也就是降权运行了。

下面的代码,如果发现自己是以管理员权限运行的,那么就降权重新运行自己,然后自己退出。

var identity = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(identity);
if (principal.IsInRole(WindowsBuiltInRole.Administrator))
{
    // 检测到当前进程是以管理员权限运行的,于是降权启动自己之后,把自己关掉。
    Process.Start("explorer.exe", Assembly.GetEntryAssembly().Location);
    Shutdown();
    return;
}

标签:exe,explorer,降权,启动,进程,权限
From: https://www.cnblogs.com/log9527blog/p/17377199.html

相关文章

  • vmmap查看进程虚拟内存和x64dbg是一样的
     示例了一个进程,如下是x64dbg看到的:  在vmmap里看到的,可以知道是完全一样的:  ......
  • Ubuntu 安装 Docker Engine 并配置用户权限
    1.删除旧版本Docker,没有可以跳过sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc2.更新apt包索引并安装包,以允许apt通过HTTPS使用存储库sudoapt-getupdatesudoapt-getinstallca-certificatescurlgnupg3.使用以下命令设置存储库echo\"d......
  • windows守护进程工具--nssm使用
    一、nssm简介nssm是一个服务封装程序,它可以将普通exe程序封装成服务,实现开机自启动,同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:支持普通exe程序(控制台程序或者带界面的Windows程序都可以)安装简单,修改方便可以自动守护封装了的服务,程序挂......
  • 32位进程设置大地址(3G)空间
    对应32位应用,我们不做任何设置,我们能用的地址空间其实不足2G,有两种方式设置大地址空间:一、设置链接选项二、工具editbin1.开启方法(1)利用管理员身份运行”VisualStudio工具命令提示”程序;(2)输入命令:editbin/LARGEADDRESSAWARED:\xxx.exe2.检查是否开启成功(1)利......
  • WireShark抓包工具抓取查看指定的软件进程网络包的方法
    一、查询应用的端口 1、打开【任务管理器】,点击【查看】—>【选择列】,选中【PID(进程标识符)】2、记录想要查询端口号的PID,比如:打开【运行】—>输入【cmd】,打开【命令处理器】 输入【netstat-ano|findstr6600】52330和52331即为IExplorer的端口号; 二、wiresh......
  • Linux 权限设置
    Linux权限设置权限说明在Linux系统中,每一位用户都有对文件或目录的读取、写入和执行权限用"ls-l"命令可以显示文件的详细信息,其中包括权限,如下所示:root@ubuntu~]#ls-l/roottotal96-rw-------.1rootroot2623Jun22014anaconda-ks.cfgdrwxr-xr-x.2rootro......
  • 企业vsftp搭建,通过虚拟用户配置实现权限个性化设置需求
    1,安装必要的软件包yuminstall-yvsftpdlibdb-utils2,设置虚拟账号信息(使用文件存储)2.1创建明文账户信息#vim/etc/vsftpd/vuser_listlinghu123456peng1234562.2创建数据库账户信息db_load-T-thash-f/etc/vsftpd/vuser_list/etc/vsftpd/vuser_list.db3,设置基于虚拟用......
  • Oracle 给用户赋予dblink权限,创建dblink
    1.判断用户是否具备创建databaselink的权限  一:查看当前登录用户(如果查询有返回行,则表示具备创建权限,否则,需要创建权限)1select*fromuser_sys_privswhereprivilegelikeupper('%LINK%');二:查询某个用户test(如果查询有返回行,则表示具备创建权......
  • linux 账户和权限
    目录一、用户账户管理二、组账号管理三、用户账户文件和组账户文件四、查询账户命令五、设置目录与文件权限六、设置命令与文件归属七、默认文件属性umask八、修改主机名         一、用户账户管理useradd:添加用户默认创建用户含有u......
  • Linux 批量修改目录权限,用户组和所有者;kill指定端口
     例:修改data目录以及该目录下所有文件的权限可读可写。chmod-R777data/ 例:修改data目录以及该目录下所有文件的用户组为:"shaun".chownshaundata/-R 例:修改data目录以及该目录下所有文件的所有者为:"shaun".chgrpshaundata/-R  #这里端口号均以8......