我目前正在编写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
);