Итак, я создал в контекстном меню параметр "Открыть с помощью Ollydbg".Как я могу запустить olly как администратор с этого момента?Какую команду или аргументы мне следует использовать?Я столкнулся с командой "ShellExecuteEx", но все равно не повезло
2 ответа
- Откройте свойства исполняемого файла Olly.
- Перейдите на вкладку « Совместимость ».
- Установите флажок Запустить эту программу от имени администратора.
ShellExecuteEx
- это функция API, а не команда. Вы можете использовать его, если разрабатываете приложение для запуска других EXE-файлов с повышенными привилегиями.
Если вы хотите запустить любую программу с повышенными правами из командной строки, создайте файл sudo.cmd
в любом каталоге в вашей переменной PATH:
@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs
Затем введите, например, sudo notepad C:\example.txt
чтобы открыть C:\example.txt
в блокноте с повышенными правами. (первоисточник)
Решение в этом другом ответе не будет работать, если командная строка содержит двойные кавычки и / или заканчивается \"
, например, copy c:\foo.txt "c:\Program Files\"
. Модифицированная версия, как показано ниже, исправляет это.
@echo off
set str=%*
set str=%str:\"="%
set str=%str:"=""%
@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%str%", (Len("%str%") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs