mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-11 16:46:16 +00:00
Revert SGDT hooking support
It's useless
This commit is contained in:
2
deps/unicorn
vendored
2
deps/unicorn
vendored
Submodule deps/unicorn updated: 2b224aebf8...6d9cc93779
@@ -473,19 +473,6 @@ namespace
|
||||
|
||||
const auto concise_logging = !options.verbose_logging;
|
||||
|
||||
win_emu->emu().hook_instruction(x86_hookable_instructions::sgdt, [&](const uint64_t) {
|
||||
const auto rip = win_emu->emu().read_instruction_pointer();
|
||||
const auto mod = get_module_if_interesting(win_emu->mod_manager, options.modules, rip);
|
||||
|
||||
if (mod.has_value())
|
||||
{
|
||||
win_emu->log.print(color::blue, "Executing SGDT instruction at 0x%" PRIx64 " (%s)\n", rip,
|
||||
(*mod) ? (*mod)->name.c_str() : "<N/A>");
|
||||
}
|
||||
|
||||
return instruction_hook_continuation::run_instruction;
|
||||
});
|
||||
|
||||
win_emu->emu().hook_instruction(x86_hookable_instructions::cpuid, [&] {
|
||||
const auto rip = win_emu->emu().read_instruction_pointer();
|
||||
const auto mod = get_module_if_interesting(win_emu->mod_manager, options.modules, rip);
|
||||
|
||||
@@ -33,8 +33,6 @@ namespace unicorn
|
||||
return UC_X86_INS_RDTSC;
|
||||
case x86_hookable_instructions::rdtscp:
|
||||
return UC_X86_INS_RDTSCP;
|
||||
case x86_hookable_instructions::sgdt:
|
||||
return UC_X86_INS_SGDT;
|
||||
default:
|
||||
throw std::runtime_error("Bad instruction for mapping");
|
||||
}
|
||||
@@ -401,18 +399,6 @@ namespace unicorn
|
||||
|
||||
container->add(std::move(wrapper), std::move(hook));
|
||||
}
|
||||
else if (inst_type == x86_hookable_instructions::sgdt)
|
||||
{
|
||||
function_wrapper<int, uc_engine*, uint64_t> wrapper([c = std::move(callback)](uc_engine*, const uint64_t data) {
|
||||
return (c(data) == instruction_hook_continuation::skip_instruction) ? 1 : 0;
|
||||
});
|
||||
|
||||
const auto uc_instruction = map_hookable_instruction(inst_type);
|
||||
uce(uc_hook_add(*this, hook.make_reference(), UC_HOOK_INSN, wrapper.get_function(), wrapper.get_user_data(), 0,
|
||||
std::numeric_limits<pointer_type>::max(), uc_instruction));
|
||||
|
||||
container->add(std::move(wrapper), std::move(hook));
|
||||
}
|
||||
else
|
||||
{
|
||||
function_wrapper<int, uc_engine*> wrapper([c = std::move(callback)](uc_engine*) {
|
||||
|
||||
@@ -50,7 +50,6 @@ enum class x86_hookable_instructions
|
||||
cpuid,
|
||||
rdtsc,
|
||||
rdtscp,
|
||||
sgdt,
|
||||
};
|
||||
|
||||
// --[x86_64]-------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user