1

私は現在、モバイル アプリケーションをフックする手法について調査を行っており、Xposed (Android)、Frida (Android および iOS)、Cycript (iOS) などのフレームワークに出会いました。

Xposed と Frida に関するドキュメントは、彼らがどのようにそれを行っているかをかなりよく説明しています。Zygote プロセスを開始し、メソッドのフックを支援する追加の JAR ファイルをロードするバイナリを操作するための Xposed 状態。Frida のドキュメントでは、(Linux 環境で) ptrace を使用してプロセスにアタッチし、スレッドをロードして frida エージェントを含む .so ファイルを起動するブートストラップを割り当ててデータを入力することを説明しています。

Cycript が追求する戦略に関する有益なドキュメントは見つかりませんでした。実際のフックを行うCydia Substrateの上に構築されていることを私は知っています。Substrateがこれをどのように正確に達成するかについての詳細も見つけることができませんでした.

iOS では、objective-c ランタイムはランタイム指向であるため、ランタイム操作が可能であることをさらに理解しています。

Cycript / Cydia Substrateがアプリケーションにフック/インジェクトするためにどのように機能するかを知っている人はいますか?

前もって感謝します。

4

1 に答える 1

2

DYLD_INSERT_LIBRARIES をプログラムの launchd マニフェストに追加することで、どうやら動作しているようであることがわかりました。これにより、アプリケーションが起動されるたびに、動的ライブラリをロードして悪意のあるペイロードをロードします。

それでも、Android と iOS でランタイム フック/操作を実行する方法は他にありますか?

于 2016-10-21T22:43:06.757 に答える