defaultsコマンドで特定のドメインアプリケーションで使用可能なすべての.plistキーを一覧表示する方法は?


17

特定のドメインアプリケーションで使用可能なすべてのキー(プロパティリスト)を知りたい。たとえばcom.apple.dock、次のコマンドを入力して、使用可能なキーを一覧表示できます。

$ defaults read com.apple.dock

しかし、どういうわけか、このコマンドの出力にはアクティブなプロパティリストキーのみがcom.apple.dock表示され、そこにリストされているすべての使用可能なキーは表示されませんでした。

誰でもこれで私を助けることができますか?


これを言い換えても構いませんか。あなたは、メッセージを書き込むツールについて質問しているのであって、メッセージを読み取るプログラムをリバースエンジニアリングする方法について質問しているのではありません。デフォルトでは、プログラムはデフォルトで設定したものを無視します。ファインダ設定にシェイクスピアを埋め込むことができ、ファイルに書き込まれた有効なplist XMLである限り、何もしません。
bmike

@bmikeこれは実現しています。私が興味を持ったのは、アプリケーションが実際に利用する値のリストです。Apps内のマスター構成ファイルのどこかに完全なリストが隠れているかもしれないと思った。
-awesomo

値のリストは、各プログラムのソースコードにのみ存在します。興味のあるプログラムはありますか?コンパイルされると、バイナリ内の文字列キーがエンコードされ、他の文字列とすべて混同されます。特定のアプリケーションに存在するContents / Resourcesフォルダーに簡単に追加できるため、プログラムの作成者がリストを含めることを妨げるものは何もありません。実際には、これは広く行われていません。
bmike

出力を比較して、defaults read通常の設定のキーを見つけるかCFPreferencesCopyValue、gdb のメソッドを使用することもできます。OS Xでより多くのデフォルトの書き込み調整を調べる方法を参照してください-スーパーユーザー
リ、

出力を比較して、defaults read通常の設定のキーを見つけたり、フレームワークのバイナリで文字列を実行したりCFPreferencesCopyValue、gdb のメソッドを使用したりすることもできます。OS Xでより多くのデフォルトの書き込み調整を調べる方法を参照してください-スーパーユーザー
リ、

回答:


7

人々がstringsアプリケーションに対してコマンドラインでユーティリティを正しく実行し、com.domain.FeatureNameに似た構造に一致するものを探すことを思い出せば、これは簡単な作業ではありません。(com.apple.iTunes、ch.cyberduck.Cyber​​Duck、com.panic.Codaなど)

これらの上書きを管理する最も簡単な方法は、Secretsという名前のシステム環境設定ペインを使用することです。これを使用すると、環境設定ペインがシステム環境設定にインストールされ、アプリケーションを選択して設定を特定の設定に変更するためのインターフェイスが提供されます。


Apple.stackexchange.com/questions/19899/…でこれに答えてもらえたら嬉しいです -エンドユーザー向けにキーのリバースエンジニアリングを試みるには、文字列が最も友好的な方法です。
bmike


5

「利用可能な」キーの概念は実際にはありません。アプリケーションは、必要なキーを自由に読み取ることができます。ほとんどの人stringsは、アプリケーションバイナリを調べて読み取ろうとしているキーを確認するために使用することで、「秘密」のデフォルトキーを発見します。


はい、これはまさに私が見つけたい「秘密の」デフォルトキーです。「秘密」キーについてさらに説明していただけますか?例があれば非常に役立ちます。どうもありがとうございました。
ウォンガシッド

1
多くの有名な例がsecrets.blacktree.comに
jtbandes

ありがとう!! この種の情報について他にすばらしいリンクがあれば教えてください。:-)
ウォンガシッド

4

ここのほとんどの人は、コマンドラインを使用してすべてを実行したいと考えていますが、より実用的な提案があります。

以下に説明するこれらの2つのプログラムには、Mac OS Xアプリケーションの既知のコマンドラインカスタマイズ機能の多くが、アプリケーションまたは機能別に分類されています。利点は、関数のリストが提供されることです。Googleを検索して、各機能を変更したり、各機能を変更するのに必要なコマンドラインシーケンスを確認したりする必要はありません。

