Makes SYSENTER hookable again on x86 (#996)
Adds SYSENTER to the whitelist of supported hookable instructions in unicorn as well as fixes up the existing sysenter_hook_x86 regression test which was previously failing Fixes unicorn-engine/unicorn#995
This commit is contained in:
parent
84220d8360
commit
0f14c47344
|
@ -1341,7 +1341,8 @@ static bool x86_insn_hook_validate(uint32_t insn_enum)
|
|||
//for x86 we can only hook IN, OUT, and SYSCALL
|
||||
if (insn_enum != UC_X86_INS_IN
|
||||
&& insn_enum != UC_X86_INS_OUT
|
||||
&& insn_enum != UC_X86_INS_SYSCALL) {
|
||||
&& insn_enum != UC_X86_INS_SYSCALL
|
||||
&& insn_enum != UC_X86_INS_SYSENTER) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -36,7 +36,7 @@ int main(int argc, char **argv, char **envp)
|
|||
}
|
||||
|
||||
// Hook the SYSENTER instructions
|
||||
if (uc_hook_add (uc, &sysenterHook, UC_HOOK_INSN, sysenter, NULL, UC_X86_INS_SYSENTER, 1, 0) != UC_ERR_OK) {
|
||||
if (uc_hook_add (uc, &sysenterHook, UC_HOOK_INSN, sysenter, NULL, 1, 0, UC_X86_INS_SYSENTER) != UC_ERR_OK) {
|
||||
printf ("Cannot hook SYSENTER instruction\n.");
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue