2015/07/20

私がiPhoneを脱獄したらやっていること

脱獄していると不安定になったりして定期的に復元しています。
今回はiOS 8.4の端末でやったことをメモ書き。
軽量化もしています。

参考サイト
iTunesを使わない!私が実行している脱獄環境のバックアップ方法! | Tools 4 HackiTunesを使わない!私が実行している脱獄環境のバックアップ方法! | Tools 4 Hack

[iOS 7 脱獄] 私が復元前に使っているiOS 7.x向けバックアップリスト | Tools 4 Hack[iOS 7 脱獄] 私が復元前に使っているiOS 7.x向けバックアップリスト | Tools 4 Hack

私がiPhoneの再構築後するあれこれのメモ | きんちゃんぶろぐ私がiPhoneの再構築後するあれこれのメモ | きんちゃんぶろぐ

【ios】軽量化,省エネ化,魔改造スレ5【JailBreak】 Part.1 『基本 / 用語テンプレ一覧』 | iPhone ~脱獄神アプリのススメ~【ios】軽量化,省エネ化,魔改造スレ5【JailBreak】 Part.1 『基本 / 用語テンプレ一覧』 | iPhone ~脱獄神アプリのススメ~

脱獄後にやってること
WindowsのPCを使ってるのでWinSCPを使用してssh接続します。 参考サイトにある方法で保存したバックアップと自作したシェルスクリプトを/var/rootに転送します。
シェルスクリプトはこちら
バックアップの復元
バックアップ内容 (backuplist.lst) はこんな感じです。
※Tools 4 Hackを参考にしました。
#Pass
+ /private/
+ /private/var/
+ /private/var/root/
+ /private/var/mobile/
+ /private/var/mobile/Library/
+ /private/var/mobile/Library/Preferences/

#カメラロール
#- /private/var/mobile/Media/
#- /private/var/mobile/Media/DCIM/
#- /private/var/mobile/Media/DCIM/**

#着信履歴
+ /private/var/wireless/
+ /private/var/wireless/Library/
+ /private/var/wireless/Library/CallHistory/
+ /private/var/wireless/Library/CallHistory/call_history.db