ターミナルを介して変更できるカスタマイズオプションのほとんどすべてを一覧表示するグラフィカルユーザーインターフェイスを提供するいくつかのフリーウェアまたは商用アプリケーションがあります。私が説明しているこれらのプログラムを使用してこれらの機能のいずれかをアクティブにするには、アプリケーションのGUI内で実行し、コマンドラインを使用する必要はまったくありません。あなたはについて何か知っている必要はありませんdefaults writeか、.plistファイルを。

これらのアプリの2つは次のとおりです。

TinkerTool

無料です

MacPilot

新しいLion機能で更新されたばかりで、価格は20.00米ドルです。

これらは私が所有し使用しているプログラムです。

無料のTinkerToolとMacPilotの試用版をダウンロードし、すべてのタブをクリックして、カスタマイズできる無数の機能をすべて表示します。ここにリストするには多すぎます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

更新

開発者Frederik Wikerは、LionおよびMountain Lionに固有のデフォルトの書き込みカスタマイズを作成するためのフリーウェアアプリ(寄付を受け付けています)をリリースしました。それらの多くは、Mavericks(Mac OS X 10.9)でも正常に動作します。

これらをダウンロードして、利用可能なカスタマイズを確認してください。

ライオンの微調整

山の微調整

ここに画像の説明を入力してください


推奨してくれてありがとう。代替アプローチに感謝します。
-awesomo

あなたは本当にこれ/小麦の答えを受け入れるべきです。それは私の先の光年です。
ジェイソンサラズ

3

おそらく、物事がどのように機能するかについてのかなり長い説明は、これらの「隠された」好みに対するあなたと他の人の検索をクリアするかもしれません。

ほとんどのアプリケーションは、起動時に一度設定ファイルを読み取り、defaultsツールが存在することにより、設定ファイルが有効な構造であり、構文エラーが含まれていないことを確認します。(また、システムがキーの格納方法を変更できるようにし、実装の詳細を知る必要がなく、defaultsコマンドを使用してすべての読み取りと書き込みを行うことができます。)

英語のスタイルと文法のガイドは、ここで入力する単語が平均的な英語を話す人にとって意味のあるものであることを保証します。優先リストのフォーマットは、人間の言語よりもはるかに厳格で数学的ですが、概念は似ています。

Mac OS Xユーザーのデフォルトシステムは、キーバリューストア(または必要に応じてデータベース)です。

これらの設定キー値ストア、シェークスピアソネット、数字、買い物リストには何でも書き込むことができます。プログラムが特定のキーを探すようにコーディングされている場合、保存されている値を読み取ります。そのキーを探していない場合-値は未使用で未読のままです。

これにより、特定のプログラムが起動時にどの値を探しているかを知る方法が表示されます。要するに、価値を知るか、プログラムをリバースエンジニアリングする必要があります。

プログラムを調べて、stringsdbx / lldb などの文字列(キー)が埋め込まれていることを特定したり、独自のライブラリにリンクして特定のプログラムの内部構造をダンプしたりするためのツールが多数あります。

実際には、テストに必要なものがこの「隠された」方法で追加されているため、プログラムの設定ペインを確認したり、広く使用する準備ができていないこれらの新機能を見ることができません。ある意味では、そのプログラムの作成者がソースコードを公開するか、これらの設定を公に文書化しない限り、包括的なリストを取得することは決して簡単ではありません。

特定のアプリのデフォルトストアを読むときは、アプリがそのデフォルトセットまたはMac OS Xに同梱されている設定を作成したときに書かれた「本」を読んでいるだけです。そのアプリケーションで実際に変更できるもののリスト。


2

私の知る限り、アプリケーションは新しいキーがデフォルトと異なる場合にのみ新しいキーを保存します。少なくとも私のアプリはそれを行います。これは、ユーザーのデフォルトのフレームワークの一部であるため、簡単に制御できるものではありません。アプリはユーザーのデフォルトに保存する必要があるものだけを伝え、残りは処理するからです。残念ながら、あなたが探している情報は簡単に入手できるとは思いません。ただし、これにアクセスできると便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.