Abre arquivos através de um programa de menu de contexto elevado

1

Então eu criei no menu de contexto uma opção "abrir com Ollydbg" .Como posso executar o olly como administrador a partir desse ponto? Que comando ou argumentos devo usar? Eu me deparo com um comando "ShellExecuteEx" mas ainda sem sorte

    
por AperiV 03.09.2013 / 23:33

2 respostas

1
  1. Abra as propriedades do executável do Olly.
  2. Clique na guia Compatibilidade .
  3. Verifique Executar este programa como administrador .

ShellExecuteEx é uma função da API, não um comando. Você poderia usá-lo se estivesse desenvolvendo um aplicativo para executar outros EXEs com privilégios elevados.

Se você deseja executar qualquer programa com privilégios elevados a partir de uma linha de comando, crie um arquivo sudo.cmd em qualquer diretório em seu 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

Em seguida, digite por exemplo sudo notepad C:\example.txt para abrir C:\example.txt no bloco de notas elevado. ( fonte original )

    
por 04.09.2013 / 00:14
0

A solução em essa outra resposta não funcionará se a linha de comando contiver aspas duplas e / ou terminar com \" , por exemplo %código%. Uma versão modificada como abaixo corrige isso.

@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
    
por 26.07.2018 / 21:09

Tags