私の目標は、ARM プラットフォーム上のストリップされたバイナリにシンボルなしで C 関数をフックすることです。これらの関数のアドレスは変更される可能性があるため (つまり、バイナリの更新により)、介在する動的ライブラリ自体にアドレスを見つけてもらいたいと考えています。
さらに、これらの関数は、ある時点で、更新によって決して変更されない C 文字列を使用します。これを念頭に置いて、関数のアドレスを見つけるための 3 つの手順を次に示します。
1) C 文字列自体のアドレスを見つける (セグメント__cstring
内のセクションを分析することによって.__TEXT
2) 文字列への参照のアドレスを見つけます。
3) xref アドレスから始めて、関数のプロローグが見つかるまでさかのぼります。
ステップ1)と3)は実装できましたが、2)については少し迷っています。外部参照とは正確には何ですか? C-string に対応するものを特定するにはどうすればよいですか? コードは必要ありません。理論だけです。
ありがとう !