mikiyan1978’s 脱獄情報日記

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

LINEの着信音と通知音を変更する方法

こんばんは、mikiyan1978です。
さて今回はLINEの着信音と通知音を好きな音楽や効果音に変更する方法を紹介します。

補足:
私の環境ではLINEを開いた状態では通知音の変更が反映されませんでした。

やり方
まずFilza File Managerでアプリマネージャーを開き、LINEの項目の右のiマークを押します。

そしてBundle→LINE.appと順にを押します。

次に
c.caf
というファイルがありますが、これが木琴の着信音になります。
もう一つ
n1.caf
というファイルがシンプルベルの通知音となります。
この2つのファイルを好きな音楽や効果音ファイルと差し替えます。
変更したいファイルはmp3形式が望ましいですね。
変更したいファイル名をそれぞれの元ファイル名に変更します。

例:mp3形式の場合
xxxxxx.mp3

c.caf (着信音を変更したい場合)
n1.caf (通知音を変更したい場合)

そしてLINE.appフォルダーの中にある元々のファイル名を読み込めないようにリネームします。

そして同じ場所に
c.caf
n1.caf
この、それぞれ2つの変更したい好きな音楽や効果音ファイルをコピペします。

あとはLINEアプリ内の設定から
着信音は木琴を、通知音ならシンプルベルを選択します。

変更されない場合は、LINEアプリをタスクから終了させる、もしくはRespringするなどして下さい。

rebootアプリの作成方法

Respringアプリに引き続き
起動するとreboot
するアプリを作っていきましょう。

コードは

#import "XXRootViewController.h"
#include <sys/sysctl.h>

//systemf
int systemf(const char *cmd, ...) {
    va_list ap;
    va_start(ap, cmd);
    NSString *cmdstr = [[NSString alloc] initWithFormat:@(cmd) arguments:ap];
    va_end(ap);
    return system([cmdstr UTF8String]);
}

@implementation XXRootViewController {
}

- (void)loadView {
    systemf("reboot");
}
@end

ほぼ同じですね。しかしここまではrebootしてくれません。
そこでこのアプリ自体に権限を与えてあげます。
Makefileの最後に

after-stage::
	$(ECHO_NOTHING)chmod 06755 $(THEOS_STAGING_DIR)/Applications/rebootapp.app/rebootapp $(ECHO_END)

これを追加してください。プロジェクト名がrebootapp
の場合です。
注意ですが下の画像の部分はスペースでは無くタブとなります。したがって上記のコードをコピペして下さい。

次にmain.mファイルを下記のように
setuid(0);
setgid(0);
を追加してください。

#import "XXAppDelegate.h"

int main(int argc, char *argv[]) {
    setuid(0);
    setgid(0);
	@autoreleasepool {
		return UIApplicationMain(argc, argv, nil, NSStringFromClass(XXAppDelegate.class));
	}
}

あとはビルドして完了です。

Respringアプリの作成方法

こんにちは、mikiyan1978です。
さて今回は端末単体で
起動するとRespringする
アプリを作っていきましょう。

まず$THEOS/bin/nic.plにてApplicationのプロジェクト作成をします。

次に#import〜の次の行に

#include <sys/sysctl.h>

//systemf
int systemf(const char *cmd, ...) {
    va_list ap;
    va_start(ap, cmd);
    NSString *cmdstr = [[NSString alloc] initWithFormat:@(cmd) arguments:ap];
    va_end(ap);
    return system([cmdstr UTF8String]);
}

上記をコピーします。

次に@implementationの下のloadView{}の中に

- (void)loadView {
    systemf("killall -9 SpringBoard");
}

上記をコピーします。コードは以上になります。
全体のコードは

#import "RootViewController.h" //RootViewControllerの部分はtheosバージョンによってはXXRootViewControllerの場合がありますが変更は必要ありません

#include <sys/sysctl.h>

//systemf
int systemf(const char *cmd, ...) {
    va_list ap;
    va_start(ap, cmd);
    NSString *cmdstr = [[NSString alloc] initWithFormat:@(cmd) arguments:ap];
    va_end(ap);
    return system([cmdstr UTF8String]);
}

@implementation RootViewController
//この上のRootViewControllerも上と同じく変更の必要ありません
- (void)loadView {
//デフォルトではここに白い背景を配置するコードが書かれていますが今回は敢えて消します
    systemf("killall -9 SpringBoard");
}
@end

あとはmake packageコマンドでビルドして下さい。

iOS12版theos構築方法

今回iOS12での脱獄が出来るようになりましたね。
さて、いつも通りtheosを構築していきましょう。

必要なパッケージ
Theos Dependencies

まず
setuptheos
これをダウンロードしてインストールします。

次にターミナルを開き、suログインします。
そして
setuptheos.sh setupAll
とコマンドを入力します。
あとはしばらく待つだけです。

処理が終わりましたら次のファイルを開き、
/var/theos/makefiles/package/deb.mk
lzmaの文字をgzipに変更してください。

変更前

変更後

最後にSDKをダウンロードして
/var/theos/sdks
このフォルダー内に配置して下さい。

以上でtheos構築は完了です。

rootlessJBでパソコンを使わず単体でTweakをインストールする方法

こんにちは、mikiyan1978です。

今回はrootlessJBにて単体でTweakをインストールする方法を紹介します。

あくまで自己責任でお願いします。

 

必要なもの

rootlessJB

RootlessInstaller

 

1:rootlessJBのインストール

Ignition - Download Free Apps With No Computer

こちらからrootlessJBをインストールします。

f:id:mikiyan1978:20190212090940p:imagef:id:mikiyan1978:20190212090946p:image

 

2:RootlessInstallerのインストール

iTweakOS

こちらからRootlessInstallerをインストールします。

f:id:mikiyan1978:20190212091515p:image

 

rootlessJB使用については割愛させて頂きます。

 

次に

TweakUpdates

などからインストールしたいTweakのdebを探します。

例えばCCSupportなら

f:id:mikiyan1978:20190212091949p:image

f:id:mikiyan1978:20190212091959p:image

2枚目画像のVersion Historyの1.2を長押ししてダウンロードリンクをコピーします。

f:id:mikiyan1978:20190212092205p:image

コピー出来ましたらRootlessInstallerを開き、貼り付けます。

f:id:mikiyan1978:20190212092415p:image

 

そしてExploitを押してしばらく待ちます。すると下記の通りになるのでInstallを押します。

f:id:mikiyan1978:20190212092523p:image

f:id:mikiyan1978:20190212092654p:image

 

アラートが出たらインストール完了です。あとはRespringを押して適応させて下さい。

脱獄アプリをインストールする際の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

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