12/11/2009

Desinstalando Aplicações no Mac OS X

Sim! Comprei um Macbook Pro 13''. Virei um Macmaníaco (ou um MacTARD, como diz o Ronaldo). Realmente não tem como se apaixonar pelo conjunto: Design incrível, sensor de luminosidade, teclado luminoso, rápido, tela LED, trackpad multi-toque e por aí vai.

Estou usando chegando a dois meses de uso, e queria aproveitar e fazer o primeiro post a respeito, sobre umas experiências que tive a respeito da instalação e desinstalação de aplicações. Todo usuário Windows que se preze vai procurar no painel de controle aquele velho icone de desinstalar aplicativos, e vai se surpreender quando descobrir que ele simplesmente não existe. Aí vem a pergunta: como raios vou desinstalar essa aplicação que eu não quero mais? A resposta padrão do seu guru Mac da esquina vai ser: "Não precisa desinstalar, é só jogar a aplicação na lixeira". Será que é só isso?

Para aplicações simples, realmente jogar na lixeira resolve 99% do problema (o resto são as preferências das aplicações, que normalmente ficam na sua conta de usuário, no diretório ~/Library/Preferences, com o nome de .plist, ou no diretório /Library/Preferencies, se for uma preferência global do sistema para aquela aplicação. As aplicações normalmente tem os nomes parecidos com classes em Java, algo do tipo: com.apple.nome da aplicação.plist. Não é dificil descobrir quais são os arquivos de preferência neste caso. Caso você seja muito preguiçoso para fazer isso, pode usar uma aplicação que faz isso por você. Segue abaixo algumas que achei na net:

. AppTrap
. AppZapper
. AppCleaner

Para aplicações simples, daquelas pequenas que você baixa na Net, este procedimento resolve bem o problema. Porém para aplicações maiores e mais complexas, a lista de arquivos que é instalada, é muito maior do que arquivos de preferências. Um bom exemplo são aplicações que mexem com audio e vídeo, que normalmente vêm com muitas bibliotecas de imagens, videos e audio. Normalmente essas bibliotecas possuem diversos arquivos e podem ocupar muito espaço no seu disco e você nem estar sabendo. Então, como descobrir todos os arquivos que um programa instala?

Para responder essa pergunta, temos que aprender como funciona o processo de instalação de aplicações no Mac OS X. Existem basicamente três formas de instalação de programas no OS X:

. Copia da aplicação para o diretório de aplicações (/Applications): Esta é a forma mais simples e é muito comum para pequenas aplicações que baixamos da Internet. Nestes casos desinstalar é muito fácil, bastando jogar no lixo e apagando as preferências.

. Uso do Installer.app. O Installer é uma aplicação de instalação da própria Apple, que instala programas no formato .pkg. Normalmente você abre um CD/DVD, ou um arquivo de imagem baixado (.dmg, .cdr, .iso, .toast) e executa o arquivo ,pkg que automaticamente chama o Installer. Este irá perguntar onde vai instalar a aplicação, e depois irá copiar os arquivos.

. Instaladores proprietários. Um bom exemplo deste tipo de aplicação é o Microsoft Office. Nestes casos, junto com a instalação vem uma opção de desinstalar.

Existem outras formas de instalação (ports, etc), mas estas não serão cobertas aqui. A partir da lista acima, podemos ver que o maior problema são as aplicações que usam o Installer. Como saber tudo que ele copiou? Depois de muito pesquisar, descobri as seguintes informações, que são muito importantes:

Ao instalar uma aplicação, o installer guarda dois arquivos no diretório /private/var/db/receipts. Nesse diretório temos 2 arquivos para cada aplicação: um arquivo .bom e um arquivo .plist. O arquivo plist é um arquivo de preferências (Property List) das instalação, que pode ser aberto no Property List Editor. Ele contem informações sobre a instalação do aplicativo, como data de instalação, que aplicação instalou, nome do pacote, identificador, versão, etc. O arquivo bom (Bill Of Materials), contem todos os arquivos que foram instalados pelo pacote. Para visualizar o conteúdo, basta usar o comando "lsbom" em uma janela de terminal. Vamos tomar como o exemplo o NMAP, que instalei recentemente. No diretório /private/var/db/receipts temos os seguintes arquivos:

. org.insecure.nmap500.nmap.pkg.bom
. org.insecure.nmap500.nmap.pkg.plist

Abrindo o plist no Property List Editor, temos:













Listando o arquivo bom, temos:

. 40755 501/20
./usr 40755 0/0
./usr/local 40755 0/0
./usr/local/bin 40755 501/20
./usr/local/bin/nmap 100755 501/20 2865496 3830514557
./usr/local/share 40755 501/20
./usr/local/share/man 40755 501/20
./usr/local/share/man/man1 40755 501/20
./usr/local/share/man/man1/nmap.1 100644 501/20 175621 1607134230
./usr/local/share/nmap 40755 501/20
./usr/local/share/nmap/nmap-mac-prefixes 100644 501/20 309349 4022722137
[...]

Dessa forma podemos saber exatamente quais foram os arquivos instalados e removê-los. Por fim, não testei todos os "desinstaladores", mas não acredito que seja dificil encontrar o bom correspondente a uma aplicação, listar e remover os arquivos. Para reinstalar aplicações, basta apagar o .bom e o .pslist, que o installer não vai mais detectar a aplicação como instalada.

UPDATE: o comando pkgutil --pkgs lista os pacotes instalados, e o comando pkgutil --unlink aparentemente desinstala o pacote, porém pelos testes que fiz, não parece ser algo muito confiável.

09/08/2009

GTS-13, YSTS 3.0, FIRST Conference Kyoto e mais

Até que enfim escrevendo de novo no blog!

Twitter está sabotando meu blog. Muitas das idéias de posts morrem com um twit de 140 caracteres.

Resumo do que aconteceu de interessante recentemente:
  • Comecei a fazer MBA na FGV. MBA em Tecnologia da Informação Aplicada à Gestão Estratégica de Negócios (TIGEN). Isto mesmo, podem dar risada, o mesmo Ronaldo que zombava dos corporates :-) A idéia é ser um gerente melhor (do que alguns que tive na minha carreira) quando isto acontecer e ter conhecimentos para abrir um empresa com competência, sem aventuras.
  • Mais uma vez palestrei pelo CAIS no GTS-13, um evento do CGI.br. A primeira vez foi no GTS-9. O título foi "Um ano do Catálogo de Fraudes RNP - Números, tendências e próximos passos". O assunto da palestra é o Catálogo de Fraudes RNP. Slides disponíveis no site do evento;
  • Mais uma vez tive o privilégio de ir ao YSTS, passaporte VIP. Mais uma vez uma conferência honesta, bom conteúdo, boa experiência. Ainda é o melhor do Brasil. Não sei se vale escrever sobre ela com quase 2 meses de atraso, outras pessoas já devem ter escrito. 3 badges YSTS na coleção, 2 deles VIP, não pude comparecer apenas à YSTS 1.0;
  • Fui na 21st FIRST Conference em Kyoto, Japão. Excelente conferência, ótima oportunidade de networking com os principais CSIRTs do mundo;
  • Caminhei até o topo do Monte Fuji. 17km ida e volta a partir da base 5, 14 horas de caminhada;
  • Tive dias de Velozes e Furiosos com meus amigos japoneses.
  • Mudança. Ainda em Campinas/SP.

