(経由で)メモリにロードされた mach-o ファイルがmmap
あり、シンボルに対応するバイナリのアドレスを取得する必要がありますmySym
。という関数が見つかり、NSLookupSymbolInImage
それを使用NSAddressOfSymbol
して実際のアドレスを取得できると考えましたが、いくつかの問題があります。
- これらの関数は非推奨です
- のソースを見ると
NSLookupSymbolInImage
、mach_header
渡された はすでに dyld によってロードされている必要があるようです。自分でバイナリをロードしたので、この方法はおそらくうまくいきません。
必要に応じて、自分自身を解析してmach_header
その方法でシンボルを見つけることができることはわかっていますが、これを行うより良い方法があると思います。
基本的に、手動で行うよりも、dyld によってロードされていない macho ファイルからシンボルのアドレスを取得する簡単な方法があるかどうかを知りたいです。