実行時に、特定のアドレスで (バイト文字列を使用して) バイト署名を見つけ、そのアドレスへのポインターを取得するための良い方法 (または適切な lib/class/source ファイル/何か) はありますか?
つまり、実行中のメモリでは:
... 05 AE 6B 24 B1 00 B5 ...
実行時に最初のパターンを見つけてAE 6B 24
、位置のアドレスを返しますか?
実行時に、特定のアドレスで (バイト文字列を使用して) バイト署名を見つけ、そのアドレスへのポインターを取得するための良い方法 (または適切な lib/class/source ファイル/何か) はありますか?
つまり、実行中のメモリでは:
... 05 AE 6B 24 B1 00 B5 ...
実行時に最初のパターンを見つけてAE 6B 24
、位置のアドレスを返しますか?
あなたはstrstrのようなものを探していますよね?memmem(3)を試してください。
メモリ アドレス 3452345 から検索を開始するとします。
char *
を使用して作成するchar *pMem =(char *)(*(3452345))
次に、char * を使用してメモリをループし、一致するパターンを見つけます。
ただし、この方法は非常にエラーが発生しやすいため (メモリの一部にアクセスしているときにエラーが発生する可能性があります)、エラーを処理する必要があります。