カテゴリー別アーカイブ: JailBreak

ドコモ音声SIMを使ってiPhone4のFaceTimeをアクティベーション出来た【iPhone JB】

以前、日本通信のプラチナSIMを使ってSIMロックフリーiPhone4(香港版)でFaceTimeのアクティベーションが出来なかったことをエントリ(日本通信のプラチナSIMでiPhone4のFaceTimeはアクティベーションできないのか?)にまとめましたが、ドコモ音声SIMを使ってアクティベーションすることができました。GALAXY S2購入時にMNPで日本通信からドコモへ回線を移したので実験してみました。

SIMロックフリーのiPhone4をJailBreakする、あるいはソフトバンクのiPhone4をJailBreakしてSIMロックを解除することが前提となっていますので、そこまでやってるユーザなら自己責任の意味をご存知のことでしょう。ということで試す場合は自己責任でお願いします。

iPhone4の状態

SIMロックフリーiPhone4(香港版)にiOS4.3.3を入れてJailBreakMeを使ってJailBreakした状態です。JailBreakが必要な理由には二つあります。まず、carrier.plistにあるFaceTimeのアクティベーションに必要な国際SMS送信先をデフォルト状態から変更しなければなりません。そして、編集を加えた署名なしのcarrier.plistを認識させるためにはCommCenter Patchを当てなければならないからです。

準備

Cydiaのレポジトリに cydia.iphonemod.com.br を手動で追加するか、Sections にある Repositories から iPhoneMod Brazil をインストールし、CommCenter Patch for 4.1.X (1,2 and 3) 4.3.X-4 をインストールします。carrier.plistをiPhone上で編集するために iFile もあると便利です。ドコモ音声SIMは /System/Library/Carrier Bundles/iPhone/Unknown.bundle/carrier.plistをロードします。編集前に念のためバックアップしておきます。

carrier.plistの編集

iFileのテキストビュアー機能を使ってからcarrier.plistを開き、PhoneNumberRegistrationGatewayAddressキーの番号を次の通り変更して保存します。適用するためにリブートします。

<key>PhoneNumberRegistrationGatewayAddress</key>
<string>+447860015000</string>

FaceTimeをアクティベーションする

設定画面から電話を選択し、FaceTimeのトグルをオンにします。「ご利用の通信事業者により課金される場合があります」と出ますのでOKボタンをタップ。国際SMSを送信するためドコモから50円(1通)課金されます。アクティベーション出来ないからといって何度もトグルをオン/オフしますと、SMS利用料金はパケット定額プラン対象外なので思いがけず高額な請求を受けることがありますので注意してください。

iphone4,facetime,docomo,sim

iphone4,facetime,docomo,sim

すると、「アクティベーション中です… 」と表示が変わりますので、そのままアクティベーションを待ちます。

iphone4,facetime,docomo,sim

日本通信のプラチナSIMでは待てど暮らせどアクティベーション出来ないばかりか何度も国際SMSを送信してしまったために高額なSMS使用料の請求を受ける憂き目に遭いましたが、今回は1分も待たずに一発であっさりとアクティベーションが完了しました。FaceTimeのトグルがオンになり「お使いの電話番号はFaceTimeの相手に表示されます」に変わります。

iphone4,facetime,docomo,sim

実際にFaceTimeしてみよう

早速、FaceTimeをしてみました。クマさんからくまさんへ。問題なく実施できました。

iphone4,facetime,docomo,sim

iphone4,facetime,docomo,sim

