mikiyan1978’s 脱獄情報日記

脱獄に関する情報を発信します

脱獄アプリをインストールする際のiOSバージョンを偽装する方法

お久しぶりです。mikiyan1978です。
さて、今回は脱獄アプリをインストールしようとすると、下の画像のようになる場合の回避方法です。

このやり方は開発者によるiOSバージョン違いによる不具合回避を回避するという方法なので必ずと言っていいほど不具合が発生します。
自己責任でお願い致します。


上の場合はiOS7以下でないとインストール出来ないと言う意味です。
何故こうなるか?
まず脱獄するとCydiaのファイルである
/usr/libexec/cydia/firmware.sh
このファイルが実行されて
/var/lib/dpkg/status
このファイルに以下のように書き込まれます。


ここにはお使いの端末のiOSバージョンが書き込まれ、Cydiaよりインストール時にDependsに書かれているiOSバージョンを読み込んでいます。

上の画像だと
Depends: firmware (>= 10.0)
この場合、iOS10.0以上でないとインストールさせないという記述になります。
では、偽装のやり方です。
/var/lib/dpkg/status
このファイルを開き、
iOS Firmwareと検索して下さい。
すると1つだけヒットします。

その上にある数字がお使いの端末のiOSバージョンなので、この数値を書き換えて保存します。
あとはCydiaを再起動し目的の脱獄アプリをインストールして下さい。

機能制限のパスコードを忘れた時の対処法

mikiyan1978です。

さて今回は表題の件

「機能制限のパスコードを忘れた時の対処法」

です。以前にも同じ記事を書きましたが、iOS11以降でも使える対処法です。

こちらの方法は脱獄端末単体で出来ます。

次に出てくるファイルはいつから変更になったのか分かりませんが、2つの記事で対処はできるかと思います。

 

では参りましょう。

 

Filza File Managerで次のファイルをテキストビューで開きます。

/private/var/mobile/Library/Preferences/com.apple.restrictionspassword.plist

f:id:mikiyan1978:20180729185121p:image

 

次に

RestrictionsPasswordKey

RestrictionsPasswordSalt

この2つの項目に記載されているキーをメモします。

f:id:mikiyan1978:20180729191135p:image

 

私の場合、

RestrictionsPasswordKey:

eLSBA6ivDrpk1X7luJM3Wo6wDBM=

 

RestrictionsPasswordSalt:

tfmYpw==

となります。

メモ出来ましたら、次のページにアクセスします。

http://ios7hash.derson.us

 

そして中程の入力枠にそれぞれのキーを入力して[Start Seaching]をタップします。

f:id:mikiyan1978:20180729191516p:image

 

すると下記の画像のようにサーチするのでしばらく待ちましょう。

f:id:mikiyan1978:20180729191618p:image

そしてヒットすると下記の画像のようになります。この場合

0055

が機能制限のパスコードとなります。

f:id:mikiyan1978:20180729191701p:image

f:id:mikiyan1978:20180729191753p:image

以上が脱獄端末単体での対処法となりますが、非脱獄端末の場合は

機能制限パスコードを忘れた時の対処法 - mikiyan1978’s 脱獄情報日記

こちらの記事にあるファイル名が

com.apple.restrictionspassword.plist

となります。やり方は今回とほぼ同じで可能です。

 

Bluetoothの名前を変更する方法

お久しぶりです。mikiyan1978です。
さて今回はFilza File Managerを使って接続済みのBluetoothの名前を変更する方法を紹介します。

例として1番上の
AG-001
を変えてみましょう。

まず
/var/containers/Shared/SystemGroup/12467CA2-89C9-4647-BDEF-B489E747E5FC/Library/Preferences/com.apple.MobileBluetooth.devices.plist
このファイルを開きます。

Root項目をタップします。

ズラっと表示されるので、この中から目的の項目をタップします。この場合は
E9:08:EF:38:F9:D3
という項目になります。各自探して下さい。

次に
Name
という項目のiマークをタップし好きな名前に変えます。


変えましたら再起動して適応させます。Respringでは適応されません。

好きなコマンドでRespringする方法

さて今回はタイトル通り
好きなコマンドでRespringする方法です。

早速まいりましょう。
まずterminalアプリを開きます。
rootログインしましたら、次のコマンドを入力します。