Acho que foi isso que aconteceu de notável nos últimos meses. Estou voltando ao blog.

12/07/2009

Tirando o máximo dos seus gadgets

Tem um tempinho que não posto nada (desculpe Ronaldo, muitos projetos pessoais :). Resolvi postar hoje pois tive uma experiência interessante e queria compartilhar. Eu sempre gostei de ter "facilidades" no bolso (celular, mp3, GPS, etc.), mas sempre achei ruim ter que carregar muitas coisas. Nessa linha, eu tenho ficado de olho nos lançamentos na área de celulares, pois meu sonho é ter um aparelho só para:

1- Aquele acesso à Internet rapidinho, sem precisar buscar laptop, tirar do modo de espera, etc.
2- Ter um GPS à mão, com mapas offline e comandos de voz.
3- Tocar música em casa, no carro, na rua, etc.
4- Um Skype móvel, para cortar custos com celular.
5- Acesso rápido em qualquer lugar (Wi-fi e 3G).

Como sou fã de ipod (tenho umas caixinhas JBL em casa e o som do carro com entrada pra ipod), minha escolha natural seria o iPhone, especialmente com o lançamento próximo do TomTom pra ele. Mas como o preço ainda está alto (não quero me "prender" em uma operadora), continuo esperando a oportunidade certa :)

Enquanto isso... recebi esses dias um celular com linha da empresa que trabalho (ai meu deus! mais um trambolho...), um nokia 6120 classic. Quem não o conhece, pode vê-lo aqui. Ele tem uma cara de celular basicão, exceto pelas duas câmeras e o fato de ser 3G (na verdade ele foi um dos primeiros celular 3G que as operadoras lançaram). Hoje você consegue ele por míseros 15 reais em alguns planos.

