make i386 instructions RDTSC and RDTSCP hookable (#2066)
* instruction hooks for RDTSC and RDTSCP Signed-off-by: Pedro Tôrres <t0rr3sp3dr0@gmail.com> * update hookable instruction list Signed-off-by: Pedro Tôrres <t0rr3sp3dr0@gmail.com> * test RDTSC and RDTSCP instruction hooks Signed-off-by: Pedro Tôrres <t0rr3sp3dr0@gmail.com> --------- Signed-off-by: Pedro Tôrres <t0rr3sp3dr0@gmail.com> Co-authored-by: mio <mio@lazym.io>
This commit is contained in:
@@ -2000,10 +2000,11 @@ static bool x86_stop_interrupt(struct uc_struct *uc, int intno)
|
||||
|
||||
static bool x86_insn_hook_validate(uint32_t insn_enum)
|
||||
{
|
||||
// for x86 we can only hook IN, OUT, and SYSCALL
|
||||
// for x86 we can only hook IN, OUT, SYSCALL, SYSENTER, CPUID, RDTSC, and RDTSCP
|
||||
if (insn_enum != UC_X86_INS_IN && insn_enum != UC_X86_INS_OUT &&
|
||||
insn_enum != UC_X86_INS_SYSCALL && insn_enum != UC_X86_INS_SYSENTER &&
|
||||
insn_enum != UC_X86_INS_CPUID) {
|
||||
insn_enum != UC_X86_INS_CPUID && insn_enum != UC_X86_INS_RDTSC &&
|
||||
insn_enum != UC_X86_INS_RDTSCP) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user