리눅스 프로세스의 CPUID 명령어를 트랩하고 피딩하는 좋은 방법을 찾고 있습니다. 프로세스에 의해 생성 된 모든 실행 가능 mmap 영역에서 ptrace()를 사용하여 모든 cpuid opcode를 패치하고 int3로 대체합니다. CPUID opcode 바이트가 다른 더 긴 opcode의 일부로 자주 등장하기 때문에 잘 작동하지 않았습니다.CPUID 명령어를 트랩하는 방법을 찾고 있습니다.
그래서 기본적으로 특정 메모리 주소가 아닌 opcode를 호출 할 때마다 중단 점을 설정할 수있는 방법을 찾고 있습니다. 누구든지 그 방법을 알고 있습니까?