LinuxプロセスのCPUID命令をトラップしていじるきちんとした方法を探しています。ptrace() をいじって、プロセスによって作成されたすべての実行可能な mmap 領域内のすべての cpuid オペコードにパッチを適用し、それらを int3 に置き換えました。CPUID オペコード バイトが他の長いオペコードの一部として頻繁に現れるため、うまく機能しませんでした。
基本的に、特定のメモリアドレスではなく、オペコードの呼び出しごとにブレークポイントを設定できる方法を探しています。誰でもそれを行う方法を知っていますか?