27 de março de 2008

Sandboxie


Quantas vezes você não fica “com a pulga atrás da orelha” ao experimentar um novo programa? Várias coisas vêm na cabeça:
  • O PC vai ficar mais lento?
  • Vou perder algum arquivo?
  • Será que tem vírus ou malware?
  • Depois vai dar pra desinstalar ele direitinho (sem deixar sujeira)?

Na prática, nem sempre dá para garantir todas essas questões, uma vez que há um mundo muito grande de programas disponíveis pela Internet. Uma alternativa seria rodá-los dentro de uma máquina virtual para testar. Se você gostasse, depois usaria no seu sistema verdadeiro. Caso contrário, não, e o seu sistema nem seria afetado.

Agora imagine, não seria melhor se existisse isso: você executa um programa normalmente, usando o ambiente de trabalho do Windows. O programa funciona bonitinho, mas sem fazer alterações no seu sistema. Chamadas de gravação de arquivos e chaves no registro, seriam redirecionadas para um arquivo falso no HD. Que tal?

Pois bem, existe. Vem ganhando destaque esse software para Windows: Sandboxie.

Quando você abre algum programa em seu computador ele faz uma leitura em seu disco rígido, e conforme forem suas ações ele vai gravando elas no disco sem intermédio de ninguem, como na figura abaixo:

Já quando você utiliza o SandBoxie para instalar ou rodar algum programa, acontece ao contrário. Por exemplo, quando você abre ou instala um programa, ele fica "emulado" no SandBoxie, não gravando absolutamente nada no seu disco rígido, veja o exemplo na figura abaixo:


Ele faz justamente isso, permite que você rode programas de forma tranquila, sem afetar o sistema. O programa pensará que pode gravar coisas, e realmente pode – mas elas são gravadas num outro local, uma pasta do Sandboxie. Seria como uma “caixinha de areia”, dentro dela o programa funciona, mas fora dela, nada é alterado. Quando os programas precisam ler um arquivo, ou configuração no registro, esses dados são puxados do sistema real, caso não existam ainda na “caixa falsa”. Quando os programas gravam dados, os dados gravados são gravados apenas na “caixa”, e não no sistema real. Na próxima vez que o programa pedir para ler um dado gravado, ele será lido “da caixa”, e o programa funcionará normalmente. Você tem acesso à essa “caixa”, que nada mais é do que uma pasta no seu computador, para onde serão redirecionados os arquivos e configurações modificados.

É ideal para experimentar novos programas, testas software, ou para executar um ou outro joguinho suspeito. Chaves no registro, resíduos de instalação, etc. Não precisará se preocupar com nada disso, bastanto limpar a pasta do Sandboxie quando quiser remover os dados gravados pelo programa.

Como conseguir

Ele é gratuito, mas depois de um período diz que exibirá uma tela solicitando uma doação – você poderá cancelar e usar o programa normalmente, pelo tempo que quiser.

Baixe e instale em:
http://www.sandboxie.com

Ele instala um ícone na área de notificação do Windows (próximo ao relógio), mas depois você pode configurá-lo para não ser mais iniciado automaticamente . Ele também adiciona atalhos para os navegadores Internet Explorer e o que estiver definido como padrão, no grupo “Sandboxie” no menu “Iniciar > Todos os programas”. Executar um navegador dessa forma permite que você entre em praticamente qualquer tipo de site, instale barras de ferramentas e controles Active-X e tudo mais, e depois de fechar a janela... Aí está: seu navegador original e seu sistema estarão intactos, sem alterações (desde que, é claro, você não execute os programas baixados nas sessões do navegador, fora do Sandboxie). Enquanto você não limpar a pasta do Sandboxie, onde ele redireciona os arquivos gravados pelos programas, os programas executados por ele continuarão a ver seus arquivos – como se estivessem num sistema real. Assim, a barra de ferramentas do site X funcionará mesmo depois de fechado o navegador, caso você o abra pelo Sandboxie.

Ele permite criar também várias “caixas”, onde cada “caixa” seria um sistema de execução separado para os programas. Programas rodados na “caixa 1”, por exemplo, veriam os arquivos que estivessem dentro dela apenas. Qualquer programa rodado pelo Sandboxie, quando alterasse arquivos no HD, gravaria nela. Já na “caixa 2”, apenas os programas iniciados “dentro dela” teriam acesso ao conteúdo dela, o que permite criar vários “perfis”. Normalmente um só bastará.