Bom, vamos ao que interessa... ontem tava com um tempo livre e resolvi investir no aparelho. Já tinha instalado um cliente twitter, gmail, google maps e o eBuddy para as necessidades básicas, e já tinha usado ele pra acessar a Internet via bluetooth uma ou duas vezes. Logo de cara vi que a Nokia tinha um programa bem espertinho para gerenciar o celular, o Nokia PC Suite. Em poucos minutos consegui conectar os meus 2 celulares via bluetooth, sincronizar meus contatos do outlook do trabalho (eu sincronizo com o google calendar usando o plugin que a google fornece, para acessar de qualquer lugar), fazer backup, gerenciar contatos, fotos, SMS, etc.

Junto com o PC Suite, descobri um software de mapas (Nokia Maps, ou Ovi Maps na versão mais nova). Nele consegui baixar os mapas do Brasil (de graça). Infelizmente na hora de interligar ele com meu GPS Bluetooth eu descobri que tinha que pagar para ter as funcionalidades de direção com o GPS. 38 reais depois eu estava usando ele (infelizmente por 3 meses, espero que a Nokia reduza os preços ou mude a política). Fiz um teste dirigindo aqui em Brasília, e achei ele quase tão funcional quanto meu TomTom que roda no iPAQ.

Descobri ainda um gerenciador de músicas, estilo iTunes. Ele veio com um cartão de 512mb e já estou sentindo falta um cartão maior :). Coloquei umas mp3 da gravação da banda para ouvir. Decobri ainda um atualizador do firmware. Atualizei do 3.68 para o 6.1.

Voltando pro carro, resolvi testar tudo de uma vez :) Já tinha ligado o telefone no viva-voz bluetooth do rádio do carro, mas dessa vez resolvi judiar do coitado... conectei no viva-voz, conectei no audio bluetooth do carro (A2DP), coloquei ele pra tocar uma lista de mp3 em background, liguei o software de mapas, conectei com o GPS bluetooth e saí dirigindo (achando que o celular ia derreter...). Mas não é que ele deu conta? Tocou as músicas via bluetooth no carro, fez o roteamento via GPS (inclusive as indicações de voz saem pelos auto-falantes do carro) e ainda consegui atender uma ligação com tudo isso funcionando!

Depois disso, voltei nas especificações do aparelho, e vi que ele não é tão bobo assim:

. Processador de 369 MHz
. Symbian 9.2 S60 3.1
. Suporte a SHDC (até 4Gb)

Bom, é isso :). O recado que deixo é: não subestime seus gadgets, eles podem fazer muito mais por você do que se imagina.

Ah sim! Já ia esquecendo... hoje instalei o fring e consegui fazer chamadas skype através dele.

18/05/2009

FAQ Ronaldo: 2. Por que você instalou anti-vírus no celular?

Essa é uma boa pergunta mesmo. Por causa de um SMS bizarro como este:

Data: 24/04
De: +558587141153

WEB:EXPLOSAO DE PREMIO 2009 (SBT),seu aparelho foi o 5 ganhador de 1FIAT PUNTO OKM.lig gratis de 1fixo, vc tem menos de 24hrs! P/0318/596/498/135/SBT!!,

Podem me chamar de paranóico, fiquem à vontade, mas acho que este será o próximo grande problema. E não estou falando de ataques teóricos e em condições ideais por Bluetooth, mas o bom e velho SMS / Torpedo.

Os anti-vírus e filtros de Spam de e-mail já estão bem razoáveis e cada vez mais difíceis de burlar. Fraudadores vivem de brechas e buscam maneiras de explorar novas maneiras de mandar texto para as pessoas. Foi assim com e-mail, comentários de blog, Orkut, Twitter.

SMS tem ainda uma facilidade: "warsmsing", wardialing de SMS. Prefixos de área são previsíveis, prefixos de operadora são previsíveis. Além disso as pessoas fornecem seu número de celular sem imaginar que ele será usado para SMS. Recentemente comecei a receber comunicados de indisponibilidade no Net Virtua por SMS. Muito bonito, mas não pedi.

Se você tem um celular convencional então sinto muito, não há muito o que fazer. Se você tem um smartphone você pode instalar um anti-vírus que, além de obviamente proteger contra vírus, oferece filtro de Spam (por whitelist). Você ainda tem recursos interessantes, ativados por comandos enviados por SMS. Bloqueio do aparelho, limpeza total de dados do usuário, notificação de outro celular do número do SIM card da pessoa que roubou seu aparelho. Coisa de Missão Impossível, para paranóico nenhum botar defeito.

Minhas sugestões são F-Secure Mobile Security e Kaspersky Anti-Virus Mobile. Gostei mais do funcionamento do Kaspersky no Nokia e71 (Symbian S60), mas ambos os fornecedores tem grande experiência em segurança mobile.

05/05/2009

Encerramento do Calendar de Eventos

Encerrei o calendário de conferências de segurança e conferências hacker que mantinha desde 2006. As razões são várias, não vale a pena entrar em detalhes. O calendário estava disponível em:
Agradeço a todos que colaboraram nestes 3 anos!