IOSカード開発

3089 ワード

theosはIOSプラグインが開発した比較的よく使われる管理ツールです
theos環境構成
  • 環境変数
  • の構成
    localhost:~ wany$ export THEOS=/opt/theos
    
  • gitを使用して最新版theos
  • をインストール
    #           theos,    ,       
    rm -rf $THEOS
    sudo git clone --recursive https://github.com/theos/theos.git $THEOS
    
  • ダウンロードldid-アナログ証明書ldidはiOS実行可能な文房具に署名するためのツールであり、Xcodeが持参した署名ツールを脱獄iOSで置き換えることができる.
  • curl -s http://joedj.net/ldid > ~/Desktop/ldid
    chmod +x ~/Desktop/ldid 
    sudo mv ~/Desktop/ldid $THEOS/bin/ldid
    
  • インストールdpkg debは脱獄開発インストールパッケージの標準フォーマットであり、dpkg-debはdebファイルを操作するツールであり、このツールがあれば、Theosは工事をdebパッケージに正しくパッケージ化することができる.
  • curl -s https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl > ~/Desktop/dpkg-deb
    chmod +x ~/Desktop/dpkg-deb 
    sudo mv ~/Desktop/ldid $THEOS/bin/dpkg-deb
    

    最初のプラグイン開発を開始
    開発プラグインはlogos構文に関連する
    %hookはhookが必要なクラスを指定し、%endで終わる必要があります.
    %log関数情報をsyslogに書き込んで印刷する情報はnslogと理解できる
    %origメソッドの内部にある場合、%origは元のメソッド(original method)を呼び出します.元のmethodにパラメータを渡すこともできます.たとえば、%orig(arg 1,arg 2)を選択します.%origを呼び出さないと、元のメソッドは絶対に呼び出されません.したがって、hookでメソッドを呼び出しましたが、%origを呼び出さなかった場合、appまたはiphoneに異常が発生します.タイプの下にあるよく知られているコード
    - (void)viewdidload (hook    )
    {
       [super viewdidload];   ( %orig )
    }
    
    

    最初のプロジェクトの作成
    localhost:~ wany$ sudo /opt/theos/bin/nic.pl
    Password:
    NIC 2.0 - New Instance Creator
    ------------------------------
      [1.] iphone/activator_event
      [2.] iphone/application_modern
      [3.] iphone/cydget
      [4.] iphone/flipswitch_switch
      [5.] iphone/framework
      [6.] iphone/ios7_notification_center_widget
      [7.] iphone/library
      [8.] iphone/notification_center_widget
      [9.] iphone/preference_bundle_modern
      [10.] iphone/tool
      [11.] iphone/tweak
      [12.] iphone/xpc_service
    Choose a Template (required): 5   
    Project Name (required): firsttweak
    Package Name [com.yourcompany.firsttweak]: com.xxx.firsttweak
    Author/Maintainer Name [System Administrator]: wany
    Instantiating iphone/framework in firsttweak/...
    Done.
    localhost:~ xwmedia01$ cd firsttweak
    localhost:firsttweak xwmedia01$ ls
    Makefile    Tweak.xm    control     firstteak.plist
    
    

    Makefile:必要なコンパイルコマンドTweak.xm:hookの関連コードcontrol:applicaton/tweakの情報が含まれています.Cydiaからインストールすると、名前、著者、バージョンなど、これらの情報が表示されます.Resources:info.plistファイルなどのfirstteak.plistを含む:ターゲットappに注入するbundle id
  • 編集Tweak.xm修正注入コード
  • %hook WeChat
    
    -(void)applicationDidFinishLaunching:(id)application {
    %orig;
    
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" 
    message:@"Hello " 
    delegate:nil 
    cancelButtonTitle:@"security.ios-wiki.com" otherButtonTitles:nil];
    
    [alert show];
    [alert release];
    
    }
    
    %end
    
  • Makefileを修正し、以下のコードをファイル開始位置
  • に挿入する.
    THEOS_DEVICE_IP = 192.168.00.00
    THEOS_DEVICE_PORT = 22
    ARCHS = armv7 arm64
    
  • iPhone
  • にインストール
    localhost:firstteak wany$ make package install
    

    期間中にパスワードを2回入力し、インストールが完了します.
  • アンインストールしたい場合は、Cydiaインストール済みプラグインにアンインストール
  • を行います.