Para rodar um programa dessa forma, abra o Sandboxie, clique com botão direito sobre o sandbox default e no menu "Run Sandboxed > From Start Menu”, ou “Any Program”:


Teste no Windows Explorer

Rodando o Windows Explorer, por exemplo, você pode fazer um rápido teste para confirmar a eficiência do programa. No Sandboxie Control (a janela principal), vá ao menu “Run Sandboxed > Windows Explorer”. Abra uma pasta qualquer, e crie uma nova pasta vazia ou um arquivo, com qualquer nome. Criada a pasta, abra o Explorer direto pelo seu Windows, fora do Sandboxie. Você verá que a pasta que você criou “não existe” no sistema real:


Nesta imagem (acima) temos duas telas do Explorer: uma aberta com o SandBoxie, e a outra pelo “Meu computador”, do próprio Windows. Veja a pasta “teste” e o arquivo “blablabla.TXT”: eles existem apenas no ambiente virtual. Se você abrir algum arquivo por meio do Explorer iniciado pelo Sandboxie, o programa chamado para o arquivo será aberto também dentro da “caixa virtual”. O título da maioria dos programas que não usam skins, ficará diferente, quando rodados pelo Sandboxie. Veja:

Ele acrescenta o caractere “joguinho da velha”
no nome do programa, [#] Assim [#].

Mas onde está o arquivo “blablabla.TXT”, se ele não está na pasta real? Ele fica na pasta virtual do Sandboxie, dentro do seu perfil de usuário. Na interface do Sandboxie, clique em “Explore Contents”. Uma pasta será aberta no Windows Explorer, com o conteúdo salvo pelos programas:


Este é o conteúdo:


A pasta “user” simula as pastas do usuário, como Desktop (área de trabalho), caso o programa salve algo na área de trabalho, por exemplo. A pasta “drive” guarda o que os programas gravaram em subpastas das unidades do sistema, e os arquivos de nome “Reg” são usados para gravar os dados que os programas pediram para gravar no registro (infelizmente, não são salvos em formato texto puro, o que dificulta a exploração para ver o que o programa rodado faria no registro).

Abrindo a pasta “drive” e depois a pasta correspondente à unidade em que salvei o arquivo e criei uma nova pasta, lá estarão eles:

Não dá para garantir que o Sandboxie seja livre de falhas, eu não me aventuraria, por exemplo, a rodar spywares e vírus dentro dele – o que faço normalmente em máquinas virtuais. Alguns programas que exigem reinício do sistema (depois de instalados, por exemplo) podem funcionar de forma incorreta ou apresentarem problemas, caso não encontrem os arquivos registrados no Windows (como DLLs e OCX).

É uma forma também de rodar aqueles programas demos e sharewares eternamente sem pagar :) Você instala pelo Sandboxie, e quando vencer o prazo, limpa a “caixinha de areia”, e instala novamente. Como nenhuma alteração é feita no sistema real, no registro do Windows principalmente, o programa limitado não saberá que já foi usado naquela máquina. Não estou incentivando, mas que é possível, é.

Pelo menu “Contents of Sandbox” você pode abrir a pasta com os arquivos salvos, como foi dito, e também limpá-la, ou recuperar os arquivos definitivamente – movendo-os automaticamente para as pastas reais no sistema, onde deveriam ficar.

Enquanto estiver com programas sendo executados pelo Sandboxie, a interface dele exibirá os programas ativos em execução e a “caixa de areia” em que estão sendo executados – caso você use vários perfis. Você pode fechar todos rapidamente, pelo menu “Terminate Running Programs”.

Em questão de desempenho, não há muito do que reclamar, na maioria dos programas nem haverá diferença significativa. Talvez perceba-se uma lentidão caso o programa grave ou leia uma grande quantidade de dados no registro, visto que as entradas seriam redirecionadas para um arquivo, mas isso será raro de acontecer com a maioria dos programas. E não estranhe, os programas instalados com o Sandboxie não serão listados no menu de programas do Windows. Você deverá iniciá-los usando o Sandboxie, e procurando pelo atalho ou executável do programa na pasta “falsa”.

Esse é do tipo de programa que deveria vir com o Windows, permitindo agora sim, rodar qualquer coisa sem alterar nada no sistema.

Fonte de consulta