web-dev-qa-db-ja.com

Swift Cycriptまたはgdbを使用したアプリケーションの動的分析

Swift iOSアプリケーションの分析を行っています。gdbまたはCycriptをアタッチできますが、その後これらのツールはメソッドのスウィズリングを実行できません。一部のメソッドを直接呼び出すことすらできません。 Cycript、これはObjective Cアプリでは非常に簡単です。

Gdbでは、メソッドにブレークポイントを設定できますが、実行中に同じメソッドを検出できません。 Swiftアプリのランタイム分析の方法がある場合は、お知らせください。

3
Saurabh

Michael Gianarakisが、逆転について話しましたSwift 2016年のHack-in-the Boxカンファレンスでのフックを含む (http://gsec.hitb.org/materials/sg2016/COMMSEC% 20D1%20-%20Michael%20Gianarakis%20-%20Reverse%20Engineering%20Swift%20Applications.pdf

特に、マイケルは、ここでも説明されているように、ゲッターメソッド(機能する)とセッター(機能しない)の関数フックについて説明します https://web.archive.org/web/20151004101419/http:/ /www.eswick.com/2014/06/inside-Swift/

関数フックとそれをすべてSubstrateのMSHookFunctionと連携させる機能に関する追加のメモは、こちら https://www.securify.nl/blog/SFY20150302/hooking_Swift_methods_for_fun_and_profit.html

Swift method swizzling- https://www.uraimo.com/2015/10/23/effective-method-swizzling-with-Swift /

最後に、マイケルはnmxcrunなどのmacOSツールを使用してSwift対応class-dump、ただし、こちらもご覧ください https://github.com/BlueCocoa/class-dump/

2
atdre