cd /usr/bin
echo killall -9 SpringBoard >> [好きなコマンド]
chown root:wheel /usr/bin/[好きなコマンド]
chmod 0755 /usr/bin/[好きなコマンド]
[好きなコマンド]

[好きなコマンド]
この部分は例えば
abcやrespなど自分の好きな英数字を代入して下さい。
abcなら

cd /usr/bin
echo killall -9 SpringBoard >> abc
chown root:wheel /usr/bin/abc
chmod 0755 /usr/bin/abc
abc

となります。このコマンドが入力し終わった直後、Respringすれば、成功です。次回からabcとterminalアプリで実行するだけでRespringさせられます。

アプリがクラッシュして起動しない場合の対処法

脱獄端末にて再起動した後の状態からKickstart後にアプリがクラッシュしてしまい起動しない場合の対処法を紹介します。
このやり方はあくまで対処法の一例です。
必ずしも直るというものではありません。

やり方

ここでは例としてLINEアプリでやってみましょう。

まず、LINE.appフォルダーがあるディレクトリに移動します。
そして、
iTunesMetadata.plist
というファイルがあるので削除して下さい。

削除出来ましたらAppStoreを開き、LINEを検索します。すると下記画像のように再インストールできる状態になっているので、そのまま再インストールして下さい。

これだけでクラッシュ回避が出来ます。

通常のアンインストールするやり方だとデータが削除されてしまいます。
しかし、このやり方だとデータが削除されません。
なので、例えばアプリのアイコン差し替えや、何かしらのファイルを削除してしまったなどに有効ですね。

Preference Bundle作成方法

今回は脱獄端末のみでPreference Bundleの作成方法を紹介します。
前提としてtheos構築済み、make packageなどのコマンドでdeb作成の経験があるとします。

Tweakに何かしらの機能を、例えばオンオフ、適応させるためのRespringなどがあります。
そういう場合にPreference Bundleを使用します。
今回は簡単な例として設定アプリからRespringするものを作っていきましょう。

まず、

$THEOS/bin/nic.pl

こちらのコマンドでTweakプロジェクト作成します。
作成されたらcdコマンドでプロジェクト内にカレントディレクトリを変更します。
更にもう一度$THEOS/bin/nic.plでPreference Bundleを選択します。するとTweakプロジェクト内にPreference Bundleプロジェクトが作成されます。
例としてTweakプロジェクト名を
respref
Preference Bundleプロジェクト名を
resp
とすると

上記画像のようになります。ここでMakefileファイルの中を確認します。

上のように
SUBPROJECTS += resp
この記述がある事を確認します。64bit端末にインストールする場合は
ARCHS = armv7 arm64
これを追加記述します。
同じディレクトリにあるTweak.xmファイルについては今回、設定アプリからRespringさせるのみなので編集はしません。
次にそのディレクトリに作成された
respというフォルダーに移動します。

entry.plistファイルを開き

1番下のlabelという項目に名前をつけます。画像のようにすると

このように表示されます。
次に、Makefileファイルを開き先程と同様、ARCHS = armv7 arm64を追加記述します。

次にResourceフォルダーに移動します。
plistファイルが2つありますが、$THEOS/bin/nic.plのPreference Bundleにて付けた名前のplistファイルを開きます。ここではresp.plistファイルになります。

画像のように編集します。defaults項目についてはもう1つのplistファイルつまりInfo.plistファイルのCFBundleIdentifier項目に書かれているものと一致させて下さい。

では、ディレクトリを1つ戻ります。
そしてresp.mmファイルを開き、

画像の位置に

"-(void)resp {
system("killall -9 SpringBoard");"
これを追加記述します。これはRespringさせるメソッドになります。赤文字の部分はresp.plistファイルのaction項目と一致させて下さい。一致さえさせていればお好きな英文字で構いません。
Respringという動作を起こさせるキーになります。
作業は以上となります。あとはターミナルよりcdコマンドにてresprefフォルダーにカレントディレクトリを変更してmake packageして下さい。

質問がありましたら下のLINE追加ボタンより追加して下さい。
友だち追加

Twitterやってます。

オマケのカスタム検索です。







Twitterのアカウント変更について

この度、誠に勝手ながらTwitterのアカウントを変更する事になりました。
お手数おかけしますが、下記のフォローボタンよりフォローを宜しくお願い申し上げます。