これは古い質問ですが、私自身は脱獄開発者であるため、最近ますます関連性の高い脱獄検出バイパスなどを探しているときに、脱獄開発者に役立つと思います。OPが抱える問題は、以前よりも頻繁に発生します。
これらの種類のアプリケーションは、2020年の今日でも、さまざまな脱獄ユーティリティを検出します。私は脱獄開発者です。iOSのバージョンに関係なく脱獄を構築するときは、さらに支援するためにかなりの数の基本バイナリを追加します。
現在では、または/jb/bin
などのさまざまな非表示フォルダーに配置されていますが、以前は、/binなどのデフォルトのiOSディレクトリに文字通り配置されていました。/jailbreak/binbag/
/jb/jbstuff/
/sbin
ジェイルブレイク検出機能を備えたアプリケーションは、これらのベースバイナリ[NSFileManager defaultManager] fileExistsAtPath:...
の存在をチェックしCydia
(ほとんどの場合、チェックし/bin/bash
ますが、最近ではさらに多くの場合)、今日では、ROOT FS
が再マウントされているかどうかもチェックしますR/W
(通常RO
は、/var
書き込み可能のみ)。
からダウンロードされた微調整はCydia
通常、脱獄の検出をチェックしません(まあ、ほとんどの場合、さまざまな脱獄開発者の間にドラマがあるので、今日でも人為的な制限があります)が、ダウンロードしたリポジトリをチェックします。
AppSync Unified
ほとんどの場合、それは微調整が最終的に行ったことと同じくらい簡単です。
#define
ツイークのコードには、適切なCydia
リポジトリURLまたは識別子を持つ変数またはどこかがあり、ツイークはCydia
リストをチェックして、そこからツイークがダウンロードされているかどうかを確認します。そうでない場合は、アラートが表示されます。
いくつかの調整は、電話を再起動するたびにサーバー側からライセンスがダウンロードされる奇妙なDRMを実装します(これは奇妙で、脱獄コミュニティではほとんど使用されていません)。
AppSyncUnifiedTweakの機能の例を次に示します。
#define DPKG_PATH "/var/lib/dpkg/info/net.angelxwind.appsyncunified.list"
....
if (access(DPKG_PATH, F_OK) == -1) {
NSLog(@"You seem to have installed AppSync Unified from a Cydia/APT repository that is not cydia.akemi.ai (package ID net.angelxwind.appsyncunified).");
NSLog(@"If someone other than Linus Yang (laokongzi) or Karen/あけみ is taking credit for the development of this tweak, they are likely lying.");
NSLog(@"Please only download AppSync Unified from the official repository to ensure file integrity and reliability.");
}
....
したがって、このジェイルブレイクの調整の場合、ダウンロード元のリポジトリをチェックするだけです。ここでの簡単なパッチは、AppSyncUnified.dylib
HopperやIDA、さらにはRadare2などのarm64 / arm逆アセンブラにロードして、ブランチにパッチを適用することです。B
条件付きブランチの代わりに作成して、比較の結果が考慮されないようにします。それと同じくらい簡単です。AppSync Unifiedの完全なソースコードを分析したい場合は、GitHubリポジトリがあります。
もちろん、私が言ったように、多くの微調整はサーバー側のDRMのようなより洗練されたスキームを使用しますが、それらのどれもがフェイルプルーフではありません。
*私は著作権侵害の微調整を容認していませんのでご了承ください。この返信は、このページへの新規参入者を支援するために作成されたものであり、脱獄検出および脱獄調整DRMの現在のステータスに関する洞察を提供することを目的としています。適切なリポジトリから有料の微調整を購入してください。費用は1ドル程度です。