打开具有提升权限的命令行程序

时间:2017-10-23 10:04:13

标签: c++ windows command-line dll-injection

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

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

我如何通过权利?

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

1 个答案:

答案 0 :(得分:0)

通过“ runas”参数使用ShellExecute(),这将使其尝试以管理员身份运行

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