Sponsor

【脱獄アプリ開発】簡単なTweakの作成

development image Jailbreak
Jailbreak プログラミング
Sponsor

このTweak開発には「theos」が構築されていることが前提条件。

環境構築方法は下記を参考に。

【脱獄アプリ開発】「theos」の構築手順
2020-02-17更新:脱獄アプリ開発に必須な「theos」の構築方法を簡単に説明していく。 基本的に記事の手順に添って実行していけば構築が完了する。また、脱獄アプリ開発方法も紹介している。 筆者はTwitterに潜っている事が多いので、Twitterでの質問も受け付けている。


今回はLINEの既読をつけないようにするTweakを作成する。

既存のクラスをhookし、メソッドの処理を書き換えてアプリ内の処理を改変する。

開発環境

  • iPhone 6s (iOS 12.1.2) unc0ver Jailbreak
  • Macbook Pro 2013 MacOS Mojave 10.14.4(18E227)
  • Xcode 10.3

目次


Flexのインストール

最新版のFlexを下記のリポジトリを追加してFlex 3 Betaをインストール。

Delta: Cydia Repo


Flexでpatchを作成する

既読がつく時に呼び出されるクラスとメソッドを確認。

クラスメソッド
ManagedSquareChatnotifyServerReadUpToMessage
ManagedChatnotifyServerForAllUnsyncedChatsInContext
ManagedChatnotifyServerReadUpToMessage

これらのメソッドの全引数、返り値をNULLに処理を改変すると既読がつかなくなる。

このpatchを作成して、既読がON/OFFできるか確認する。


theosでプロジェクトを作成

ターミナルでtheosを実行してTweakを選択する。

その他の入力項目は下記の通り。

Project Nameプロジェクト名
Package Nameパッケージ名
Author/Maintainer Name作成者名
MobileSubstrate Bundle filter適用するAPPのBundle ID
List of applications to terminate upon installation インストール後にkillするアプリ
デフォルトではSpringBoard

今回は次のように入力した。

Project NameLINE No Read
Package Nameinfo.nanato12.linenoread
Author/Maintainer Namenanato12
MobileSubstrate Bundle filterjp.naver.line
List of applications to terminate upon installation そのままEnter

4つのファイルが作成されたことを確認する。

それぞれのファイルの役割は下記の通り。

controlTweakの情報ファイル
[tweak_name].plist適用するBundle IDが書き込まれているファイル
MakefileTweakのbuild情報ファイル
Tweak.xTweakの処理ファイル


Tweakの処理を書く

Tweakの処理はtweak.xに書き込む。

下記のように該当のクラスをhookしてメソッドの引数、返り値を全てNULLに書き換える。

%hook ManagedSquareChat

-(id)notifyServerReadUpToMessage:(id)arg1 chatMID:(id)arg2 completion:(id)arg3
{
    arg1 = NULL;
    arg2 = NULL;
    arg3 = NULL;
    return NULL;
}

%end

%hook ManagedChat

+(void)notifyServerForAllUnsyncedChatsInContext:(id)arg1
{
    arg1 = NULL;
    return;
}

-(id)notifyServerReadUpToMessage:(id)arg1 chatMID:(id)arg2 completion:(id)arg3
{
    arg1 = NULL;
    arg2 = NULL;
    arg3 = NULL;
    return NULL;
}

%end


プロジェクトをbuildする

プロジェクトのディレクトリに移動し、make packageを実行。

packages直下にdebファイルが作成される。

あとは自分の脱獄端末にインストールしてあげれば、おk。


連絡先

何かあればコメントや下記の連絡先に連絡ください。

コメント

タイトルとURLをコピーしました