iOSリバース、微調整簡単チュートリアル

準備:

  • .アイシアシスタント
  • .Cydia がインストールされたジェイルブレイクされた iPhone
  • . Theos をインストールします。インストール チュートリアルは無視されます。Theos のインストールはより面倒です。主にネットワークの理由によります。グリーン バージョンはこちら
    https://download.csdn.net/download/u010775335/86882617

微調整チュートリアルが正式に開始

  • まず、通常の xcode のデモ プロジェクトを作成し、bundlerID を "com.test.tweak" に設定し、ViewController に次のコードを追加します。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
-(void)viewDidAppear:(BOOL)animated{
    [self bigun_test];
}
-(void)bigun_test{
    NSLog(@"12");
}
@end

実行して、「12」を直接出力します

  • 次に、微調整によって bigun_test 関数を直接変更します。
  • 靴のディレクトリが「$THOES_HOME」であるとします。
  • 次に、tweak プロジェクトを作成するコードは次のとおりです。
终端执行命令
$THOES_HOME/bin/nic.pl

注意,不得在$THOES_HOME中运行,否则报错

ここに画像の説明を挿入
「iphone/tweak」を選択し、そのオプション、つまり「17」と入力します

  • OK、tweak プロジェクトが作成されました。プロジェクトに必要な設定は次のとおりです。
  • 「tweak プロジェクト名.plist」ファイルを修正し、内部の bundleId を「com.test.tweak」に変更します。
    ここに画像の説明を挿入
  • Aisi Assistant を開き、iPhone を接続し、Aisi Assistant を介して ssh チャネルを開きます
    ここに画像の説明を挿入
  • tweak プロジェクトに戻り、Makefile を変更し、ファイルの先頭に上記の ssh 構成を追加します.

    THEOS_DEVICE_IP」、
    「THEOS_DEVICE_PORT」、
    「ARCHS」
    ここに画像の説明を挿入
    フック コードを次のように追加します。
  • Tweak.x コードを次のように変更します。
#import <UIKit/UIKit.h>
@interface  ViewController:UIViewController //为了使用self,否则编译不过
@end

%hook ViewController

-(void)bigun_test{
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"标题" message:@"恭喜hook成功" preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *conform = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        NSLog(@"点击了确认按钮");
    }];
    [alert addAction:conform];
    [self presentViewController:alert animated:YES completion:nil];
}

%end
  • ここで「<UIKit/UIKit.h>」を使用していることに注意してください。下図に示すように、対応するフレームワークを Makefile に追加する必要があります

    ここに画像の説明を挿入
    フレームワークを追加しないでください。次のようなエラーが報告されます。
Tweak.x:39:5: error: use of undeclared identifier 'UIAlertView'

コンパイル、パッケージ、実行

  • ターミナルを開き、cd で微調整ルート ディレクトリに移動し、コマンドを実行します。
make clean && make package && make install

事故がなければ以下のログは
ここに画像の説明を挿入
期間中にsshのパスワードを2回入力する必要があるかもしれません

OK~、フック プラグインが作成され、インストールされました。デモ プロジェクトを再度実行すると、ポップアップ ウィンドウが表示されます。

以下は、一般的なエラーと解決策です。
コンパイルとインストールを実行すると、次のエラーが表示されます。

ssh: connect to host 192.168.1.102 port 22: Operation timed out

解決策:
open_ssh が cydia にインストールされているかどうかを確認します

おすすめ

転載: blog.csdn.net/u010775335/article/details/127667574