保護された Mac OS X ファイルを編集するにはどうすればよいですか? Fieldrunners Mortal kombat ios の例を使用して plist ファイルを編集してゲームパラメータを変更する

PLIST ファイルは Mac 中に散らばっていますが、一度も目にしたことがない可能性があります。 PLIST ファイルは本質的にハッキングへの最も直接的なパスの 1 つを提供するため、これは好ましくありません。 このレシピに記載されている推奨事項を検討することで、これらのファイルの機能を最大限に活用できるようになります。

リスト「プロパティ リスト」の略であり、この名前拡張子を持つファイルの編集は、Mac OS X (および他の一部のオペレーティング システム) を変更するための主な方法です。 この方法を使用すると、プログラムがアクセスできるようにデータを整理できますが、必要に応じてユーザーがこのタイプの独自のファイル タイプを作成できるように構造化されています。 これ 簡単な説明もちろん、事実上何も述べていませんが、PLIST ファイルを詳細に記述するのは複雑で時間のかかる作業です。 PLIST ファイルの機能に本当に興味がある場合は、次のドキュメントをよく読んでください: http://developer.apple.com/documentation/Darwin/Reference/Manpages/man_/plist._.html またはターミナルを起動してください。 man plist. プログラムを作成し、次のコマンドを入力します: man plist. 個人のニーズに合わせてコンピュータをカスタマイズする場合、最も一般的に行う必要があるのは、標準の色から色まで、さまざまなプログラムの設定のデフォルト値を保存する PLIST ファイルをカスタマイズすることです。プログラムが特定のアクションにどのように反応するか。 通常、これらのファイルはホーム ディレクトリの Library/Preferences フォルダにあります。 ほとんどの場合、これらのファイルを変更しても無害であり、予期せぬ機能がロック解除される可能性があります。 編集中に誤ってファイルを破損した場合は、そのファイルをゴミ箱に移動するだけで、次回アプリケーションを起動するときに、削除されたファイルを置き換えるために新しいファイルが生成されます。 もちろん、このプログラム用に作成したカスタム設定はすべて失われます。 一番いい方法(可能であれば、すべてのハッキングの場合と同様に) 問題が発生した場合に後で復元できるように、このファイルのバックアップ コピーを作成します。


PLIST ファイルにアクセスするにはさまざまな方法があります。 最も早い方法は、ターミナル プログラムからデフォルトのコマンドを使用することです。 簡単な例を見てみましょう。 一部のプログラムは、[デバッグ] メニューを表示するように設定できます (ほとんどの iCal ユーザーは、このメニューがいかに便利かを知っています)。 iCal を設定してメニュー バーに [デバッグ] コマンドを追加する方法を見てみましょう。

  1. 必要に応じて、iCal アプリケーションを閉じます。
  2. ターミナル プログラムを起動します (アプリケーション/ユーティリティ/ターミナル)。
  3. 画面に $ 記号が表示されたら、次のコマンドを入力します。defaults write com.apple.iCal IncludeDebugMenu
  4. iCal アプリケーションを再起動します。

アプリケーション ウィンドウが表示されると、そこに新しい [デバッグ] メニューが表示されることがわかります (図 1.15)。


ターミナル アプリは、何を変更する必要があるかがわかっている場合に最適です。 ただし、これを知らずに、どの設定を変更すればよいかを調べているだけの場合は、あまり役に立ちません。 この目的のために、プロパティリストが必要になります。 このセクションの冒頭で述べたように、通常、ほとんどの PLIST ファイルはホーム ディレクトリの Library フォルダにあります。 iCal 設定を含む PLIST ファイルの場合、パスは次のようになります: ~/Library/Preferences/com.apple.ical.plist。 必要なファイルを見つけたら、プロパティ リスト エディターでファイルを開きます。 説明したように、このエディターは Xcode Tools に含まれており、/Developer/Applications フォルダーにインストールされます。 さらに、目的のファイルをダブルクリックするだけで、編集用に開くことができます (図 1.16)。


ファイルを開いたら、その行を編集できます。 ほとんどの行には実際的な意味はほとんどありませんが、明示的な意味を持ち、アプリケーションの機能を編集できる行もあります。 たとえば、行以降の削除 Todo の数値を 30 から 60 に変更すると、実行が受け入れられたタスクは 60 日間保存されます。

