O RunAsInvoker é uma configuração disponivél no Windows que permite a execução de um software sem nenhuma elevação de privilégios. Essa configuração apenas inibe a elevação de privilégios que o software tenta executar, mantendo a execução no nível de privilégios que ele foi iniciado.
Por exemplo ao executar este código numa máquina que você seja um usuário não administrador o software continuará a ser executado com permissões de usuário comúm, não com permissões de administrador.
Para que o software executado funcione corretamento existe a necessidade de que o software a ser executado e todas as suas dependências fiquem numa pasta cujo usuário logado tenha permissão de controle total (a depender da necessidade do software), isto se faz justamente pelo fato de não executar como administrador, pois não possuirá acesso full em todo o sistema de arquivos.
Este comando ainda pode ser até usado por equipes de suporte de T.I. para viabilizar a execução de softwares por clientes, sem ter a necessidade de conceder permissão de administrador ao usuário, mantendo assim o sistema mais seguro e evitando brechas de segurança.
Método 1 – Burlar UAC com arquivo .bat
1º – Criar Arquivo .bat com o seguinte texto:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
2º – Salvar Como adminbypass.bat ou nonadmin.bat
3º – Crie Uma Nova Pasta vazia em Downloads para instalar oque quer instalar
4º – Arraste oque quer instalar para cima da pasta .bat criada!!!
5º – Selecione o Local de instalação para Pasta Criada
Atenção: Sempre criar uma nova pasta vazia quando for instalar algo novo
Ainda é possivél criar um atalho especifiando o caminho do arquivo diretamente, conforme exemplo abaixo.
Você pode definir a variável __COMPAT_LAYER como RunAsInvoker e então executar o programa desejado, por exemplo:
cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && regedit.exe"
Método 2 – Chave no regedit
1º – Crie um arquivo RunAsInvoker.reg com o conteúdo abaixo e aplique as configurações no seu computador:
Para que esta opção funcione pode ser necessária permissão de administrador para incluir o valor no regedit, pode ser válido para uso por equipes de T.I. corporativas.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\TWViewer\\TW-Viewer PC.exe"="RunAsInvoker"
Método 3 – Utilize uma das soluções alternativas
Você pode usar a ferramenta AdvancedRun – na caixa de combinação ‘Executar como’ você deve escolher ‘Usuário atual – sem elevação do UAC’
Você pode usar a ferramenta AppCompatibilityView se quiser sempre executar um arquivo .exe específico sem elevação.
Você deve adicionar o arquivo .exe arrastando-o para a janela AppCompatibilityView e então escolher – Adicionar opção de compatibilidade -> Executar como invocador.
Use a ferramenta RunWithoutElevation para executar sem elevação na linha de comando, por exemplo:
RunWithoutElevation.exe regedit.exe
Fontes:
https://www.tabnews.com.br/VitorDias/como-burlar-o-admin-do-pc-da-faculdade-escola
https://devblogs.microsoft.com/oldnewthing/20161117-00/?p=94735
https://www.nirsoft.net/articles/run_application_without_elevation.html