Здравствуйте. Такая проблема: есть приложение, которое требует привилегий администратора для работы. При обычном запуске exe файла выдается запрос UAC на повышение привилегий. Но при запуске из IDA Pro (F9 — Start process) выдается сообщение о невозможности запуска процесса: "Failed to launch ...*.exe: Запрошенная операция требует повышения." OllyDbg выдает сообщение: "Unable to start file '...*.exe'. Судя по всему, из-за невозможности вывести запрос UAC. Сам отладчик запущен от администраторской учетной записи. Возможно ли принудительно запустить процесс в отладчике с повышенными привилегиями без отключения UAC или использования Attach to process (необходимо проследить в отладчике инициализацию процесса)?
harm Если отладчик запущен с правами администратора, то его дочерние процессы, в том числе и отлаживаемые, также будут иметь права администратора. Поэтому описаной проблемы не должно возникать.
запусти отладчик "As Administrator" и не будет этого сообщения. Я то думал, что тебе надо из под неэлевированного отладчика запускать.
izl3sa Я же ясно написал, отладчик запущен "As Administrator", с элевацией. Но запуск процесса из него почему-то происходит без элевации.
Решил проблему правкой реестра и созданием в папке с exe манифеста следующего содержания: Код (Text): [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide] "PreferExternalManifest"=dword:00000001 Код (Text): <?xml version="1.0" encoding="utf-8"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="OptionalApplicationName" type="win32"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" /> </requestedPrivileges> </security> </trustInfo> </assembly> То есть принудительно указывается запуск с тем же токеном, который имеет запускающий процесс. Видимо, по какой-то причине проискодил запуск от той же учетной записи, но без элевации. UPD: причина: в exe файле есть встроенный манифест, в котором прописана строка: Код (Text): <requestedExecutionLevel level="requireAdministrator" uiAccess="true"></requestedExecutionLevel>
izl3sa Уровень UAC дефолтный. Зависит от того, есть ли манифест в exe файле, и какой уровень запуска в нём задан.
свойства ехе - совместимость - галка от админа, или тоже самое в ярлыке к нему(свойства-дополнительно). еще в secpol можно отрегулировать, читай мсдн