これで、PLIST ファイルを編集してその設定を試すことができるコマンド ラインとプログラムが用意されました。 さらに、PLIST ファイルは通常のテキスト エディタで編集できます。 Tiger より前のバージョンの Mac OS X では、PLIST ファイルをテキスト エディタで直接開くことができましたが、現在、これらのファイルはバイナリ形式で保存されています。 PLIST ファイルをテキスト エディタで開くには、まず変換する必要があります。 PLIST ファイルを変換する最も簡単な方法はどれですか? ターミナル アプリケーションが再び役に立ちます。

iCal アプリケーションの PLIST ファイルについてはすでによく理解できたので、今度は Safari ブラウザのブックマークを変更してみましょう。 Safari 設定を含む PLIST ファイルへの完全パスは、~/Library/Safari/Bookmarks.plist のようになります。 まず最初に、そのバックアップ コピーを作成しましょう (ほとんどの場合推奨されています)。 これを行うには、ファイルの上にマウス カーソルを置き、右クリックしてコンテキスト メニューから [複製] を選択します。 次に、次のコマンド ラインを使用してこのファイルを変換します。 $ plutil -convert xml1 ~/Library/Safari/Bookmarks copy.plist

この場合 plutil コマンドは、プロパティ リスト変換プロシージャを実行します。 -convert xml1 スイッチは、PLIST ファイルを XML 形式に変換するように plutil に指示し、コマンド ラインの残りの部分は、変換するファイルへのパスを指定します。 コマンドが完了したら、Finder を使用して目的のフォルダーに移動し、目的のファイルの上にマウスを置き、右クリックしてコンテキスト メニューから [プログラムから開く] → [その他] を選択し、次に [テキスト編集] オプションを選択します。 XML 形式に変換された PLIST ファイルは、非常に読みやすいように見えます (図 1.17)。

もちろん、PLIST ファイルはさらに慎重に研究する価値がありますが、ここで提供される最低限の情報は、PLIST ファイルの探索と設定の実験を開始するのに役立ちます。

おそらくすべての上級 Mac OS X ユーザーは、人生で少なくとも一度は plist ファイルに遭遇したことがあります。 今日は、PlistEdit Pro と呼ばれる、非常に興味深く、簡単に操作できるアプリケーションについて読者に説明します。

まず、非常に短い教育プログラムです。 拡張子が .plist (プロパティ リスト) のファイルは、アプリケーション設定が含まれる通常の XML ファイルです。 この形式は便利ですぐに使用できるため、優れています。 このようなファイル内の多くのアプリケーション設定は /Home/Library/Preferences にあり、その名前は いつものセットトップ ボックス.company.app.plist (com.apple.iTunes.plist など) の 4 つの部分で構成されます。

これらのファイルのほとんどはテキスト エディタで開くことができますが、変更するのは簡単な作業ではない場合があります。 この場合、PlistEdit Pro ユーティリティが役立ちます。このユーティリティは、ファイルの「生の」テキストを、変数名 (Key)、データ型 (Class)、および値 (Value) の 3 つのパラメータを含むリストの形式で表示します。 。

このアプリケーションはドラッグ アンド ドロップをサポートしているため、ファイルの内容を手動で書き換えることなく、個々の変数またはセクション全体をマウスでドラッグできます。 ちなみに、内容の表示形式(バイナリ、ASCII、XML)のいずれかを選択すると、ウィンドウ下部に変更内容が自動的に表示されます。 そこに手動でコードを追加すると、上位の XML ツリーと同期されます。

表示および編集できる内蔵のファイル ブラウザがとても気に入りました。 大量他のアプリケーションのセットアップは、ほぼ基本的な作業になります。 プログラムはシステム ディレクトリをスキャンし、見つかった plist ファイルを特別なウィンドウに表示します。

また、PlistEdit Pro は、見つかった要素を置換する機能を備えた高度な検索を提供します。 さまざまな基準を使用して検索を絞り込んだり拡大したりできます。

