Como verificar as opções do aplicativo no OSX

0

Ocasionalmente, vejo como isso permite alterar a funcionalidade de alguns aplicativos no OSX usando defaults na linha de comando. Eu sei que as pessoas encontram essas diretivas de configuração por meio do escaneamento do aplicativo. Como isso é feito?

consertar: poderia ter jurado que era option . Meu mal.

    
por kylehotchkiss 07.09.2011 / 21:01

2 respostas

4

Você pode usar defaults para não apenas alterar esses valores, mas também para listá-los.

defaults read -g show "global" options, enquanto defaults read com.company.ProgramName mostra os defaults (por exemplo, opções de configuração) para um programa em particular. Neste contexto, com.company.ProgramName é o identificador do pacote do programa, por ex. com.apple.TextEdit ou com.culturedcode.Things . Mais sobre isso .

Por exemplo, execute defaults read com.apple.Finder e você encontrará uma linha que diz AppleShowAllFiles = FALSE ou algo semelhante. Agora seja aventureiro e execute defaults write com.apple.Finder AppleShowAllFiles -boolean TRUE e reinicie o Finder para ver o que acontece.

Para mais informações sobre como usar defaults , digite man defaults para visualizar sua documentação. Pode tornar-se bastante complexo, e algumas coisas relacionadas a listas e dicionários são praticamente impossíveis de fazer. Uma vez que você chegar tão longe, procure /usr/libexec/PlistBuddy - existem alguns exemplos de como usá-lo neste site, basta usar a função de pesquisa.

Encontre o identificador de pacote de um programa em particular :

To find out what your application uses for com.vendor.yourapp, right-click the application bundle, select Show Package Contents, navigate to Contents, open Info.plist using a text editor, or better a property list editor like Property List Editor or Xcode 4 (both part of Apple's developer tools) and look for CFBundleIdentifier or the like.

Outra ferramenta que você pode usar é strings . Ele exibirá todas as seqüências (ou seja, seqüências de caracteres possivelmente úteis) em um arquivo binário. Note que isso produz tons de falsos positivos, uma vez que as chamadas de função do Objective-C também são mostradas, assim como a saída regular que é mostrada na UI.

Segredos também oferece um banco de dados de configurações ocultas para o OS X, classificadas por aplicativo. Estes podem ser alterados usando defaults . Para sua conveniência, você também pode fazer o download de um Painel de Preferências no site, o que permite que você altere essas configurações em Preferências do Sistema.

    
por 07.09.2011 / 21:14
1
#!/bin/sh

# find key names in ~/Library/Preferences/'osascript -e 'id of app "iTunes"''.plist
defaults read com.apple.iTunes | ruby -e 'puts STDIN.read.scan(/^    \"?([a-zA-Z_.\-]+?)\"? /)' > keys.txt

# extract identifiers from a binary
# (the output is tens of thousands of lines even after grepping)
strings - /Applications/iTunes.app/Contents/MacOS/iTunes | egrep "^[a-zA-Z][a-zA-Z_.\-]{7,}$" | ruby -e 'puts STDIN.read.split("\n").uniq' > strings.txt

# the identifiers for preferences often appear near each other
for x in 'cat /0/keys.txt'; do
    grep -C 10 "$x" strings.txt
done | ruby -e 'puts STDIN.read.split("\n").uniq' > strings2.txt

Outro método usando o depurador GNU: arcticmac.home.comcast.net/~arcticmac/tutorials/ gdbFindingPrefs.html

    
por 13.09.2011 / 10:33

Tags