使用提升的权限打开命令行程序



我目前正在编写一个DLL注入程序(C++),该程序将指定的证书添加到certmgr.exe

我写了与注射相关的整个事情(OpenProcess等)。当我执行它时 - 附加到svchost - 我的 DLL 没有加载,因为它似乎没有svchost拥有的权限。

如何传递权利?

在我的DLL文件中,我正在使用system("certmgr.exe -add ...."),我认为这可能是问题所在,因为命令行作为单独的程序打开(好像我通过start打开它一样)。

使用 "runas" 参数使用 ShellExecute(),这将使它尝试以管理员身份运行

ShellExecuteA( NULL, 
    "runas",  
    "c:\windows\certmgr.exe",  
    "-add ....",     
    NULL,                 
    SW_SHOWNORMAL  
);

相关内容

  • 没有找到相关文章

最新更新