このアプリケーションのその他の利点は次のとおりです。

  • 変更の完全な履歴。
  • 一部の機能にすばやくアクセスできるキーボード ショートカットをサポートします。
  • XCodeとの統合。
  • AppleScript のサポート。

私の意見では、PlistEdit Pro の印象を覆す唯一の点は、その価格が 30 ドルであることです。

開発者のウェブサイト:ファットキャット ソフトウェア
価格: 29.95$

あらゆる安定性の基礎となるのは、 オペレーティング·システム- これ 重要なファイルへのアクセスを制限する、コンピュータの動作に依存するもの、または単に「フールプロテクション」。 Mac OS X では、他のすべての *nix システムと同様に、この保護はアクセス権、グループ、オブジェクト所有者によって実装されます。 これらすべてについては Mac OS X ターミナルで読むことができます。今日は保護についてではなく、それを克服する方法について説明します。

なぜこれが必要なのでしょうか? 遅かれ早かれ、Mac ユーザーはシステム設定や個々のプログラムで何かを編集する必要に直面するでしょう。 さて、Hackintosh の所有者はほぼ毎日このニーズに直面しています。 良い目的のためだけにシステム内の何かを変更するために、アクセス権を割り当てるという厄介なシステムを回避するにはどうすればよいでしょうか?

Mac OS X の設定とそのプログラムの標準形式は PLIST です。 これは、デフォルトで TextEdit テキスト エディタで開く通常のテキスト ファイルです。 このようなファイルを開いて、必要な変更をすべて行った後、それを保存したいと考えているとします。 しかし、そこにはありませんでした! 次のエラーが表示されます。

選択肢は 1 つだけです - ファイルを別の場所に保存することです。 しかし、これは非常に悪い選択肢です。 まず、このファイルを元のフォルダーにコピーできなくなります。 システムは既存のファイルを上書きすることを許可しません (そしてそれは正しいことです)。 古いファイルを削除し、編集したコピーを同じフォルダーにコピーすると、ファイルはコピーされますが、アクセス権は侵害されます。 そしてこれは、最も不可解で予測不可能な不具合によってあなたを脅かします。

そのため、他のオプションをいくつか見ていきます。

1) ターミナル経由で編集する

端末を使用すると、ユーザーはルート管理者に代わってアクションを実行できます。 これは、コンピュータ上のすべてのファイルを制御できることを意味します。 このような力を持つことの危険性について警告することに意味がないことを願っています ;)

ターミナル自体には、コマンドなどのいくつかの組み込み編集ツールがあります。 ナノとヴィ。 それらを使用するのはこれ以上に簡単ではありません。 まず、root 管理者権限を取得する必要があります。 次のコマンドを入力します。

次に、パスワードを盲目的に入力して Enter キーを押します。

あとは次のように入力するだけです。

nanoファイルパス

例えば:

nano /ライブラリ/Preferences/SystemConfiguration/com.apple.Boot.plist

または、「nano」に続けてスペースを入力し、編集中のファイルをターミナル ウィンドウにドラッグすることもできます。 Enterを押すだけです。 vi コマンドもまったく同じように機能します。

ただし、このモードでのファイルの編集は楽しいものではありません。 自分で判断してください。ここにはマウス コントロールはなく、カーソルもキーボードから移動する必要があります。

役立つヒント: nano を終了するには、ターミナルを閉じるか、キーボードの Ctrl+X を押します。

2) 管理者権限でテキストエディタを起動します。

2 番目の方法はよりエレガントです。 これにより、通常の使用が可能になります Mac プログラム OS X はテキスト編集用ですが、管理者として実行されます。 この場合、アクセス権に関するエラーは発生しません。

ターミナルを起動し、入力します sudo -sそしてパスワード。 次に、次のような面倒な構造を導入する必要があります。

/アプリケーション/TextEdit.app/コンテンツ/MacOS/TextEdit

注意: ターミナルを介して実行する必要があるのは、プログラム自体 (つまり、TextEdit.app ファイル) ではなく、プログラム内のサブフォルダーに隠されたバイナリです。 目次/MacOS.

これ以降、TextEdit はどのファイルでも完全に動作できるようになりますが、これはプログラムを初めて終了するまでの間のみです。

3) サードパーティの専門プログラム