#アカウント情報
+ /private/var/mobile/Library/Accounts/
+ /private/var/mobile/Library/Accounts/**

#メッセージ設定
+ /private/var/mobile/Library/Preferences/com.apple.MobileSMS.plist

#メッセージ送受信履歴
+ /private/var/mobile/Library/SMS/
+ /private/var/mobile/Library/SMS/**

#アイコンの並び順
+ /private/var/mobile/Library/SpringBoard/
+ /private/var/mobile/Library/SpringBoard/Icon*

#rootのキーボード音設定
+ /var/mobile/Library/Preferences/com.apple.preferences.sounds.plist
+ /private/var/root/Library/
+ /private/var/root/Library/com.apple.keyboard.plist

#Cydia 
+ /private/var/mobile/Library/Cydia/
+ /private/var/mobile/Library/Cydia/metadata.*
+ /private/var/mobile/Library/Preferences/com.saurik.Cydia.plist

#AppBackup
+ /var/mobile/Library/Preferences/AppBackup/


#Tweak Settings


#Activator (設定)
+ /private/var/mobile/Library/Caches/
+ /private/var/mobile/Library/Caches/libactivator.plist

#CallBar
+ /private/var/mobile/Library/Preferences/net.limneos.callbar7.plist

#DebBkup
+ /private/var/mobile/Library/Preferences/jp.takamii.debbkup.plist

#Dock
+ /private/var/mobile/Library/Preferences/com.clezz.dock.plist

#Forest
+ /private/var/mobile/Library/Preferences/jp.webcrow.repo.Forest.plist

#iFile (ブックマーク)
+ /private/var/mobile/Library/iFile/
+ /private/var/mobile/Library/iFile/Bookmarks.plist

#iFile (設定)
+ /private/var/mobile/Library/Preferences/eu.heinelt.ifile.plist

#WhiteTerminal
+ /private/var/mobile/Library/Preferences/com.codehex.whiteterminal.WhiteTerminal.plist

#SwipeExpander
+ /private/var/mobile/Library/Preferences/com.jerryen.SwipeExpander.plist

#ProtectMyPrivacy
+ /private/var/mobile/Library/Preferences/org.protectmyprivacy.PMP.plist

#Protean
+ /private/var/mobile/Library/Preferences/com.efrederickson.protean.settings.plist

#QuickDo
+ /private/var/mobile/Library/Preferences/com.clezz.quickdo.plist

#backuplistなど
+ /private/var/root/backup.sh
+ /private/var/root/restore.sh
+ /private/var/root/backuplist.lst

#Documents
+ /private/var/mobile/Documents/
+ /private/var/mobile/Documents/AudioRecorder/
+ /private/var/mobile/Documents/AudioRecorder/**
+ /private/var/mobile/Documents/Flex/
+ /private/var/mobile/Documents/Flex/**
+ /private/var/mobile/Documents/Forest/
+ /private/var/mobile/Documents/Forest/**
+ /private/var/mobile/Documents/Other/
+ /private/var/mobile/Documents/Other/**

#respring
+ /bin/
+ /bin/respring

#ホーム画面の暗さ
+ /System/Library/PrivateFrameworks/
+ /System/Library/PrivateFrameworks/SpringBoardFoundation.framework/
+ /System/Library/PrivateFrameworks/SpringBoardFoundation.framework/wallpaper-gradient*

#DebBkup(バックアップファイル)
+ /private/var/root/
+ /private/var/root/bkup/
+ /private/var/root/bkup/deb/
- /private/var/root/bkup/deb/**

# All Access
- *

springboard.plistを書き換える
apt-get install com.ericasadun.utilties
plutil -SBHideLowPowerAlerts -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
plutil -SBShowGSMRSSI -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
plutil -SBDisableLiveIcons -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
plutil -SBRemotelyHostWidgets -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
plutil -SBDisableProximity -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
plutil -BEnableVideoRotation -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
plutil -SBPrototypeSettingsEnabled -true /private/var/mobile/Library/Preferences/com.apple.springboard.plist
chflags noschg /private/var/mobile/Library/Preferences/com.apple.springboard.plist
launchctl kickstart -k system/com.apple.cfprefsd.xpc.daemon

上から、
バッテリーアラートを非表示に
キャリアの電波強度を数値化
ホーム画面の時計アイコンに針を固定化
通知センターのネットワーク系のウィジェットを無効化
近接センサ無効
ビデオの回転を有効(効果あるか不明)
iOS8からは再起動してもリセットされてしまうので追記
デーモンの再起動(設定を反映させる)

hostsを書き換える
※きんちゃんさんのブログを参考にしました。
cd /etc/
mv hosts hosts.bak
wget --no-check-certificate http://www.geocities.jp/qgdjg589/hosts.zip
unzip hosts.zip
rm -f hosts.zip
chmod 644 hosts
シャッター音を消す
※きんちゃんさんのブログを参考にしました。
cd /System/Library/Audio/UISounds/
mv photoShutter.caf photoShutter.caf.bak
mv begin_video_record.caf begin_video_record.caf.bak
mv end_video_record.caf /end_video_record.caf.bak
wget https://www.dropbox.com/s/s3st5yjj0e5sknz/photoshutter.caf
cp photoShutter.caf begin_video_record.caf
cp photoShutter.caf end_video_record.caf
システムファイルの軽量化
こちらもシェルスクリプトで削除や移動していきます。
(システムの空き容量が2%くらい増えました)

不要な公式アプリを削除する
cd /Applications
rm -rfv AdSheet.app
rm -rfv Bridge.app
rm -rfv Compass*
rm -rfv DemoApp.app
rm -rfv *Diagnostics.app
rm -rfv FacebookAccountMigrationDialog.app
rm -rfv Family.app
rm -rfv Feedback\ Assistant\ iOS.app
rm -rfv FieldTest.app
rm -rfv Fitness.app
rm -rfv Game*
rm -rfv Health*
rm -rfv iAdOptOut.app
rm -rfv iBooks.app
rm -rfv Maps.app
rm -rfv MobileStore.app
rm -rfv Passbook*
rm -rfv Podcasts.app
rm -rfv Print*
rm -rfv Reminders.app
rm -rfv Setup.app
rm -rfv SiriViewService.app
rm -rfv Stocks.app
rm -rfv Tips.app
rm -rfv TencentWeiboAccountMigrationDialog.app
rm -rfv VoiceMemos.app
rm -rfv Weather.app

PreferenceBundlesを削除する
cd /System/Library/PreferenceBundles
rm -rfv BatteryUsageUI.bundle
rm -rfv CompassSettings.bundle
rm -rfv FacebookSettings.bundle
rm -rfv FlickrSettings.bundle
rm -rfv GameCenterSettings.bundle
rm -rfv MapsSettings.bundle
rm -rfv NewsstandSettings.bundle
rm -rfv PassbookSettings.bundle
rm -rfv RemindersSettings.bundle
rm -rfv TencentWeiboSettings.bundle
rm -rfv VimeoSettings.bundle
rm -rfv WeiboSettings.bundle

Nike + iPodを削除する
cd /System/Library/PreferenceBundles
rm -rfv /Applications/Nike.app
rm -rfv /System/Library/AccessibilityBundles/SportsTrainerFramework.axbundle
rm -rfv /System/Library/AccessabilityBundles/Nike.axbundle
rm -rfv /System/Library/PreferenceBundles/VictoriaSettings.bundle
rm -rfv /System/Library/SpringBoardPlugins/NikeLockScreen.bundle
rm -rfv /var/mobile/Library/Caches/com.apple.IconCache/* 
rm -rfv /System/Library/PrivateFrameworks/SportsTrainer.framework
rm -rfv /System/Library/PrivateFrameworks/SportsVoices.framework
rm -rfv /System/Library/PrivateFrameworks/SportsWorkout.framework

キャリアバンドル(SB,au,docomo以外)を削除する
find /System/Library/Carrier\ Bundles/iPhone -type d \
-name "*.bundle" -not -iname "Softbank_jp.bundle" \
-not -iname "KDDI_LTE_jp.bundle" \
-not -iname "Docomo_jp.bundle" \
-exec /bin/rm -vrf '{}' \;

find /System/Library/Carrier\ Bundles/iPhone -type l \ -not -iname "44010" \ -not -iname "44020" \ -not -iname "44050" \ -exec /bin/rm -vrf '{}' \;

言語ファイルを削除する
find / -type d \
-name "*.lproj" -not -iname "en[_*][U*].lproj" \
-not -iname "j[ap]*.lproj" \
-exec /bin/rm -vrf '{}' \;

広告を削除する
rm -rfv /Library/Application Support/AdSheet/
rm -rfv /System/Library/AccessibilityBundles/AdSheet.axbundle/
rm -rfv /System/Library/AccessibilityBundles/iAdFramework.axbundle/
rm -rfv /System/Library/Frameworks/AdSupport.framework/
rm -rfv /System/Library/Frameworks/iAd.framework/
rm -rfv /System/Library/LaunchDaemons/com.apple.iad.limitedtrackingd.plist
rm -rfv /System/Library/LocationBundles/iAdCore.framework/
rm -rfv /System/Library/PrivateFrameworks/iAdCore.framework/
rm -rfv /System/Library/PrivateFrameworks/iAdDeveloper.framework/

クラッシュレポートのデーモンを移動する
cd /Library/LaunchDaemons
mkdir -p bak
mv com.apple.Dump* com.apple.ReportCrash.* /Library/LaunchDaemons/bak/
最後に
今回シェルスクリプトを作ってみましたが、便利だなーと思いました!

システムファイルを書き換える時は最悪林檎ループが発生する可能性があるため注意して下さい。
自己責任でお願いします。