Swift iOSアプリケーションの分析を行っています。gdbまたはCycriptをアタッチできますが、その後これらのツールはメソッドのスウィズリングを実行できません。一部のメソッドを直接呼び出すことすらできません。 Cycript、これはObjective Cアプリでは非常に簡単です。
Gdbでは、メソッドにブレークポイントを設定できますが、実行中に同じメソッドを検出できません。 Swiftアプリのランタイム分析の方法がある場合は、お知らせください。
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 /
最後に、マイケルはnm
やxcrun
などのmacOSツールを使用してSwift対応class-dump
、ただし、こちらもご覧ください https://github.com/BlueCocoa/class-dump/