テキストエディタを推奨せざるを得ません。 これは TextMate の高度なバージョンで、プログラマーを念頭に置いて作成されましたが、すべての Mac (Hackintosh ではさらに便利) で役立ちます。 クリア テキストの書式設定、さまざまなエンコーディングの処理、そして最も重要なこととして、ターミナルで追加の操作を行わずに保護されたファイルを処理できるサポートが提供されます。

保護されたファイルを保存すると、TextMate はパスワードの入力を求め、すべての変更を問題なく保存します。

ただし、価格が TextMate の利点ではないことは明らかです。 30 日間のトライアルが終了すると、次の質問が表示されます。 39ユーロ。 開発者たちは、さまざまなスクリプトやプログラミング言語を処理するための膨大な数の組み込みモジュールを指摘して自分たちを正当化しています。

しかし、なぜ平均的なユーザーがそれらを必要とするのでしょうか? 価格に興味がない場合は、下のリンクから TextMate をダウンロードできます。

うまくいきました。あなたのアプリが App Store に掲載されました。

  • ユーザーアカウントを保存しますか?
  • アプリ内購入を使用していますか?
  • あなたのノウハウを披露したくないですか?
コードとデータのセキュリティについて考える理由がここにあります。 テスト アプリケーションの脆弱性を探します。 この記事ではデータのセキュリティについて説明し、次はコードに進みます。

免責事項

目標 このレッスン- あなたをハッカーにするためではなく、攻撃者がどのようにあなたを騙すことができるかを示すためです。 この記事では、デバイス上の実際のアプリケーションをハッキングするために必要な情報の一部が省略されています。 シミュレーターを拷問します(ちなみに、これは合法でもあるようです) ).

翻訳者からの免責事項: 原文から多くの「水」とハリウッドへの (そして長い間) への言及が削除されました。 多くの重要な説明が追加されました。

それで

どのアプリケーションも安全ではありません!誰かが本当にあなたの脆弱性を見つけようとしているなら、彼らはそれらを見つけるでしょう。 攻撃を防ぐ確実な方法はありません。 たぶんアプリはリリースしないと思います。 しかし、強盗を阻止する優れた方法があります。 (著者によると、彼らは退屈して寝て、より楽な獲物を探すそうです。 - 注記 レーン)

始めましょう

必要なものは次のとおりです。
1. ユーティリティ クラス-ダンプ-z;
2. ネットワーク デバッグ用のプロキシ (Charles など) (試用版には煩わしいメッセージがあり、セッションごとに最大 30 分間動作します)。 記事のソースへのコメントでは、Charles の代替となる Burpsuite を推奨しています。

このプロセスに創造的にアプローチできるように、スクリプトを提供します。 想像してみてください: iPad 用の新しいアプリケーション「Meme Collector」がリリースされました。 誰もが好きです。 しかし、彼らはあなたの耳元で、アプリ内購入はあなたから多額のお金を搾取するとささやきました。

一般に、有料コンテンツ (ミーム) を無料で取得することを計画しています。 移動できる方向はいくつかあります。それらについて、および対応する保護方法について説明します。

少し簡略化

このチュートリアルは長いため、最初にテスト プロジェクトでいくつかの簡略化を行いました。 たとえば、ゲーム通貨の「購入」は実際のアプリ内購入ではなく、StoreKit への偽のリクエストです (すべてがデバイス上でローカルに行われます)。

何が何? アプリケーションマッピング

アプリを俯瞰してみましょう! ユーザーの視点から見ると、それは何をするのでしょうか? その基本構造は何ですか?

キーチェーンはハッカーにとって「リスクを高めます」。 デバイスがロックされている場合、攻撃者は何も盗むことができません。