carrier.plistの編集が面倒な場合は、Cydiaからリリースされているmaruo98氏のNTTdocomo Carrier bundle 1.2-1(レポジトリ”http://peaboo.net/apt/”を追加)を使うと良いでしょう。FaceTime以外にも接続先のAPN、ロゴやボイスメール、テザリング等の設定があらかじめ用意されています。
※音声SIM用とデータ定額SIM用のbundleファイルがあるようですから選択時には注意してください。

iPhone4のためのcarrier.plistを自作する

SIMロックフリーのiPhone4を使っているといろいろなSIMカードで試してみたくなるものです。しかしSIMカードを入れ替える都度にAPN設定などは非常に手間ですから、これをSoftBankの黒SIMを入れたときのように各種設定を自動認識してくれるようにする方法です。

SIMロックフリーのiPhone4を購入し、かつJailBreakするユーザであれば自己責任という言葉をご存知かと思います。このエントリの内容は無保証です。*日本国内のSoftBank用にSIMロックされたiPhone4では確認していません。

キャリア設定ファイルはどこにあるのか

オフィシャル・キャリア・パートナー(SoftBankやat&tなど)のキャリア設定ファイルはiOSに実装されています。 /System/Library/Carrier Bundles/iPhone/に各キャリアのディレクトリがあり、同じ場所にシンボリックが設定されたPLMN(MCC/MNCを組み合わせ)コード名のディレクトリがあります。iPhone4にSIMカードを挿すと、PLMNコード(例えばドコモや日本通信は44010、SoftBankは44020)を認識し、Carrier Bundles以下にある設定ファイル(carrier.plistなど)をロードします。設定ファイルにはAPN設定やキャリアロゴ等の情報が記載されています。

ドコモや日本通信の設定ファイルはどうなっているのか

ドコモや日本通信はこの設定ファイルが用意されておらず「その他不明」という扱いをされてしまうのでUnknown.bundleがロードされます。その他不明なSIMはAPN設定やキャリアロゴ表示情報が用意されていませんので、ドコモSIMやプラチナSIMを入れ替える都度、たとえばAPN情報は設定.app>一般>ネットワークから自分で入力しなければなりません。

ドコモや日本通信もSIMカードを挿して自動設定させたい

設定ファイル(carrier.plist)にアクセスするにはJailBreakしなければなりません。iPhoneのデータ通信を司るCommCenterはサインなしのcarrier.plistを認識しないため、Cydiaにレポジトリ(http://cydia.iphonemod.com.br)を追加して、iOSバージョンに対応したCommCenter Patchを適用する必要があります。

日本通信のtalking b-microSIMプラチナサービスのcarrier.plistを自作する

必要な設定ファイルと格納場所を作ります。手っ取り早く作るにはUnknown.bundleにあるcarrier.plistをベースにします。その他、version.plist、info.plistも母艦にコピーします。母艦でProerty List Editor等を使って、carrier.plistにAPN設定とキャリアロゴ表示、FaceTimeアクティベーション(成功事例は未確認)に必要な情報を追記します。info.plistは必要に応じて変更します。作業の前には必ずバックアップをとりましょう。

サポートSIMに日本通信(ドコモFOMA網)のPLMN(Public Land Mobile Network)コードを追記します。Unknown.bundleのcarrier.plistにはオフィシャルサポートするキャリアのPLMNコードが全て記載されていますので、その最初でも最後でも構いませんので追記します。

<key>SupportedSIMs</key>
<array>
<string>44010</string>
</array>

FaceTimeのアクティベーション関係

<key>PhoneNumberRegistrationGatewayAddress</key>
<string>+447860015000</string>
<key>RegistrationOptInRequired</key>
<true/>

設定内容の詳細は、”日本通信のプラチナSIMでiPhone4のFaceTimeはアクティベーションできないのか?“をご参考まで。

キャリアロゴ表示関係

<key>StatusBarImages</key>
<array>
<dict>
<key>AllowPrexMatching</key>
<false/>
<key>CarrierName</key>
<string>NTT DOCOMO</string>
<key>DefaultImage</key>
<string>Default_CARRIER_NTTdocomo.png</string>
<key>FullScreenOpaqueImage</key>
<string>FSO_CARRIER_NTTdocomo.png</string>
<key>StatusBarCarrierName</key>
<string>NTT DoCoMo</string>
</dict>
</array>

キャリアロゴについて、詳しくは”iPhone4/iOS4.3.Xにドコモのキャリアロゴを表示する方法【iPhone JB】“をご参考まで。

APN設定関係

<key>apns</key>
<array>
<dict>
<key>apn</key>
<string>dm.jplat.net</string>
<key>password</key>
<string>bm</string>
<key>type-mask</key>
<integer>1</integer>
<key>username</key>
<string>bm@ios</string>
</dict>
<dict>
<key>apn</key>
<string>dm.jplat.net</string>
<key>password</key>
<string>u300</string>
<key>type-mask</key>
<integer>48</integer>
<key>username</key>
<string>u300@ios</string>
</dict>
<dict>
<key>apn</key>
<string></string>
<key>password</key>
<string></string>
<key>type-mask</key>
<integer>0</integer>
<key>username</key>
<string></string>
</dict>
</array>

type-maskについて補足しておきますと、この数字には意味があります。
 0:無効
 1:データ通信
 2:ビジュアルボイスメール
 4:MMS
 48:テザリング

プラチナSIMの場合は、データ通信とテザリングのAPNが分かれていますので、それぞれのtype-maskについて”1″と”48″を設定します。これがSoftBankの黒SIMは”7″ですから、smile.worldには「1:データ通信+2:ビジュアルボイスメール+4:MMS=7」という設定が割り当てられていることがわかります。この時、APN側が対応していない組み合わせを指定してしまうと設定内容は無効になりますので注意してください。

Unknown.bundle以外で使用する場合はinfo.plistの修正も必要になります。info.plistをProperty List Editor等で開いてCFBundleExecutableキーを”Unknown”から適当な名称(例:bmobile)に変更します。またCFBundleIdentifierを”com.apple.Unknown”を”com.apple.bmobile”等に変更します。

iPhone側の準備をしてファイルをアップロード

carrier.plistの編集が完了したら、設定ファイルを格納場所をiPhone側に作ります。Unknown.bundleで構わない場合は、/System/Library/Carrier Bundles/iPhone/Unknown.bundleにcarrier.plitを戻します。

Unknown.bundle以外で自作する場合は、/System/Library/Carrier Bundles/iPhone/にinfo.plistで修正したバンドル名を使用したディレクトリを作ります。上記の場合だと”bmobile.bundle”と、”.bundle”を付けるのを忘れないでください。このディレクトリにcarrier.plist、version.plist、info.plistをアップロードします。

※キャリアロゴを変更する場合は、必要に応じて画像ファイルもアップロードします。

そしてPLMNコード(44010)でUnknown.bundleまたは自作したディレクトリ(bmobile.bundle)にシンボリックリンクを設定します。

適用されているかどうかを確認する

リブートして作業は完了です。これで差し替える都度、APN設定する必要がなくなりました。ただしく反映されない場合は、iFile等で/var/mobile/Library/Carrier Bundles/を確認します。正しく認識されていれば、Unknown.bundleまたは自作したディレクトリにシンボリックリンクされています。

/var/mobile/Libraryに”Carrier Bundle”がない場合は、CommCenter Patchが適用されていない、info.plistで指定したCFBundleExecutableやCFBundleIdentifierの名称とディレクトリの不一致、PLMNコードのシンボリックが正しくないなどが考えられます。/var/mobile/Libraryに”Carrier Bundle”があるが、正しく反映されない場合は、carrier.plistの中身に誤りがある可能性があります。

ちなみに、Cydia(”http://peaboo.net/apt/”レポ追加)からリリースされている”NTTdocomo Carrier bundle”をインストールしてAPN設定を追記すれば同じ作業の効果があるように思いますが未確認です。

なお、carrier.plistの設定内容については以下のサイトが大変参考になると思います。
Carrier.plist – The iPhone WiKi
Carrier Bundle – The iPhone WiKi

  

Posted from DPad on my iPad2

日本通信のプラチナSIMでiPhone4のFaceTimeはアクティベーションできないのか?

iPhone4の一つの売りであるFaceTimeは全てのキャリアに対応している訳ではありません。たとえば日本通信はtalking b-microSIMプラチナサービスで提供するmicroSIMではFaceTimeを利用できないとしています。一方でドコモSIMを使ってFaceTimeをアクティベーション出来た方([続] DoCoMo + FaceTime – nunnun’s weblog)もいらっしゃるようですから、もしかしてとプラチナSIMを使って実験してみました。結果は大失敗でした。失敗は成功の母、ということで失敗談を報告します。

SIMロックフリーのiPhone4をJailBreakする、あるいはソフトバンクのiPhone4をJailBreakしてSIMロックを解除することが前提となっていますので、そこまでやってるユーザなら自己責任の意味をご存知のことでしょう。ということで試す場合は自己責任でお願いします。

FaceTimeをアクティベーションするには
iPhone4の場合は国際SMSを使います。従って国際SMSを送信できないキャリアはアクティベーション出来ないことになりますが、ドコモと日本通信は対応しています(1通50円)。たとえば、ソフトバンクのSIMを使うと設定.appから電話を選択し、FaceTimeのトグルを確認するとオンの状態になっています。オフの場合は、オンにすると「アクティベーション中です…」から「お使いの電話番号はFaceTimeの相手に表示されます」と変わるはずです。

IMG_0001

国際SMSの送信先を変更する
Appleのキャリアパートナーと同じ送信先に国際SMSを送信してもアクティベーションできないとのことで、これを変更する必要があります。自分のキャリアが使っているcarrier.plistに以下を追記します。

<key>PhoneNumberRegistrationGatewayAddress</key>
<string>+447860015000</string>
< key>RegistrationOptInRequired</key>
<true/>

因みに北米以外のキャリアパートナーの送信先は”+447786205094″に設定されています。RegistrationOptInRequiredは国際SMS送信前の最終確認をするかどうかの設定です。trueの場合は次のように確認のポップアップが出ます。

IMG_1154

日本通信のプラチナSIMで何が起きたか
残念ながら「アクティベーション中です…」のまま成功せずに次のように「アクティベートできませんでした。FaceTimeをオンにしてやり直してください」と出て失敗します。直ぐにこのメッセージが表示されることもあれば、1時間放置しても「アクティベーション中です…」のままのこともありましたが、何度やってもダメでした。ドコモ以外のキャリアでも海外サイトで成功例が紹介されていたので期待していたのですが、残念ながらうまく行きませんでした。日本通信のMVNOがダメなのか、Appleがこの番号のアクティベーションを止めたのか失敗の原因は全くわかりません。

IMG_1156

最後にオチがありまして日本通信の月額使用料で国際SMS送信料金が請求されてしまいました。通信明細を見ると128回×50円で6,400円。覚悟はしていましたが、ポップアップ表示は出ても実際に国際SMSが送信されていたかどうか確信がありませんでしたので本当に請求されてしまうのかは半信半疑。でもこれで送信自体は成功していたことが証明された訳です。ご自分で試されたい方は是非ご注意を。

iPad2やiPod touch 4GはApple IDがあれば簡単にアクティベーションできますのでiPhone4もこの方法にしてもらいたいものです。Wi-Fi環境下でしかできないFaceTimeのアクティベーションになぜキャリアの国際SMSが必要なのかがわかりません。いやいや、そもそもFaceTimeを使うのかというツッコミはあると思いますが。

もし日本通信のSIMを使って出来たという方がいらっしゃればぜひご一報をお願いします。

Posted from dPad on my iPad2

[UPDATE1]iFileの日本語キーボードに関する不具合

JailBreakしたiDeviceに欠かせないツールのひとつがiFileではないでしょうか。まもなくDropboxとの連携も可能になるというニュースが流れていました(Dropbox Integration Coming To iFile [Jailbreak])しさらに便利になる予感。こんな便利なiFileですが、キーボードにちょっとした不具合(と呼ぶべきかやむを得ない仕様)があります。

  1. キーボードのクリック音が強制的にオンになる
  2. 日本語キーボードに切り替えるとiFile終了時にキーボード設定が初期化される

この2点について解消できないか試行錯誤。原因はiFileがmobileユーザではなくsuper user(root)権限で動作していることにあると思われます(WinterBoardのテーマがiFile上では適用されないのも同じ原因と思います)。今のところキーボードのクリック音は消すことができましたが、終了時の初期化問題はいまだに解決の糸口すら… というかお手上げです。

キーボードのクリック音を消す
設定>サウンド>キーボードのクリック、をオフにしていてもiFile操作中にクリック音が強制的にオンになってしまいます。これを解消するのは簡単です。/var/mobile/Library/Preferences/com.apple.preferences.sounds.plist のシンボリックリンクを /var/root/Library/Preferences/ に設定し、コピーし、アプリを一度閉じます。再度、開けばクリック音は消えています。

07 symbolic link - com.apple.preferences.sounds.plist

このplistをiFileのプロパティリストビューアーで開いたところです。

06 root - com.apple.preference.sound.plist

iFile終了時にキーボード設定が初期化される問題
設定>一般>キーボードで「自動大文字入力」「自動修正」「スペルチェック」「Caps Lockの使用」「ピリオドの簡易入力」をオフにしていても、iFileで日本語キーボードを表示して切替ボタンを使うと、iFileを閉じた後にキーボード設定が初期化され、全てオンの状態になります。

iFile起動前
00 Keyboard settings before

日本語キーボードを切替えてiFileを閉じた後
02 Forced to initialize keyboard setting

上記のクリック音と同じようにmobileユーザーの設定ファイルcom.apple.Preferences.plistをrootユーザーのディレクトリに置いてみましたが効果なし。症状は「初期化」されてしまうわけですから初期化状態が定義されているKeyboardSettings.bundleの大元のKeyboardAutocapitalization、KeyboardAutocorrection等をオフにしてみてもダメ。確かに、設定>一般>キーボードの設定項目は見た目はオフにすることができるのですが、「オフ」の状態が有効化されておらず自動大文字入力や自動修正が働いてしまいます。ここで挫折です。

根本的な解決ではありませんが、自動修正をマニュアルで修正するように変更するtweakがCydiaからリリースされています。ManualCorrectがそれですが、自動修正せずに自分で修正候補を選択するようにするものですから自動修正を完全にオフにするものではありません。また自動修正をオンにしようと思ってもできません。ManualCorrect Pro(US$0.99)ならSBSettingsのトグルでオン/オフを切り替えることができます。

日本語キーボードならテンキーでもローマ字でも同じ症状がでます。英語キーボードだけなら問題は起きませんが….. iFileのバグなのか、root権限で動作することによるやむを得ない事象なのか。シングルバイト文字は不具合はなさそうですからこの問題は将来的に修正されない気がします。とはいえ、通常、自動修正をオフで使ってるユーザーにとっては地味に不便なのでなんとかならないかなぁと期待は捨てきれずにいます。

Posted from dPad on my iPad2

続きを読む [UPDATE1]iFileの日本語キーボードに関する不具合

[UPDATE1]iPhone4/iOS4.2.1にドコモのキャリアロゴを表示する方法【iPhone JB】

iPhone4/iOS4.2.1にてドコモSIMまたは日本通信SIMを入れた場合のキャリアロゴ変更について確認できましたのでご報告です。(情報提供Thx 8888さん、docomoでiPhone4さん)なお、SoftBank SIMカードの場合、この方法では変更できませんので注意してください。

00docomo-ios421

01docomo-ios421

参考エントリ

注意喚起情報
JailBreakされたiDeviceはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となります。また、JailBreakはアップル社のセキュアな環境を無効化するため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakとその危険性については詳細に説明されているサイトがありますので是非確認してください。をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について

まずJailBreakされたiPhone4/iOS4.2.1を用意します。以降の設定にはiFileを入れておくと便利です。

Cydiaにレポジトリ”cydia.iphonemod.com.br”を追加し、”Wortel’s CommCenter Patch 4.2.1-2″をインストールします。サインなしのipccやcarrier bundlesを認識することが可能になります。

05docomo-ios421

つぎに、Cydiaのパッケージからdocomoのキャリアバンドルをインストールします。Cydiaにレポジトリ”http://peaboo.net/apt/”を追加し、maruo98氏作の”NTTdocomo Carrier bundle 1.1-1″が出てきますのでインストールします。

NTTdocomo Carrier bundle1.1-1

NTTdocomo Carrier bundleにはRetina対応の@2x画像が用意されていますのでそのままでもよいのですが、やはり懐かしいアンロックされたドコモのロゴに入れ替えることにしました。作業は終了です。リブートすると反映されます。今のところ電話もデータ通信も可能ですし、さらにリブートしても設定が消えたり、差し替えたロゴが反映されないような不具合は出ていません。

なお、アンロックdocomoキャリアロゴについては例によって配布できませんのでご理解のほどおお願いいたします。

当ブログを参考に、iOS4.2.1にCydiaにある”NTTdocomo Carrier bundle 1.0.0″を入れて、iFile等でdocomo_jp.bundleを移動して適用された方へ
maruo98氏が独自リポジトリにiOS4.2.1対応バージョンをリリースされていました。これを適用する前にCydiaからインストールしたキャリア・バンドルをアンインストールのうえ、iFile等でdocomo_jp.bundleと44010を削除してください。

【参考】
iOS4.2.1からは保管場所の前にiPhoneディレクトリが入るようになっています(赤字部分)。iPadの場合はこのディレクトリがiPadとなります。
/Systems/Library/Carrier Bundles/iPhone/

続きを読む [UPDATE1]iPhone4/iOS4.2.1にドコモのキャリアロゴを表示する方法【iPhone JB】

Kindle3/3.1でPDF形式ファイルのダウンロードが可能に【Kindle JB】

Kindle JailBreakにFreeDownloadハックが登場しています。Kindle Software Version 3.1で動作確認済みですが3.0.xでは未確認です。Kindleが内部ブラウザからダウンロードできるのは拡張子が”.azw”、”.prc”、”.mobi”、”.txt”に限定されており、PDF等の他の拡張子をもつファイルはダウンロードすることが出来ませんが、このハックを使えば可能になります。

03Kindle-Aozora

このハックを利用すると、Kindle3の内部ブラウザからオンラインストレージサービスの代表であるDropboxにアクセスしてPDFファイル等をダウンロードできるようになります。まだ使用していない方は非常に便利なサービスですので利用してみてはいかがでしょうか。
Dropbox(このURLから登録しますとわたしと登録した方に無料上限の2GBに250MBの容量が追加できます。どうぞよろしくお願いします。)

注意喚起情報
シリアル接続できない方のKindle JailBreakハックは非常に危険ですのでリスクについて理解されている方のみ読み進めてください。
参考:Kindle Jailbreak(Hack)の注意点に関する個人的メモ(未定稿)

インストール方法
まず、Kindle3をyifanlu氏のJailBreakハックを適用しておく必要があります。次に、以下のサイトからFreeDownloadハックのアップデータをダウンロードして、自分の機種にあった”.bin”ファイルをKindleのUSBストレージのroot(/mnt/us)において、Settingsから”Update Your Kindle”にて適用します。
MobileRead Forums – FreeDownload hack

FreeDownload設定ファイルの編集
ハック適用後、FreeDownload設定ファイル(freedownload.conf)はUSBストレージのfreedownloadディレクトリ(/mnt/us/freedownload)にありますので必要に応じて編集します。Windowsのテキストエディタで編集する場合は文字コード(UTB-8)や改行コード(LF)に注意してください。次のような設定が可能になっています。変更を適用するにはKindleをリブートする必要がありますので忘れずに。

ALLOWED_EXTENSIONS=’pdf epub rtf zip cbz mp3′
→ダウンロード可能にする拡張子です。

DOWNLOAD_DIR=documents/Downloaded
→ダウンロードする先を指定します。指定したディレクトリはダウンロードする前に自分で用意しておきます。

DOWNLOAD_DIR_mp3=music
DOWNLOAD_DIR_aax=audible

→拡張子が”mp3″、”aax”の場合は個別にダウンロード先を指定することができます。

RESUME_DOWNLOADS=yes
→同一ファイル名がある場合に上書きするかどうかを設定します。”no”の場合に上書きします。

#AUTO_UNZIP=yes
→ダウンロードしたファイルがzip形式の場合、自動的に解凍するかを設定します。オンにする場合はコメントアウトの”#”を削除します

#LOG=yes
→ダウンロードのログを残します。freedownload.logに記録されます。

DropboxからPDFをダウンロードする
オンラインストレージのDropboxを利用している方にはその便利な世界が容易に想像つくと思います。Kindle3からも利用できたら便利ではありませんか?さすがにKindle3のローカルストレージと同期することはできませんが、Dropboxに置いたファイルをダウンロードすることなら可能です(ハックなしでもダウンロード可能なファイル種類は上述のとおりです)。

最近、雑誌のスクラップや文庫本のPDF化に凝っていまして、Dropboxに置いて共有できないかを考えてみました。このハックを使うとKindleにもダウンロードして閲覧することができました。

同期したPDFファイルを母艦からDropboxに格納しますが、保管場所はあらかじめ用意されている”Public”フォルダにする必要があります。他の方に公開して共有している場合には注意してください。Share a folderで共有設定したフォルダではダメです。

Kindle3の内部ブラウザを起動し、Enter URLから”http://www.dropbox.com”にアクセスしログインします。このときMobile Modeになっている場合は、Standard Modeに切り替えます。Publicフォルダに移動して、ダウンロードしたいファイルをクリックします。画面下にダウンロードするファイル名が表示されます。

00Kindle-Dropbox

この状態はまだダウンロードが開始しておらず、続いて次のようなハックがない状態と同じエラーメッセージが表示されます。落ち着いて、OKボタンをクリックしてください。ダウンロードが開始します。

01Kindle-Dropbox

HOME画面に戻ると、さきほどダウンロードしたファイルが表示されます。ちなみに、内蔵ブラウザの起動が面倒なのでMobipocket eBook CreaterでDropboxのURLを記述したhtmlをビルドしてKindleのdocumentsディレクトリに入れておくとHOME画面からカンタンにアクセスできて便利になります。

02Kindle-Dropbox

著作権が発生する著作物の自炊に関しての取り扱いについては十分ご注意ください。
参考:アゴラ 池田信夫 – MobileMeもDropboxも違法である

追記:Kindle2ハックでPDFダウンロードが出来た頃との違い
Kindle3はwebkitベースのブラウザに変更され、ダウンロード可能ファイルの設定方法も変更されてしまい、Kindle2のときのようなnetfront.ini設定ファイルの編集では指定できなくなっていました。

[UPDATE1]【速報】Kindle Software Version 3.1が早くもJailBreakされる

先日、Kindle3に向けたSoftware Version3.1がリリースされ、一昨日アマゾンからOTA配信を開始する旨の公式アナウンスがあったばかりです。「JailBreak済みKindle3WIFI版のソフトウェアを3.1にアップデートしてみた」でまとめた後にアップデータによるハックは出来ないためスーパーハッカーのJailBreakハックを待つしかないことを確認しところに、昨日、当ブログのコメント欄にJailBreak可能であるとの情報を知らせていただきました。(情報Thx>7942さま)

早速、JailBreakハックを適用してみましたのでご報告いたします。結論から言うと、JailBreakされ以前と同じusbnetworkハックを適用することができました。今のところ問題ありませんが、確認できたことは順次追記していく予定です。

注意喚起情報
シリアル接続できない方のKindle JailBreakハックは非常に危険ですのでリスクについて理解されている方のみ読み進めてください。
参考:Kindle Jailbreak(Hack)の注意点に関する個人的メモ(未定稿)

まずJailBreakするためのアップデータをダウンロードします。使用上の注意はコチラを参照してください。必ず読んでください。
Kindle 3.1 Jailbreak

アップデータは上記フォーラムにもリンクがありますがコチラかダウンロード可能です。
Kindle Jailbreak

解凍して自分の機種にあったインストーラーをKindle3のUSBストレージのroot(”/mnt/us/”)に置き、Settingsメニューから”Update Your Kindle”を実行します。完了するとKindleのHOME画面が起動します。USBストレージのrootに”ENABLE_HACK_UPDATES”というファイルがあるはずです。このファイルの存在チェックにより適用するアップデータの提供元がAmazonなのかサードパーティなのかをコントロールします。存在する場合はハックを適用するようになります。解除する場合はこのファイルを削除してKindleを再起動します。またハックを適用したい場合は中身はブランクのこれと同じファイル名を用意して再起動するだけです。

今回のJailBreakハックはリリースされたばかりですがバージョンが既に0.1から0.3まで上がっています。徐々に機能が改善されており、今後も上がる可能性がありますので、急がない方はもう少し様子を見たほうが良いかもしれません。

念の為にSoftware Version 3.0.3で適用できていたusbnetworkハックを適用してみたところ、JailBreakハックなしでは失敗していたものの、無事成功し動作しました。

参考:【Kindle3要JB】USB/WIFI接続からrootでログインするハック

参考までにyifanlu氏のkindle-JailBreak 0.3のハックを適用したところのシリアル接続で取得したログです。
#################################################
# N O T I C E * N O T I C E * N O T I C E #
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
[root@kindle root]#
[root@kindle root]#
[root@kindle root]# system: I start.sh:stop:signal=15,exitval=143:CVM stopped using SIGTERM
INIT: Switching to runlevel: 3
system: I K05framework:def:stopping booklet framework
com.lab126.powerd failed to access property state (0x3 lipcErrNoSuchSource)
system: I K06browserd:def:Stopping Browser Daemon
system: I K10cron:def:stopping crond
start-stop-daemon: lseek: Invalid argument
Stopping lipc-daemon: system: I K10tmd:def:Stopping Transfer Manager Daemon
system: I K15audio:def:stopping audio server
system: I K17ttsd:def:stopping TTS daemon
system: I K20volumd:def:stopping Volume daemon
system: I K25phd:def:Stopping Phone-Home Daemon
system: I K30cmd:def:stopping CMD daemon
system: I K30wifid:def:stopping wifid
Stopping Power Management Daemon: stopped /usr/bin/wpa_supplicant (pid 18951)
system: W wpa_supplicant:def:wpa supplicant stopped
system: I wifi:def:WiFi Device mac =
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
..unloading all
system: I wifi:def:loadAR6000 finished, args=(unloadall)
system: I K76mcsd:def:stopping MCS server
Stopping Process Monitoring Daemon: system: I K85dbus:def:stopping system message bus
system: I mntroot:def:Making root filesystem read-only
system: I S50updater:def:updater started
system: I S50updater:def:Waiting for wand to shutdown
system: I S50updater:def:wand shutdown complete
system: I S50updater:def:read bundle line [/mnt/us/update_jailbreak_0.3_k3w_install.bin]
system: I S50updater:def:Applying update /mnt/us/update_jailbreak_0.3_k3w_install.bin
system: I S50updater:def:Size of update: 3751 bytes
system: I S50updater:def:Version before update: 031-S1-055870
system: I _otaupexec:def:processing update /mnt/us/update_jailbreak_0.3_k3w_install.bin
4+0 records in
4+0 records out
system: I _otaupexec:def:version is “FC02”
32+0 records in
32+0 records out
57+1 records in
57+1 records out
system: I _otaupexec:def:update image checksum OK
57+1 records in
57+1 records out
jailbreak.sig
payload.sig
loader.sig
update loader.sig .dat
update loader.sig .dat.sig
system: I mntroot:def:Making root filesystem writeable
ota_install: I def:update::backup Amazon keys, just in case
ota_install: I def:update::create jailbreak init script
ota_install: I def:update::copy the keys
ota_install: I def:update::start script
system: I jailbreak:def:update providers changed, switching keys
system: I mntroot:def:Making root filesystem writeable
ota_install: I def:update::done
system: I _otaupexec:def:update complete
system: I S50updater:def:OTA update successful for /mnt/us/update_jailbreak_0.3_k3w_install.bin
system: I S50updater:def:Version after update: 031-S1-055870
system: I S50updater:def:Deleting OTA bundle file “/mnt/us/update_jailbreak_0.3_k3w_install.bin”
INIT: Switching to runlevel: 5
INIT: Sending processes the TERM signal
system: I wifi:def:WiFi Device mac =
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
No debug record limit set
Load Board Data from /opt/ar6k/target/AR6002/hw2.0/bin/lab126_15dBm_nodiv_WWR_CTL.bin
Updating MAC address
BMI Set App Start (address: 0x913950)
BMI Bit-Wise (OR) modify Register (address: 0x500410, orig:0x8, new: 0x9, mask:0x1)
BMI Write compressed Memory (address: 0x502070, filename: /opt/ar6k/target/AR6002/hw2.0/bin/athwlan.bin.z77)
BMI Write Memory (address: 0x52d6d0, filename: /opt/ar6k/target/AR6002/hw2.0/bin/data.patch.hw2_0.bin)
BMI Write Memory (address: 0x500418, value: 0x52d6d0)
BMI Done
system: I wifi:def:loadAR6000 finished, args=()
system: I wpa_supplicant:def:wpa supplicant started
system: I S30network:def:initializing network configuration
system: I S30network:def:Installed Firewall
system: I S60dbus:def:starting system message bus
Starting Process Monitoring Daemon: Retrieved 127 keys for system/daemon/pmond/
Starting Power Management Daemon: system: I S70cmd:def:starting CMD daemon
system: I S70wifid:def:starting wifid
system: I S75phd:def:Starting Phone-Home Daemon
system: I S76mcsd:def:starting MCS server
system: I S80volumd:def:starting Volume daemon
system: I S85audio:def:initializing audio driver defaults
No state is present for card mx35luigi
system: I S85audio:def:starting audio server
system: I S87ttsd:def:starting TTS daemon
Battery Level: 92%
Wed Feb 23 08:57:44 2011 INFO:battery charge: 92%
Starting lipc-daemon: system: I S90tmd:def:Starting Transfer Manager Daemon
system: I S90cron:def:starting crond
system: I S94browserd:def:Starting Browser Daemon
system: I S95framework:def:starting booklet framework
system: I S96boot_finished:def:Boot finished script running
system: I S96boot_finished:symboot:time=7064150:boot time before framework starts, in milliseconds
start.sh: starting framework
system: I mntroot:def:Making root filesystem read-only
system: I S96boot_finished:def:Boot finished script received framework booted event
system: I S96boot_finished:fwboot:time=7104190:boot time after framework starts, in milliseconds
system: I loginfo:devhw:boardID=SP1B:Shasta PVT device – rev 1
system: I loginfo:devhwphy::USB PHY built by unknown
system: I loginfo:devsworig::Original System Software Version: 031-S1-055870
Sat Feb 5 19:07:33 PST 2011
system: I loginfo:devswota::OTA Kindle 3.1 (~~otaVersion~~)
com.lab126.wan failed to access property localTimeOffset (0x3 lipcErrNoSuchSource)
system: W loginfo:ltofailwandoff:cannot retrieve local time offset – wand not running
com.lab126.powerd failed to set value for property wakeUp (0x8 lipcErrNoSuchProperty)
system: I ckimage:def:skipping kernel check
system: I governor:def:switching to ondemand governor
system: I tinyrot:def::Rotating file /var/log/messages with max size 256
/usr/sbin/tinyrot : Signaling syslog
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 348kb
system: I tinyrot:def:Removing /var/local/log/messages_00000283_*.gz to save storage space
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 319kb
system: I tinyrot:def:Removing /var/local/log/messages_00000284_*.gz to save storage space
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 291kb
system: I tinyrot:def:Removing /var/local/log/messages_00000285_*.gz to save storage space
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 272kb
system: I tinyrot:def:Removing /var/local/log/messages_00000286_*.gz to save storage space
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 228kb

—-[UPDATE 2011/3/6追記]
Kindle JailBreakハックが0.3から0.4へバージョンアップしています。オフィシャルとカスタムアップデータをユーザ側でコントロール(/mnt/us/ENABLE_HACK_UPDATES)する必要がなくなりました。バージョン0.3適用済みでもそのままバージョン0.4で上書きしても構わないようです。詳しくはコチラを参照してください。参考までに適用ログです。

system: I start.sh:stop:signal=15,exitval=143:CVM stopped using SIGTERM
INIT: Switching to runlevel: 3
system: I K05framework:def:stopping booklet framework
com.lab126.powerd failed to access property state (0x3 lipcErrNoSuchSource)
system: I K06browserd:def:Stopping Browser Daemon
system: I browserd:def:Stopping Browser Daemon
Killed
system: I browserd:def:Starting Browser Daemon
system: I usbnetwork:def:usbnet is already stopped
system: I K10cron:def:stopping crond
start-stop-daemon: lseek: Invalid argument
Stopping lipc-daemon: system: I K10tmd:def:Stopping Transfer Manager Daemon
system: I K15audio:def:stopping audio server
system: I K17ttsd:def:stopping TTS daemon
system: I K20volumd:def:stopping Volume daemon
system: I K25phd:def:Stopping Phone-Home Daemon
system: I K30cmd:def:stopping CMD daemon
system: I K30wifid:def:stopping wifid
Stopping Power Management Daemon: stopped /usr/bin/wpa_supplicant (pid 12001)
system: W wpa_supplicant:def:wpa supplicant stopped
system: I wifi:def:WiFi Device mac =
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
..unloading all
system: I wifi:def:loadAR6000 finished, args=(unloadall)
system: I K76mcsd:def:stopping MCS server
Stopping Process Monitoring Daemon: system: I K85dbus:def:stopping system message bus
system: I mntroot:def:Making root filesystem read-only
system: I S50updater:def:updater started
system: I S50updater:def:Waiting for wand to shutdown
system: I S50updater:def:wand shutdown complete
system: I S50updater:def:read bundle line [/mnt/us/update_jailbreak_0.4_k3w_install.bin]
system: I S50updater:def:Applying update /mnt/us/update_jailbreak_0.4_k3w_install.bin
system: I S50updater:def:Size of update: 3660 bytes
system: I S50updater:def:Version before update: 031-S1-055870
system: I _otaupexec:def:processing update /mnt/us/update_jailbreak_0.4_k3w_install.bin
4+0 records in
4+0 records out
system: I _otaupexec:def:version is “FC02”
32+0 records in
32+0 records out
56+1 records in
56+1 records out
system: I _otaupexec:def:update image checksum OK
56+1 records in
56+1 records out
jailbreak.sig
payload.sig
loader.sig
update loader.sig .dat
update loader.sig .dat.sig
system: E _otaupexec:def:signature verification failed on “/tmp/.update-tmp.13468/update loader.sig .dat”
system: E _otaupexec:def:signature verification failed
system: E S50updater:def:OTA update failed (1)
system: I S50updater:def:Deleting OTA bundle file “/mnt/us/update_jailbreak_0.4_k3w_install.bin”
INIT: Switching to runlevel: 5
INIT: Sending processes the TERM signal
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
No debug record limit set
Load Board Data from /opt/ar6k/target/AR6002/hw2.0/bin/lab126_15dBm_nodiv_WWR_CTL.bin
Updating MAC address
BMI Set App Start (address: 0x913950)
BMI Bit-Wise (OR) modify Register (address: 0x500410, orig:0x8, new: 0x9, mask:0x1)
BMI Write compressed Memory (address: 0x502070, filename: /opt/ar6k/target/AR6002/hw2.0/bin/athwlan.bin.z77)
BMI Write Memory (address: 0x52d6d0, filename: /opt/ar6k/target/AR6002/hw2.0/bin/data.patch.hw2_0.bin)
BMI Write Memory (address: 0x500418, value: 0x52d6d0)
BMI Done
system: I wifi:def:loadAR6000 finished, args=()
system: I wpa_supplicant:def:wpa supplicant started
system: I S30network:def:initializing network configuration
system: I S30network:def:Installed Firewall
system: I S60dbus:def:starting system message bus
Starting Process Monitoring Daemon: Retrieved 127 keys for system/daemon/pmond/
Starting Power Management Daemon: system: I S70wifid:def:starting wifid
system: I S70cmd:def:starting CMD daemon
system: I S75phd:def:Starting Phone-Home Daemon
system: I S76mcsd:def:starting MCS server
system: I S80volumd:def:starting Volume daemon
system: I S82usbnet:def:usbnet is disabled
system: I S85audio:def:initializing audio driver defaults
No state is present for card mx35luigi
system: I S85audio:def:starting audio server
system: I S87ttsd:def:starting TTS daemon
Battery Level: 76%
Sun Mar 6 20:58:22 2011 INFO:battery charge: 76%
system: I S90cron:def:starting crond
Starting lipc-daemon: system: I S90tmd:def:Starting Transfer Manager Daemon
system: I browserd:def:Stopping Browser Daemon
Killed
system: I S94browserd:def:Starting Browser Daemon
system: I browserd:def:Starting Browser Daemon
system: I S95framework:def:starting booklet framework
system: I S96boot_finished:def:Boot finished script running
system: I S96boot_finished:symboot:time=7815080:boot time before framework starts, in milliseconds
start.sh: starting framework
system: I mntroot:def:Making root filesystem read-only
system: I S96boot_finished:def:Boot finished script received framework booted event
system: I S96boot_finished:fwboot:time=7852200:boot time after framework starts, in milliseconds
system: I loginfo:devhw:boardID=SP1B:Shasta PVT device – rev 1
system: I loginfo:devhwphy::USB PHY built by unknown
system: I loginfo:devsworig::Original System Software Version: 031-S1-055870
Sat Feb 5 19:07:33 PST 2011
system: I loginfo:devswota::OTA Kindle 3.1 (~~otaVersion~~)
com.lab126.wan failed to access property localTimeOffset (0x3 lipcErrNoSuchSource)
system: W loginfo:ltofailwandoff:cannot retrieve local time offset – wand not running
com.lab126.powerd failed to set value for property wakeUp (0x8 lipcErrNoSuchProperty)
system: I ckimage:def:skipping kernel check
system: I governor:def:switching to ondemand governor
system: I tinyrot:def::Rotating file /var/log/messages with max size 256
/usr/sbin/tinyrot : Signaling syslog
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 555kb

[UPDATE1]iOS4.2.1をJailBreakしたらiBooksのDRMコンテンツが開けないとお嘆きの方へ

JailBreakしたiPhone/iPad上でiBookstoreで購入したDRMコンテンツを開こうとすると、「iPhoneの構成に問題があります。iTunesで復元してからiBooksを再インストールしてください。」というエラーが出ます。このメッセージをみるとドキッとしますが、普通に開くことはできます。

Error message on iBooks

この状態からOKボタンをタップし、一度ライブラリに戻ります。一旦ホームボタンでiBooksを終了(マルチタスキング機能でバックグラウンドでサスペンド状態)し、再度iBooksを起動します。DRMコンテンツ(サンプルはWinnie-the-Pooh)をタップします。この操作1回または複数回繰り返すことで必ず開きます。

Action Menu on iBooks with DRMed book open

実は、このiBooksのエラーはredsn0w 0.96bにてiOS4.2.1のtethered JailBreakできる頃から発現していました。上記の方法でコンテンツを開くことは出来ていたのでなんか嫌な感じはしましたが、iBooksのDRMコンテンツを購入することはありませんので気にしていませんでした。greenpois0nでuntethered JailBreakが可能になったことで脱獄された方が多くなり、気がつく方が増えてきたのかも知れません。

iBooks loading error on JB iPad
posted on December 21, 2010 at 22:58:34

このほど、スーパーハッカーの @comex 氏がエラーの原因を突き止めたようですので、近々、JailBreakツールに実装されこのエラーが解消されるのかも知れません。詳しくは Why iBooks doesn’t play nicely with Jailbreak をご覧ください。

追記:リリースされたばかりのPwnageTool4.2を使用してiOS4.2.1をJailBreak(untethered)した場合には上記問題が発現しないことを確認しました。

続きを読む [UPDATE1]iOS4.2.1をJailBreakしたらiBooksのDRMコンテンツが開けないとお嘆きの方へ

[UPDATE2]iPhoneのアプリとフォルダにもロックをかけるLockdown Proがすごい【要JB】

iPhoneのアプリごとにロックをかけるiProtectがお気に入りでしたが、Lockdown Proはさらにすごい。Cydia StoreでUS$2.99の有料アプリですがその価値は十分にありそうです。iProtectのエントリ(アプリごとにロックをかけるiProtect【要JB】)でも触れたように、iPhoneにはガラケーにあるような機能毎にロックをかけることができません。かといってロック画面を解除する際のパスコードを毎回入力するのも不便です。これを解消してくれるアプリです(見方によっては、そもそもJailBreakによってセキュアな環境を脆弱化している可能性があるわけですからサイバー攻撃という面では物理的に盗難にあうよりよほど危険かも知れませんが)。

【2012/1/28追記】現在のバージョン2.1.1はiOS5には対応していないようです。インストールは可能ですがRespringするとSafe Modeに入ってしまいます。
[2013年2月24日追記]バージョン2.4.4はiOS6に対応しています。パスワード管理について追加情報があります。最下部の参考エントリーを確認してください。
[2014年1月3日追記]iOS7用は別Tweakになっています。追加機能等を別エントリにまとめていますので最下部の参考エントリをご参照ください。

02lockdownpro

注意喚起情報
JailBreakされたiDeviceはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となります。また、JailBreakはアップル社のセキュアな環境を無効化するため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakの危険性については詳細に説明されているサイトがありますので是非確認してください。
をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について

Lockdown Proの特長

  • アプリだけでなくフォルダにもパスワードでロック可能
  • ロック対象アプリとフォルダーの設定はSpringboardでタップするだけ
  • 複数のパスワードの設定が可能
  • SBSettingsのトグル(別売り)でOn/Offをカンタンに


初回起動時
Lockdown Proをインストールしてもホームスクリーン上にアイコンは表示されません。設定.appにあるLockdown Proを選択し、
Safety Word:Lockdown Proの設定画面を開くときのパスワード
Password:アプリやフォルダを開くときのパスワード
を設定します。これらは設定.appからいつでも変更できます。

基本的な使い方
Springboardでアイコンを長押ししてプルプルさせます。アイコンとフォルダの右下に鍵マークが表示されますので、タップして、Password入力が必要なLock(レッド)と不要なUnlcok(グレー)を切り替えて設定します。切り替え時には最初のアイコンだけPasswordの入力を求められますが、次のアイコンからは設定完了するまではタップするだけで切り替えできます。終了したらホームボタンで確定させます。

あとはアプリやフォルダを開く時にPasswordを入力します。なお、マルチタスキングでロック対象アプリに切り替える場合もPassword入力が必要になります。

Lockdown Proの機能
詳細設定は設定.appから”Lockdown Pro”をタップ、Safety Wordを入力して行います。設定項目については以下のとおりです。

Unlock/Lock Applications
All Applications
インストールしているアプリの一覧が表示されます。SpringboardだけでなくここからもアプリのLock/Unlockを切り替えることが可能です。アプリの右側に付いた家のアイコンがLockの目印です。

lockdownpro-lockapp-onoff

CydiaはJailBreakに関する重要な役割を果たしていますのでLockしようとするとこんなメッセージが出ます。くれぐれもパスワードを忘れないようにしてください。

lockdownpro-cydia-restrictiom

Locked Applications
Lockアプリの一覧を表示します。Unlockに切り替えることが可能です。

lockdownpro-lockapp

Lock All Applications
インストールされている全アプリをまとめてLock対象にします。

Unlock All Applications
インストールされている全アプリをまとめてUnlockに戻します。

Lockdown Settings
Lock These Settings
これをオンにすると、設定.appからLockdown Proの設定画面を開くときにSafety Wordの入力を要求するようになります。Lockdown Proの設定について全てを変更できてしまうのでオンにすべきでしょう。

Enable Lockdown
Lockdown Proの有効無効を切り替えます。SBSettingsを利用している場合はOn/Offをカンタンに切り替えできるトグル・プラグイン(Cydia StoreでUS$0.99)が便利です。

lockdownpro_sbsettings_toggle

Other Settings
その他さらに高度な設定が可能です。


Custom Passwords
複数のパスワードを設定することが可能です。たとえば、特定アプリだけ違うパスワードを設定しておくことができます。やりすぎな気がしますが。。。まず、画面を開くと現在設定しているPassword(サンプルとして”1234″)とそのLockアプリが表示されますので、”Add New Passowrd”をタップして別のPassword(サンプル”7890″)を設定します。
lockdownpro-cutompassword-singlepassword

lockdownpro-custompasswords-doublepassword

先ほど作ったPassword(サンプル”7890″)に割り当てたいアプリ、フォルダをドラッグして移動します。完了したらSaveボタンをタップして確定します。

lockdownpro-custompassowrd-movingicon

ちなみにCustom Passwordを設定したアプリをAll ApplicationsやLocked Applicationsで確認すると家のアイコンの左隣に鍵のアイコンが付くようになります。

lockdownpro-applist-withlock

Lock Icon Placement
オンにするとアイコンの移動が不可になります。他人に勝手にホーム画面のアイコンの位置を変更させないための手段です。自分がアイコンのレイアウトを変更するにも設定画面から一旦解除させなければなりませんし、またアイコン系のJailBreak tweaksとコンフリクトする可能性もありますのでオフのままでいいように思います。

Lock App Deletion
オンにするとアプリやフォルダの削除が不可になります。これも必要性が感じられませんが、心配な方はオンにしておいた方がよいでしょう。

Delay Lock
アプリやフォルダを開くときに一度Passwordで認証しておけばiPhoneの自動ロックや電源ボタンで画面ロックをかけるまでの間、Password入力が不要になります。iPhoneの自動ロックを設定していれば、毎回パスワード入力することもないでしょうからこれは嬉しい配慮です。
念のためですが、Lockdown Pro詳細設定を開く際のSafety Word入力は毎回必須です。

No Enter Button
“Lock These Settings”がオンになっていると、設定.appからLockdown Proを選択するときにSafety Wordの入力が必要になります。その際に”No Enter Button”がオンになっているとSafety Wordの入力を終えた時点で自動的にEnterされたと見なされます。面倒ですがオフのままのほうが良いと思います。

Launch Button
この項目をオンに設定すると、Lockアプリやフォルダを開く際にPasswordを入力した時点で”Launch”ボタンをタップするまでパスワード認証を開始しません。

Password Management
Numeric Password
数字だけのパスワードを設定している場合、パスワード入力時に数字キーボードを出します。パスワードが数字だけならオンにしておくと入力がカンタンになります。

iProtectとの比較
機能面ではLockdown Proが上です。iProtectにはSIM Cardに関するLock機能や、ホームボタンのダブルタップ無効化、Spotlightの検索結果表示の無効化というLockdown Proにない機能もありますが、優先順位の高いものではありません。また、価格面ではLockdown ProのUS$2.99(SBSettings用トグルは別途US$0.99)ですから、iProtectが10日間のフリートライアル期間があるとはいえUS$8.99は高く感じてしまいます。
信頼性と安定性については、iProtectはこれといって不具合(アイコン移動系tweaks以外)は生じておりません。Lockdown Proも今のところ問題ありませんが今後どういう不具合が出るかはまだわかりません。

Lockdown ProとiProtectの併用
両方併用が可能です。同じアプリに対してLockできますが、Lockdown Proが先でパスワード入力が完了するとiProtectの認証画面が後に続きます。アプリを開くだけであれば問題は生じていませんが、アイコン移動等でコンフリクトが生じる可能性はありますので、使用する場合はいずれか一方のほうがいいと思います。

iPhone4のアプリ右下鍵マークのアイコンサイズを調整するTips
SpringBoard上でロック対象アプリを選択する際のプルプル震えるアプリの右下に鍵マークのアイコン。このアイコンのサイズが大きすぎてダサイので、サイズを変更してみました。以下の例はiPhone4/iOS4.3.1です。Retina非対応アイコン(30×30)をカンバスサイズを60×60に変更して、Retina対応アイコンと差し替えます。
/System/Library/CoreServices/SpringBoard.app/
Lockdown-Lock.png
Lockdown-Unlock.png
Lockdown-Lock@2x.png
Lockdown-Unlock@2x.png
作業の前には失敗したらいつでも戻せるようにバックアップをとっておきます。

Lockdown-Lock.pngをPhotoshop等で開き、カンバスサイズを60×60にして保存します。ファイル名をLockdown-Lock@2x.pngに変更して、母艦側に戻します。同様にLockdown-Unlock.pngも作業して母艦に戻します。Respringして作業は終了です。

LockdownPro - Icon Change

[2013年2月24日追記]パスワード管理に注意

[2014年1月3日追記]Lockdown Proの最新版のパスワード管理

Lockdown Proの最新バージョンでは設定ファイルが暗号化されていますので、最新版の追加機能とともに別エントリにまとめました。

JailBreak済みKindle3WIFI版のソフトウェアを3.1にアップデートしてみた

Kindle3にEarly Preview版のSoftware Version3.1の配信が開始されましたので早速ダウンロードしてアップデートしました。Twitter上では「気がついたらアップデートしていた」というツイートも見受けられたのでOTA配信も開始されている可能性があります。

Amazonのリリースによれば、今回の主なアップデートは以下のような内容を含んでいます。

  • Public Note
  • Real Page Number(1,2ヶ月後)
  • Before You Go
  • New Newspaper and Magazine Layout

この辺の詳しい説明はじっくりKimdle3を使い込んでいる方にお任せするとして、わたしはJailbreakでハックしているKindle3WIFIの3.1へのアップデートについて情報共有させていただきます。

ここから先はKindleを普通に使っている方の参考にはなりません。

注意喚起情報
JailBreakハックしてシリアル接続できない方は、今回のアップデートを見送った方が無難のように思います。海外のKindle Forumサイトではアップデートはできたがアンインストールできないなどの事象が報告されていますし、他にどの様な影響があるか不明です。リスクについて理解されている方のみ読み進めてください。

Kindle Jailbreak(Hack)の注意点に関する個人的メモ(未定稿)

アップデート前のわたしのKindle3の状態
今回アップデートしたのはKindle3WIFIのソフトウェアバージョン3.0.3です。JailBreakハックのうえusbnetworkのアップデータを適用していました。また、多看(Duokan)をインストールしている状態です。あとは、シリアル接続によりTerminal経由で直接、”/opt/amazon/screen_saver/600×800/”にあるスクリーンセーバー画像を自分で用意した画像に差し替えていました。

アップデートの失敗
WIFI版専用アップデータをダウンロードし、Kindle3のUSBストレージにコピー。KindleからSettings>Update Your Kindleを実行します。今回のアップデートは2回に分けて適用されますが、”stage 1 of 2″で失敗してしまいました。レンガになることなく、3.0.3のままで通常起動はしますので、3.1にアップデートできない状態です。


DSC00328

DSC00329

アップデートで失敗する原因
通常のKindleとの相違点をひとつづつ取り除きながら、Update Your Kindleを繰り返します。まずDuokanを外しても症状は変わらず。次にusbnetworkハックをアンインストールしても同じく失敗しました。シリアル接続してアップデートのログをとっていましたので、確認したところ(最初からログで原因を分析すればよかったのですが面倒なので想像の範囲で原因を推測していました)どうやら適用したハックが原因ではなかったようです。

ログを見ると必ずつぎの部分で失敗し、その後、通常の3.0.3のブートが開始されています。

ota_install: I def:patch:patchinfo=”/opt/amazon/screen_saver/600×800/23_feedback_600.gif”:patching file
bspatch: /opt/amazon/screen_saver/600×800/23_feedback_600.gif: No such file or directory
ota_install: C def:patch:patchinfo=”/opt/amazon/screen_saver/600×800/23_feedback_600.gif”:patch failure
system: E otaup:def:image update failed
webupdate: I def:webupdate::attempting to remove update file : update-06-536720111-558700031.bin
webupdate: C def:webupdate::failed to apply update : update-06-536720111-558700031.bin

つまり、Terminalから直接スクリーンセーバーの画像を差し替えていたことが原因でした。シリアル接続経由でオリジナルのスクリーンセーバーの画像を全て戻して再度実行したところうまくいきました。ログを確認するとこの画像のみの差し替えパッチなので全てを戻さなくても正常に完了したと思います。


DSC00336

アップデートが完了すると、Settings画面から右下のバージョンが”3.1(558700031)”となっていることが確認できます。最後にはJailBreakハックだけ適用した状態でアップデートが完了したことになりましたが、レンガになることなく成功しました。
今回、原因となった画像はKindle Software Version3.0.3から若干変更が加えられていました。Kindle3はWIFI版、3G-US版、3G-UK版と3種類ありますが、この画像にはユーザからのフィードバック送信先としてメールアドレスが記載されています。従来は一つのアドレスでしたが、Version3.1からはUKカスタマー専用のメールアドレスが設置されたようで、この影響で書き換えるべきファイルが見当たらずエラーになっていたということになります。

Version3.0.3の”23_feedback_600.gif”
23_feedback_600_303

Version3.1の”23_feedback_600.gif”
23_feedback_600_310

これは完全に推測になりますが、おそらく多看(Duokan)やusbnetworkが入った状態でも3.1にはあげること自体はできた可能性が高いです。最初からログを見てれば、いきなりDuokanやusbnetworkに手をつけることもなかったはずですが・・・無論、その後どのような不具合が生じるのかはわかりません。

今後、Kindle Software Version 3.1のレビューやJailBreak適合状況など確認していきたいと思います。