mach-oバイナリの関数の参照を、自分のdylibで定義されたカスタム関数に変更する必要があります。私が今行っているプロセスは、
古い関数への参照を新しい関数に置き換えます。例:sed
_fopen
の使用。_mopen
MachOViewでmach-oバイナリを開いて、変更するエンティティのアドレスを見つけます。次に、16進エディターを使用してバイナリーの情報を手動で変更します。
このプロセスを自動化する方法はありますか。つまり、シンボルを読み取るプログラムを作成し、情報を動的にロードして、実行可能ファイルでそれらを変更する方法はありますか。私はでmach-oヘッダーファイルを見ていました/usr/include/mach-o
が、この情報を取得するためにそれらを使用する方法が完全にはわかりません。同じことをするのに役立つCまたはPythonのライブラリが存在しますか?