ただし、キーチェーンのみに完全に依存しないでください。 だからこそ。 キーチェーンは Apple によってサポートされています。 (まあ、もうすべて理解していますよね?) その中の情報は、ユーザーのパスワード (通常は単純な 4 桁のデジタル コード) で暗号化されます。 これは、ブルート フォース攻撃には約 20 分かかることを意味します。 パスワードがわかれば、キーチェーン全体を簡単にダンプできます。

  • データを暗号化しましょう!キーチェーンは安全であるように見えますが、ハッカーの優先ターゲットであるため、最初に破られてしまいます。 (ジェイルブレイクされたデバイスについては何も言うことはありません。キーチェーンの内容を表示するユーティリティがあります。) ハッカーの生活を少なくとももう少し困難にします。次を使用してデータを暗号化します。 CommonCrypto API、標準のセキュリティ フレームワークに含まれています (例)。
  • アプリケーションに暗号化キーを書き込まないでください。データ セクション内の長い文字列は、ハッカーにとって潜在的な興味を引く可能性があります。 そして一般に、秘密キーがアプリケーションに登録されている場合、攻撃者はそれをネットワーク上に投稿し、アプリケーションのすべてのユーザーのデータを危険にさらす可能性があります。 各デバイス上で一意の暗号化キーを生成することが必須です。
  • コードをコントロールしましょう!特に、ハッカーが独自の目的でコードを使用する可能性に注意してください。 あなたの暗号化/復号化方法が最適な解決策である可能性があります。 しかし、ハッカーはデバッガを使用して、独自の暗号化データに復号化メソッドを適用します。 これについては、このチュートリアルの第 2 部 (次の投稿) で説明します。
  • 本当にこれを保管する必要がありますか?攻撃者はバイナリを検索、変更、実行できるため、この情報は本当にデバイスに保存する必要があるのか​​、自問してみてください。

ネットワーク: 侵入テスト

ハッカーは、アプリケーションがネットワークとどのようにやり取りするかを観察することも好みます。 デバイス上でネットワーク アクティビティが発生しているかどうかを確認する最も愚かな方法は、バイナリ内の URL を探すことです。

バンドル フォルダー (Meme Collector.app) 内で、ターミナルに次のように入力します。

ストリングス「ミームコレクター」
待って、なぜそんなに! strings コマンドは、バイナリのセクションを調べて、文字列のように見えるすべてのデータ要素を出力します。 ノイズをフィルタリングして取り除きましょう。

ストリングス「ミームコレクター」 | httpをグレップ
ああ、ここに 1 行あります。

http://version1.api.memegenerator.net/Generator_Select_ByUrlNameOrGeneratorID
ある時点で、アプリケーションはこの URL のミーム ジェネレーターにアクセスしているようです。 ハッカーであれば、アプリケーションのネットワーク トラフィックを調べて、この問題をさらに詳しく調査したいと思うでしょう。 これを行うには、すべての送受信リクエストをインターセプトするネットワーク モニターが必要です。

チャールズ、記事の冒頭で言及しました - 良い選択肢そんな勉強のために。 まだダウンロードしていない場合はダウンロードしてください。 インストールして実行します。

Charles が iOS シミュレーターからネットワーク通信を取得していることを確認します (マップを起動するか、Safari に URL を入力します)。 Charles でネットワーク リクエストが実行されていることがわかります。 これが起こらない場合は、メニューで次のことを確認してください プロキシ > Mac OS X プロキシチェックボックスがオンになっています。

ちなみに、Charles は SSL トラフィックのインターセプトに優れています。

strings コマンドの出力に HTTPS URL が表示されなかったため、これは行いません。 ただし、HTTPS を使用する可能性のある他のアプリケーションではこの手順が必要になります。 メニューにある プロキシ > プロキシ設定… > SSL SSL プロキシを有効にし、HTTPS トラフィックをインターセプト (および復号化) するドメインを追加する必要があります。 これを行うまで、SSL は次のようになります。


Charles を実行した状態で、Meme Collector を再起動します。 起動すると、URL の左側にある三角形をクリックすると、version1.api.memegenerator.net への 3 つのリクエストが表示されます (下記を参照)。 GET パラメータが異なる 3 つのリクエストが開きます。 たとえば、最初のものには 1 つの GET パラメータがあります: urlName=Foul-Bachelor-Frog - これは [リクエスト] タブで確認できます。

[応答] タブを選択し、下部にある [JSON] を選択します。 JSON から復号化されたサーバー応答は、美しいプレートの形式で表示されます。

