Fix execution

This commit is contained in:
momo5502
2024-08-21 19:25:44 +02:00
parent f2a314cdf0
commit c277de1ef0
2 changed files with 11 additions and 11 deletions

View File

@@ -103,13 +103,7 @@ endif()
##########################################
if(MOMO_ENABLE_SANITIZER)
# ASAN on Windows needs /MD
# https://developercommunity.visualstudio.com/t/c-address-sanitizer-statically-linked-dlls-do-not/1403680
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug>DLL)
else()
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug>)
endif()
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug>DLL)
##########################################

View File

@@ -31,12 +31,18 @@ namespace
emulator_allocator setup_gs_segment(x64_emulator& emu, const uint64_t segment_base, const uint64_t size)
{
const std::array<uint64_t, 2> value = {
struct msr_value
{
uint32_t id;
uint64_t value;
};
const msr_value value{
IA32_GS_BASE_MSR,
segment_base
};
emu.write_register(x64_register::msr, value.data(), value.size());
emu.write_register(x64_register::msr, &value, sizeof(value));
emu.map_memory(segment_base, size, memory_permission::read_write);
return {emu, segment_base, size};
@@ -315,7 +321,7 @@ namespace
for (const auto& exp : export_remap)
{
auto name = exp.second;
emu->hook_memory_execution(exp.first, exp.first,
emu->hook_memory_execution(exp.first, 0,
[&emu, n = std::move(name)](const uint64_t address, const size_t)
{
printf("Executing function: %s (%llX)\n", n.c_str(), address);
@@ -347,7 +353,7 @@ namespace
//uc.stop();
}
if (hit)
//if (hit)
{
printf(
"Inst: %16llX - RAX: %16llX - RBX: %16llX - RCX: %16llX - RDX: %16llX - R8: %16llX - R9: %16llX - RDI: %16llX - RSI: %16llX\n",