ここでは、タイトル (displayName)、説明 (description)、画像 URL (imageUrl) など、「キーと値」タイプの多くの行が表示されます。これは一般に、GET パラメーターからのこのタイプの「Four Bachelor Frog」ミームに関する情報です。

アプリで見たものと似ていますね? 他の 2 つの写真は、今回はそれほど幸運ではありませんでした。サーバーから応答を受信しなかったため (Charles はこれを「概要」タブで報告しました)、アプリケーションに表示されませんでした。

しかし、写真のリクエストはまったくありません。

再起動すると、写真がシミュレータのキャッシュから取得される可能性がありますが、Charles はこれを知りません。 キャッシュをクリアしてアプリケーションを再起動します。

Rm -R ライブラリ/キャッシュ/

したがって、ある程度の確率で、アプリケーションはこの API からミームを取得し、それらを有料コンテンツの形式で提示すると結論付けます。 これら 3 つのミーム以外の新しいコンテンツを購入するために URL を変更しようとするとどうなるでしょうか? 開発者が期待したものをアプリケーションが実際にサーバーから受け取ったかどうかを確認するチェックはないようです。

これら 3 つのミームにはもう飽きましたか? さて、何か新しいもの、たとえば「サクセスキッド」を表示して「購入」できるかどうかを試してみましょう。

Charles メニューから選択します。 「ツール」>「書き換え」。 この機能を使用すると、受信/送信リクエストをインターセプトし、設定したルールに従って変更できます。 チェックボックスをオンにします 書き換えを有効にする。 ルールは「セット」にグループ化されます。 「セット」リストの下で、 追加新しいルールのセットを追加します。 必要に応じて (名前) の名前を変更します。 一連のルールを作成しましたが、今のところは空です。 ルールを追加しましょう - セクションに ルールボタンがあります 追加を押します。

「書き換えルール」ウィンドウが開きます。 変化 タイプ「Modify Query Param」をクリックし、次の 2 つのフィールドに入力します。

  • 一致 > 名前: URL名
  • 置換 > 値:成功者

「OK」、「OK」をクリックします。 アプリケーションを再起動します...成功しました! 以前は入手できなかったコンテンツを購入できるようになります。

興味深い: この新しいミームには具体的な価格が記載されています。 どこ? アプリケーションは、JSON 応答に基づいて何らかの方法でコストを決定する必要がありました。

[応答] タブを開いて、サーバーが返す JSON を確認します。 価格の価値は何によって決まるのでしょうか?

アプリケーション内のミームの値を決定できる JSON キーを見つけてみてください。 おそらくそれは、generatorID、totalVotesScore、instancesCount、templatesCount、またはランキングです。 あなたのための演習として、ミームの価値に影響を与える鍵を見つけてください。

これを行うには、[プロキシ] > [ブレークポイント] に移動します。 クリック ブレークポイントを有効にするそして押します 追加新しいブレークポイントを追加します。 [ブレークポイントの編集] ウィンドウが表示されるので、次のデータを入力します。

  • プロトコル: http
  • ホスト: version1.api.memegenerator.net
  • 応答オプションが有効になりました

ここでアプリケーションを再起動します。 サーバーから応答を受信するとすぐに、ブレークポイントがトリガーされます。 これが発生したら、「応答の編集」タブをクリックし、下部にある「JSON」を選択します。

ここで、アプリケーションに送信される JSON 応答を手動で変更できます。 これらのパラメーターを試して、どのキーがアプリケーションに表示される価格に影響を与えるかを判断してください。 JSON 応答を編集した後、「実行」をクリックして応答を送信します。 アプリケーションは API に対して 3 つのリクエストを行うため、「実行」を 3 回クリックする必要があります。

重要: すぐに行動してください。 AFNetworking のタイムアウトは 30 秒です。 応答を傍受したが変更を加える時間がなかった場合、AFNetworking は要求タイムアウト エラーを返し、コード内の対応するハンドラーを実行します (この場合は何も行いません)。 時間がなくなった場合は、アプリケーションを再起動して、もう一度試してください。

次は何ですか?

あなたは自分のハッキング能力を発見し、例として特定のアプリケーションのファイル システムとネットワークの相互作用を使用して簡単な侵入テストを実行しました。 単純な plist を克服し、サーバーの応答を変更することもできます。

おそらく、この知識があなたの iOS アプリケーションのセキュリティを少しだけ向上させるでしょう。 次のパートでは、アプリケーションをさらに深く掘り下げて、その機能を変更します。 それまでの間、私が翻訳を投稿するのを待ってください (来週の金曜日まで)。アプリケーション内のデータ ストレージのトピックに関して、さまざまなことを試すことができます。

翻訳や壊れた例についてのコメントは電子メールで送信できます 開発者 @ x128.ru.

Info.plistをTextEdit用に編集したいと考えています。 (理由は次のとおりです。) OS 10.7 を使用しており、Xcode がインストールされています。 しかし、ファイルを編集しようとするたびにロックされ、変更を保存できません。

XCode を使用して保存しようとすると、XCode はロックを解除するかどうかを尋ねます。 「ロックを解除」と言ったのですが、「ファイル "Info.plist" のロックを解除できませんでした」というエラー メッセージが表示され、それは私がそのファイルを所有していないためだと言われます。

ターミナルの vi で Info.plist (vi Info.plist) を開くと、:w を使用しても変更を保存できません。 , エラー E212: 書き込み用にファイルを開けません。

TextEdit ファイルの Info.plist に変更を加えるにはどうすればよいですか?

答え

イアン S.

これを行う前に、システム上で TextEdit のインスタンスが実行されていないことを確認してください。

ファインダーの使用

Finder で plist ファイルを選択し、[ファイル] > [情報を見る] を実行します。 ファイル情報ウィンドウの下部に、「」というセクションが表示されます。 共有と権限」。 自分がこのリストに載っており、ファイルへの読み取りおよび書き込みレベルのアクセス権を持っていることを確認したいと考えています。

ファイルのアクセス許可に自分自身を追加するには、その前にファイルのロックを解除する必要があります。 右下隅にある小さな鍵のアイコン (1) をクリックし、パスワードを入力します。 このコンピュータの管理者ではない場合、この手順を完了することはできません。

ファイルのロックを解除したら、アクセス許可を読み取りと書き込みに変更できます。 ファイルにアクセスできるユーザーのリストに自分が表示されていない場合は、リストの下にある [+] ボタンをクリックし、[ユーザーとグループ] ポップアップ リストを探します。

変更は、[ファイル情報] ウィンドウで行うとすぐにファイルに適用されます。

これで、これらの変更を開いて編集し、ファイルに保存できるようになります。

コマンドラインの使用

ターミナル ウィンドウを開きます。

plist ファイルがある場所に移動します。

cd ~/ライブラリ/設定/

ファイルの所有者と権限を変更して、ファイルの読み取りと書き込みができるようにします。

sudo chown $USER aomDSP.plist sudo chmod u+w aomDSP.plist

おそらく 2 回目の呼び出しでは sudo は必要ありませんが、害はありません。 これを行うには、マシンへの管理者アクセスが必要です。

ケイティK

「Finder」の指示は私にとってはうまくいきました - ありがとう!

ユーザー495470

TextEdit および自動保存を使用するその他のアプリケーションにも、ファイルが配置されているディレクトリへの書き込み権限が必要です。

ザドラ

検索手順は私にとっては機能しませんでした。ユーザーを追加するか、全員の権限を編集しようとすると、「必要な権限がないため、操作を完了できません。」と表示されました。 私の管理者アカウント。 コマンド ラインには、操作が許可されていないことも示されています。

イアン・S. ♦

@jzadra がグレー表示されている場合、これを実行しようとしているアカウントは ないには管理者権限があります。

前に

(上で説明したように) ファイルを編集する場合は、ロックを解除する必要はありません。 コマンド ラインに慣れている場合は、Apple が提供するコマンド ライン ツールを使用してファイルを編集できます。 sudo を使用してコマンドを追加し、ファイルを変更するために必要な権限を取得します (管理者パスワードを入力する必要があります)。

つまり、これらはデフォルトと PlistBuddy プログラム (sudo /usr/libexec/PlistBuddy として実行) です。 デフォルトはファイルを変更するためのより直接的な方法ですが、PlistBuddy には、保存する前に変更をプレビューできる対話型モードがあります。