From 320c7e96384d10e479d50bb4399ff24ca15b08d7 Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Fri, 30 Jul 2021 14:03:42 -0700 Subject: [PATCH] removed vtil, preparing to recode and add dump support... --- .gitignore | 1 + .gitmodules | 3 - CMakeLists.txt | 84 +++++ cmake.toml | 23 ++ cmkr.cmake | 162 +++++++++ dependencies/CMakeLists.txt | 46 +++ dependencies/cmake.toml | 6 + dependencies/vmprofiler | 2 +- dependencies/xtils | 1 - include/unpacker.hpp | 0 include/vmemu_t.hpp | 15 + src/main.cpp | 12 +- src/unpacker.cpp | 0 src/vmemu_t.cpp | 382 +-------------------- src/vmemu_t.hpp | 47 --- vmemu.sln | 662 ------------------------------------ vmemu.vcxproj | 181 ---------- vmemu.vcxproj.filters | 230 ------------- 18 files changed, 350 insertions(+), 1507 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 cmake.toml create mode 100644 cmkr.cmake create mode 100644 dependencies/CMakeLists.txt create mode 100644 dependencies/cmake.toml delete mode 160000 dependencies/xtils create mode 100644 include/unpacker.hpp create mode 100644 include/vmemu_t.hpp create mode 100644 src/unpacker.cpp delete mode 100644 src/vmemu_t.hpp delete mode 100644 vmemu.sln delete mode 100644 vmemu.vcxproj delete mode 100644 vmemu.vcxproj.filters diff --git a/.gitignore b/.gitignore index 72de34f..984df86 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ mono_crash.* # Build results +build/ [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ diff --git a/.gitmodules b/.gitmodules index 73639d7..a8831ac 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "dependencies/xtils"] - path = dependencies/xtils - url = https://githacks.org/_xeroxz/xtils.git [submodule "dependencies/unicorn"] path = dependencies/unicorn url = https://github.com/unicorn-engine/unicorn.git diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..73e3fce --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,84 @@ +# This file is automatically generated from cmake.toml - DO NOT EDIT +# See https://github.com/build-cpp/cmkr for more information + +cmake_minimum_required(VERSION 3.15) + +# Regenerate CMakeLists.txt automatically in the root project +set(CMKR_ROOT_PROJECT OFF) +if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(CMKR_ROOT_PROJECT ON) + + # Bootstrap cmkr + include(cmkr.cmake OPTIONAL RESULT_VARIABLE CMKR_INCLUDE_RESULT) + if(CMKR_INCLUDE_RESULT) + cmkr() + endif() + + # Enable folder support + set_property(GLOBAL PROPERTY USE_FOLDERS ON) +endif() + +# Create a configure-time dependency on cmake.toml to improve IDE support +if(CMKR_ROOT_PROJECT) + configure_file(cmake.toml cmake.toml COPYONLY) +endif() + +project(vmemu) + +# dependencies +set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) +if(CMAKE_FOLDER) + set(CMAKE_FOLDER "${CMAKE_FOLDER}/dependencies") +else() + set(CMAKE_FOLDER dependencies) +endif() +add_subdirectory(dependencies) +set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) + +# Target vmemu +set(CMKR_TARGET vmemu) +set(vmemu_SOURCES "") + +list(APPEND vmemu_SOURCES + "src/main.cpp" + "src/unpacker.cpp" + "src/vmemu_t.cpp" + "include/unpacker.hpp" + "include/vmemu_t.hpp" +) + +list(APPEND vmemu_SOURCES + cmake.toml +) + +set(CMKR_SOURCES ${vmemu_SOURCES}) +add_executable(vmemu) + +if(vmemu_SOURCES) + target_sources(vmemu PRIVATE ${vmemu_SOURCES}) +endif() + +get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT) +if(NOT CMKR_VS_STARTUP_PROJECT) + set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT vmemu) +endif() + +source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${vmemu_SOURCES}) + +target_compile_definitions(vmemu PRIVATE + NOMINMAX +) + +target_include_directories(vmemu PRIVATE + include +) + +target_link_libraries(vmemu PRIVATE + vmprofiler + unicorn + cli-parser +) + +unset(CMKR_TARGET) +unset(CMKR_SOURCES) + diff --git a/cmake.toml b/cmake.toml new file mode 100644 index 0000000..7ef4ac5 --- /dev/null +++ b/cmake.toml @@ -0,0 +1,23 @@ +[project] +name = "vmemu" + +[subdir.dependencies] + +[target.vmemu] +type = "executable" + +sources = [ + "src/**.cpp", + "include/**.hpp", +] +include-directories = [ + "include", +] +link-libraries = [ + "vmprofiler", + "unicorn", + "cli-parser", +] +compile-definitions = [ + "NOMINMAX" +] \ No newline at end of file diff --git a/cmkr.cmake b/cmkr.cmake new file mode 100644 index 0000000..cc90624 --- /dev/null +++ b/cmkr.cmake @@ -0,0 +1,162 @@ +include_guard() + +# Change these defaults to point to your infrastructure if desired +set(CMKR_REPO "https://github.com/build-cpp/cmkr" CACHE STRING "cmkr git repository" FORCE) +set(CMKR_TAG "archive_264e4ace" CACHE STRING "cmkr git tag (this needs to be available forever)" FORCE) + +# Set these from the command line to customize for development/debugging purposes +set(CMKR_EXECUTABLE "" CACHE FILEPATH "cmkr executable") +set(CMKR_SKIP_GENERATION OFF CACHE BOOL "skip automatic cmkr generation") + +# Disable cmkr if generation is disabled +if(DEFINED ENV{CI} OR CMKR_SKIP_GENERATION) + message(STATUS "[cmkr] Skipping automatic cmkr generation") + macro(cmkr) + endmacro() + return() +endif() + +# Disable cmkr if no cmake.toml file is found +if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake.toml") + message(AUTHOR_WARNING "[cmkr] Not found: ${CMAKE_CURRENT_SOURCE_DIR}/cmake.toml") + macro(cmkr) + endmacro() + return() +endif() + +# Convert a Windows native path to CMake path +if(CMKR_EXECUTABLE MATCHES "\\\\") + string(REPLACE "\\" "/" CMKR_EXECUTABLE_CMAKE "${CMKR_EXECUTABLE}") + set(CMKR_EXECUTABLE "${CMKR_EXECUTABLE_CMAKE}" CACHE FILEPATH "" FORCE) + unset(CMKR_EXECUTABLE_CMAKE) +endif() + +# Helper macro to execute a process (COMMAND_ERROR_IS_FATAL ANY is 3.19 and higher) +function(cmkr_exec) + execute_process(COMMAND ${ARGV} RESULT_VARIABLE CMKR_EXEC_RESULT) + if(NOT CMKR_EXEC_RESULT EQUAL 0) + message(FATAL_ERROR "cmkr_exec(${ARGV}) failed (exit code ${CMKR_EXEC_RESULT})") + endif() +endfunction() + +# Windows-specific hack (CMAKE_EXECUTABLE_PREFIX is not set at the moment) +if(WIN32) + set(CMKR_EXECUTABLE_NAME "cmkr.exe") +else() + set(CMKR_EXECUTABLE_NAME "cmkr") +endif() + +# Use cached cmkr if found +set(CMKR_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/_cmkr_${CMKR_TAG}") +set(CMKR_CACHED_EXECUTABLE "${CMKR_DIRECTORY}/bin/${CMKR_EXECUTABLE_NAME}") + +if(NOT CMKR_CACHED_EXECUTABLE STREQUAL CMKR_EXECUTABLE AND CMKR_EXECUTABLE MATCHES "^${CMAKE_CURRENT_BINARY_DIR}/_cmkr") + message(AUTHOR_WARNING "[cmkr] Upgrading '${CMKR_EXECUTABLE}' to '${CMKR_CACHED_EXECUTABLE}'") + unset(CMKR_EXECUTABLE CACHE) +endif() + +if(CMKR_EXECUTABLE AND EXISTS "${CMKR_EXECUTABLE}") + message(VERBOSE "[cmkr] Found cmkr: '${CMKR_EXECUTABLE}'") +elseif(CMKR_EXECUTABLE AND NOT CMKR_EXECUTABLE STREQUAL CMKR_CACHED_EXECUTABLE) + message(FATAL_ERROR "[cmkr] '${CMKR_EXECUTABLE}' not found") +else() + set(CMKR_EXECUTABLE "${CMKR_CACHED_EXECUTABLE}" CACHE FILEPATH "Full path to cmkr executable" FORCE) + message(VERBOSE "[cmkr] Bootstrapping '${CMKR_EXECUTABLE}'") + + message(STATUS "[cmkr] Fetching cmkr...") + if(EXISTS "${CMKR_DIRECTORY}") + cmkr_exec("${CMAKE_COMMAND}" -E rm -rf "${CMKR_DIRECTORY}") + endif() + find_package(Git QUIET REQUIRED) + cmkr_exec("${GIT_EXECUTABLE}" + clone + --config advice.detachedHead=false + --branch ${CMKR_TAG} + --depth 1 + ${CMKR_REPO} + "${CMKR_DIRECTORY}" + ) + message(STATUS "[cmkr] Building cmkr...") + cmkr_exec("${CMAKE_COMMAND}" + --no-warn-unused-cli + "${CMKR_DIRECTORY}" + "-B${CMKR_DIRECTORY}/build" + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_INSTALL_PREFIX=${CMKR_DIRECTORY}" + "-DCMKR_GENERATE_DOCUMENTATION=OFF" + ) + cmkr_exec("${CMAKE_COMMAND}" + --build "${CMKR_DIRECTORY}/build" + --config Release + --parallel + ) + cmkr_exec("${CMAKE_COMMAND}" + --install "${CMKR_DIRECTORY}/build" + --config Release + --prefix "${CMKR_DIRECTORY}" + --component cmkr + ) + if(NOT EXISTS ${CMKR_EXECUTABLE}) + message(FATAL_ERROR "[cmkr] Failed to bootstrap '${CMKR_EXECUTABLE}'") + endif() + cmkr_exec("${CMKR_EXECUTABLE}" version) + message(STATUS "[cmkr] Bootstrapped ${CMKR_EXECUTABLE}") +endif() +execute_process(COMMAND "${CMKR_EXECUTABLE}" version + RESULT_VARIABLE CMKR_EXEC_RESULT +) +if(NOT CMKR_EXEC_RESULT EQUAL 0) + message(FATAL_ERROR "[cmkr] Failed to get version, try clearing the cache and rebuilding") +endif() + +# This is the macro that contains black magic +macro(cmkr) + # When this macro is called from the generated file, fake some internal CMake variables + get_source_file_property(CMKR_CURRENT_LIST_FILE "${CMAKE_CURRENT_LIST_FILE}" CMKR_CURRENT_LIST_FILE) + if(CMKR_CURRENT_LIST_FILE) + set(CMAKE_CURRENT_LIST_FILE "${CMKR_CURRENT_LIST_FILE}") + get_filename_component(CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY) + endif() + + # File-based include guard (include_guard is not documented to work) + get_source_file_property(CMKR_INCLUDE_GUARD "${CMAKE_CURRENT_LIST_FILE}" CMKR_INCLUDE_GUARD) + if(NOT CMKR_INCLUDE_GUARD) + set_source_files_properties("${CMAKE_CURRENT_LIST_FILE}" PROPERTIES CMKR_INCLUDE_GUARD TRUE) + + file(SHA256 "${CMAKE_CURRENT_LIST_FILE}" CMKR_LIST_FILE_SHA256_PRE) + + # Generate CMakeLists.txt + cmkr_exec("${CMKR_EXECUTABLE}" gen + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) + + file(SHA256 "${CMAKE_CURRENT_LIST_FILE}" CMKR_LIST_FILE_SHA256_POST) + + # Delete the temporary file if it was left for some reason + set(CMKR_TEMP_FILE "${CMAKE_CURRENT_SOURCE_DIR}/CMakerLists.txt") + if(EXISTS "${CMKR_TEMP_FILE}") + file(REMOVE "${CMKR_TEMP_FILE}") + endif() + + if(NOT CMKR_LIST_FILE_SHA256_PRE STREQUAL CMKR_LIST_FILE_SHA256_POST) + # Copy the now-generated CMakeLists.txt to CMakerLists.txt + # This is done because you cannot include() a file you are currently in + configure_file(CMakeLists.txt "${CMKR_TEMP_FILE}" COPYONLY) + + # Add the macro required for the hack at the start of the cmkr macro + set_source_files_properties("${CMKR_TEMP_FILE}" PROPERTIES + CMKR_CURRENT_LIST_FILE "${CMAKE_CURRENT_LIST_FILE}" + ) + + # 'Execute' the newly-generated CMakeLists.txt + include("${CMKR_TEMP_FILE}") + + # Delete the generated file + file(REMOVE "${CMKR_TEMP_FILE}") + + # Do not execute the rest of the original CMakeLists.txt + return() + endif() + # Resume executing the unmodified CMakeLists.txt + endif() +endmacro() diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt new file mode 100644 index 0000000..0586732 --- /dev/null +++ b/dependencies/CMakeLists.txt @@ -0,0 +1,46 @@ +# This file is automatically generated from cmake.toml - DO NOT EDIT +# See https://github.com/build-cpp/cmkr for more information + +# Create a configure-time dependency on cmake.toml to improve IDE support +if(CMKR_ROOT_PROJECT) + configure_file(cmake.toml cmake.toml COPYONLY) +endif() + +# vmprofiler +set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) +if(CMAKE_FOLDER) + set(CMAKE_FOLDER "${CMAKE_FOLDER}/vmprofiler") +else() + set(CMAKE_FOLDER vmprofiler) +endif() +add_subdirectory(vmprofiler) +set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) + +# unicorn +set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) +if(CMAKE_FOLDER) + set(CMAKE_FOLDER "${CMAKE_FOLDER}/unicorn") +else() + set(CMAKE_FOLDER unicorn) +endif() +add_subdirectory(unicorn) +set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) + +# Target cli-parser +set(CMKR_TARGET cli-parser) +set(cli-parser_SOURCES "") + +set(CMKR_SOURCES ${cli-parser_SOURCES}) +add_library(cli-parser INTERFACE) + +if(cli-parser_SOURCES) + target_sources(cli-parser INTERFACE ${cli-parser_SOURCES}) +endif() + +target_include_directories(cli-parser INTERFACE + cli-parser +) + +unset(CMKR_TARGET) +unset(CMKR_SOURCES) + diff --git a/dependencies/cmake.toml b/dependencies/cmake.toml new file mode 100644 index 0000000..b32a172 --- /dev/null +++ b/dependencies/cmake.toml @@ -0,0 +1,6 @@ +[subdir.vmprofiler] +[subdir.unicorn] + +[target.cli-parser] +type = "interface" +include-directories = ["cli-parser"] diff --git a/dependencies/vmprofiler b/dependencies/vmprofiler index e75104f..99f1f69 160000 --- a/dependencies/vmprofiler +++ b/dependencies/vmprofiler @@ -1 +1 @@ -Subproject commit e75104fbb3b07540be51fcef169e9eaffd1cfee2 +Subproject commit 99f1f695ed0e10c278076b037edd399965563140 diff --git a/dependencies/xtils b/dependencies/xtils deleted file mode 160000 index 99a1fc7..0000000 --- a/dependencies/xtils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99a1fc74e16af3261e7cfff4e03d470a7a05feb0 diff --git a/include/unpacker.hpp b/include/unpacker.hpp new file mode 100644 index 0000000..e69de29 diff --git a/include/vmemu_t.hpp b/include/vmemu_t.hpp new file mode 100644 index 0000000..784d00e --- /dev/null +++ b/include/vmemu_t.hpp @@ -0,0 +1,15 @@ +#pragma once +#include + +namespace vm +{ + class emu_t + { + public: + explicit emu_t( vm::ctx_t *vm_ctx ); + ~emu_t(); + + bool init(); + bool get_trace( std::vector< vm::instrs::code_block_t > &code_blocks ); + }; +} // namespace vm \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 3530354..d91b5e1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,10 +1,10 @@ -#define NOMINMAX +#include +#include "vmemu_t.hpp" + #include #include #include -#include #include -#include "vmemu_t.hpp" int __cdecl main( int argc, const char *argv[] ) { @@ -15,8 +15,9 @@ int __cdecl main( int argc, const char *argv[] ) .required( true ) .description( "relative virtual address to a vm entry..." ); - parser.add_argument().name( "--vmpbin" ).required( true ).description( "path to unpacked virtualized binary..." ); + parser.add_argument().name( "--bin" ).required( true ).description( "path to unpacked virtualized binary..." ); parser.add_argument().name( "--out" ).required( true ).description( "output file name for trace file..." ); + parser.add_argument().name( "--unpack" ).description( "unpack a vmp2 binary..." ); parser.enable_help(); auto result = parser.parse( argc, argv ); @@ -72,6 +73,7 @@ int __cdecl main( int argc, const char *argv[] ) std::printf( "[!] something failed during tracing, review the console for more information...\n" ); std::printf( "> number of blocks = %d\n", code_blocks.size() ); + for ( auto &code_block : code_blocks ) { std::printf( "> code block starts at = %p\n", code_block.vip_begin ); @@ -121,4 +123,4 @@ int __cdecl main( int argc, const char *argv[] ) output.close(); std::printf( "> finished..." ); -} +} \ No newline at end of file diff --git a/src/unpacker.cpp b/src/unpacker.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/vmemu_t.cpp b/src/vmemu_t.cpp index e991f06..b6570f1 100644 --- a/src/vmemu_t.cpp +++ b/src/vmemu_t.cpp @@ -2,393 +2,21 @@ namespace vm { - emu_t::emu_t( vm::ctx_t *vmctx ) : uc( nullptr ), vmctx( vmctx ) + emu_t::emu_t( vm::ctx_t *vmctx ) { } - bool emu_t::init() - { - uc_err err; - std::uintptr_t stack_base = 0x1000000; - std::uintptr_t stack_addr = ( stack_base + ( 0x1000 * 20 ) ) - 0x6000; - const auto rip = vmctx->module_base + vmctx->vm_entry_rva; - - if ( ( err = uc_open( UC_ARCH_X86, UC_MODE_64, &uc ) ) ) - { - std::printf( "failed on uc_mem_map() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_mem_map( uc, vmctx->module_base, vmctx->image_size, UC_PROT_ALL ) ) ) - { - std::printf( "failed on uc_mem_map() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_mem_map( uc, UC_STACK_ADDR, sizeof vm::cpu_ctx::stack, UC_PROT_ALL ) ) ) - { - std::printf( "failed on uc_mem_map() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_mem_write( uc, vmctx->module_base, reinterpret_cast< void * >( vmctx->module_base ), - vmctx->image_size ) ) ) - { - std::printf( "failed on uc_mem_write() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_reg_write( uc, UC_X86_REG_RIP, &rip ) ) ) - { - std::printf( "failed on uc_reg_write() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_reg_write( uc, UC_X86_REG_RSP, &stack_addr ) ) ) - { - std::printf( "failed on uc_reg_write() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_hook_add( uc, &trace, UC_HOOK_CODE, &vm::emu_t::hook_code, this, vmctx->module_base, - vmctx->module_base + vmctx->image_size ) ) ) - { - std::printf( "failed on uc_hook_add() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - if ( ( err = uc_hook_add( uc, &trace1, UC_HOOK_MEM_READ_UNMAPPED | UC_HOOK_MEM_WRITE_UNMAPPED, - vm::emu_t::hook_mem_invalid, this, 1, 0 ) ) ) - { - std::printf( "failed on uc_hook_add() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - return true; - } - emu_t::~emu_t() { - if ( uc ) - uc_close( uc ); } - bool emu_t::get_trace( std::vector< vm::instrs::code_block_t > &entries ) - { - uc_err err; - code_blocks.push_back( { vm::instrs::code_block_t{ 0u }, { nullptr } } ); - - if ( ( err = uc_emu_start( uc, vmctx->vm_entry_rva + vmctx->module_base, NULL, NULL, NULL ) ) ) - { - std::printf( "failed on uc_emu_start() with error returned %u: %s\n", err, uc_strerror( err ) ); - - return false; - } - - static const auto _already_traced = [ & ]( std::uintptr_t code_block_addr ) -> bool { - return std::find_if( code_blocks.begin(), code_blocks.end(), [ & ]( const auto code_block_data ) -> bool { - return code_block_data.first.vip_begin == code_block_addr || - // sometimes the code block address is displaced by 1... and another byte for the - // opcode... - code_block_data.first.vip_begin == code_block_addr - 2 || - code_block_data.first.vip_begin == code_block_addr - 1; - } ) != code_blocks.end(); - }; - - static const auto _traced_all_paths = - [ & ]( const std::vector< std::pair< vm::instrs::code_block_t, std::shared_ptr< cpu_ctx > > > &code_blocks ) - -> bool { - return std::find_if( - code_blocks.begin(), code_blocks.end(), - []( const std::pair< vm::instrs::code_block_t, std::shared_ptr< cpu_ctx > > &code_block_data ) - -> bool { - return code_block_data.first.jcc.has_jcc && - ( !_already_traced( code_block_data.first.jcc.block_addr[ 0 ] ) || - !_already_traced( code_block_data.first.jcc.block_addr[ 1 ] ) ); - } ) == code_blocks.end(); - }; - - static const auto _trace_branch = [ & ]( vm::instrs::code_block_t &code_block, - std::shared_ptr< cpu_ctx > &context, - std::uintptr_t branch_addr ) -> bool { - if ( !context ) - return {}; - - // restore context to virtual jmp... changing branch... - uc_context_restore( uc, context->context ); - - // restore entire stack.... - uc_mem_write( uc, UC_STACK_ADDR, context->stack, sizeof vm::cpu_ctx::stack ); - - std::uintptr_t rip = 0u; - uc_reg_read( uc, UC_X86_REG_RIP, &rip ); - - // change the top qword on the stack to the branch rva... - // the rva is image base'ed and only the bottom 32bits... - std::uintptr_t branch_rva = ( ( branch_addr - vmctx->module_base ) + vmctx->image_base ) & 0xFFFFFFFFull; - - uc_mem_write( uc, code_block.vinstrs.back().trace_data.regs.rbp, &branch_rva, sizeof branch_rva ); - code_blocks.push_back( { vm::instrs::code_block_t{ 0u }, { nullptr } } ); - - skip_current_jmp = true; - if ( ( err = uc_emu_start( uc, rip, NULL, NULL, NULL ) ) ) - { - std::printf( "failed on uc_emu_start() with error returned %u: %s\n", err, uc_strerror( err ) ); - return false; - } - return true; - }; - - while ( !_traced_all_paths( code_blocks ) ) - { - for ( auto &[ code_block, uc_code_block_context ] : code_blocks ) - { - if ( code_block.jcc.has_jcc ) - { - if ( !_already_traced( code_block.jcc.block_addr[ 0 ] ) ) - { - _trace_branch( code_block, uc_code_block_context, code_block.jcc.block_addr[ 0 ] ); - break; - } - - if ( !_already_traced( code_block.jcc.block_addr[ 1 ] ) ) - { - _trace_branch( code_block, uc_code_block_context, code_block.jcc.block_addr[ 1 ] ); - break; - } - } - } - } - - for ( auto &[ code_block, uc_code_block_context ] : code_blocks ) - entries.push_back( code_block ); - - return true; - } - - uc_err emu_t::create_entry( vmp2::v2::entry_t *entry ) + bool emu_t::init() { - uc_reg_read( uc, UC_X86_REG_R15, &entry->regs.r15 ); - uc_reg_read( uc, UC_X86_REG_R14, &entry->regs.r14 ); - uc_reg_read( uc, UC_X86_REG_R13, &entry->regs.r13 ); - uc_reg_read( uc, UC_X86_REG_R12, &entry->regs.r12 ); - uc_reg_read( uc, UC_X86_REG_R11, &entry->regs.r11 ); - uc_reg_read( uc, UC_X86_REG_R10, &entry->regs.r10 ); - uc_reg_read( uc, UC_X86_REG_R9, &entry->regs.r9 ); - uc_reg_read( uc, UC_X86_REG_R8, &entry->regs.r8 ); - uc_reg_read( uc, UC_X86_REG_RBP, &entry->regs.rbp ); - uc_reg_read( uc, UC_X86_REG_RDI, &entry->regs.rdi ); - uc_reg_read( uc, UC_X86_REG_RSI, &entry->regs.rsi ); - uc_reg_read( uc, UC_X86_REG_RDX, &entry->regs.rdx ); - uc_reg_read( uc, UC_X86_REG_RCX, &entry->regs.rcx ); - uc_reg_read( uc, UC_X86_REG_RBX, &entry->regs.rbx ); - uc_reg_read( uc, UC_X86_REG_RAX, &entry->regs.rax ); - uc_reg_read( uc, UC_X86_REG_EFLAGS, &entry->regs.rflags ); - - entry->vip = entry->regs.rsi; - entry->handler_idx = entry->regs.rax; - entry->decrypt_key = entry->regs.rbx; - - uc_err err; - if ( ( err = uc_mem_read( uc, entry->regs.rdi, entry->vregs.raw, sizeof entry->vregs.raw ) ) ) - return err; - - // copy virtual stack values... - for ( auto idx = 0u; idx < sizeof( entry->vsp ) / 8; ++idx ) - if ( ( err = uc_mem_read( uc, entry->regs.rbp + ( idx * 8 ), &entry->vsp.qword[ idx ], - sizeof entry->vsp.qword[ idx ] ) ) ) - return err; - - return UC_ERR_OK; + return {}; } - void emu_t::hook_code( uc_engine *uc, uint64_t address, uint32_t size, vm::emu_t *obj ) - { - // std::printf( ">>> Tracing instruction at 0x%p, instruction size = 0x%x\n", - //( address - obj->vmctx->module_base ) + obj->vmctx->image_base, size ); - - // bad code... but i need to skip JMP instructions when tracing branches since i save context - // on the jmp instruction... so it needs to be skipped... - if ( obj->skip_current_jmp ) - { - obj->skip_current_jmp = false; - return; - } - - // grab JMP RDX/RCX <-- this register... - static const auto jmp_reg = obj->vmctx->vm_entry[ obj->vmctx->vm_entry.size() ].instr.operands[ 0 ].reg.value; - - static ZydisDecoder decoder; - static ZydisDecodedInstruction instr; - static std::uintptr_t reg_val = 0u, rsi = 0u; - - // init zydis decoder only a single time... - if ( static std::atomic< bool > once = true; once.exchange( false ) ) - ZydisDecoderInit( &decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64 ); - - if ( ZYAN_SUCCESS( - ZydisDecoderDecodeBuffer( &decoder, reinterpret_cast< void * >( address ), size, &instr ) ) && - instr.mnemonic == ZYDIS_MNEMONIC_JMP && instr.operands[ 0 ].type == ZYDIS_OPERAND_TYPE_REGISTER && - instr.operands[ 0 ].reg.value == jmp_reg ) - { - uc_err err; - vmp2::v2::entry_t new_entry; - std::optional< vm::instrs::virt_instr_t > virt_instr; - vm::handler::profile_t *vm_handler_profile = nullptr; - - switch ( jmp_reg ) - { - case ZYDIS_REGISTER_RDX: - uc_reg_read( uc, UC_X86_REG_RDX, ®_val ); - break; - case ZYDIS_REGISTER_RCX: - uc_reg_read( uc, UC_X86_REG_RCX, ®_val ); - break; - default: - std::printf( "[!] invalid jump register... = %d\n", jmp_reg ); - exit( 0 ); - } - - // checks to see if the address - // in JMP RDX/RCX is a vm handler address... - static const auto vm_handler_check = [ & ]( const vm::handler::handler_t &vm_handler ) -> bool { - return vm_handler.address == reg_val; - }; - - if ( std::find_if( obj->vmctx->vm_handlers.begin(), obj->vmctx->vm_handlers.end(), vm_handler_check ) == - obj->vmctx->vm_handlers.end() ) - return; - - if ( ( err = obj->create_entry( &new_entry ) ) ) - { - std::printf( "[!] failed to create new entry... reason = %u, %s\n", err, uc_strerror( err ) ); - - exit( 0 ); - } - - if ( !obj->code_blocks.back().first.vip_begin ) - // -1 because the first byte is the opcode... - obj->code_blocks.back().first.vip_begin = new_entry.vip - 1; - - if ( obj->code_blocks.back().first.vinstrs.size() > 500 ) - { - obj->code_blocks.back().first.jcc.has_jcc = false; - uc_emu_stop( obj->uc ); - return; - } - - if ( virt_instr = vm::instrs::get( *obj->vmctx, new_entry ); !virt_instr.has_value() ) - { - std::printf( "[!] failed to create vm::instrs::virt_instr_t...\n" ); - - exit( 0 ); - } - - obj->code_blocks.back().first.vinstrs.push_back( virt_instr.value() ); - uc_reg_read( obj->uc, UC_X86_REG_RSI, &rsi ); - std::printf( "> %s handler = 0x%p vip = 0x%p\n", - obj->vmctx->vm_handlers[ new_entry.handler_idx ].profile - ? obj->vmctx->vm_handlers[ new_entry.handler_idx ].profile->name - : "UNK", - ( reg_val - obj->vmctx->module_base ) + obj->vmctx->image_base, - ( rsi - obj->vmctx->module_base ) + obj->vmctx->image_base ); - - // if there is a virtual JMP instruction then we need to grab jcc data for the current code_block_t - // and then create a new code_block_t... - if ( ( vm_handler_profile = obj->vmctx->vm_handlers[ new_entry.handler_idx ].profile ) && - vm_handler_profile->mnemonic == vm::handler::mnemonic_t::JMP ) - { - const auto code_block_address = vm::instrs::code_block_addr( *obj->vmctx, new_entry ); - auto jcc = vm::instrs::get_jcc_data( *obj->vmctx, obj->code_blocks.back().first ); - - if ( jcc.has_value() ) - { - obj->code_blocks.back().first.jcc = jcc.value(); - } - else // the branch(s) dont start with SREGQ... stopping... - { - uc_emu_stop( uc ); - return; - } - - // save cpu state as well as stack... - obj->code_blocks.back().second = std::make_shared< cpu_ctx >(); - - if ( ( err = uc_context_alloc( uc, &obj->code_blocks.back().second->context ) ) ) - { - std::printf( "[!] failed to allocate context space...\n" ); - exit( 0 ); - } - - if ( ( err = uc_context_save( uc, obj->code_blocks.back().second->context ) ) ) - { - std::printf( "[!] failed to save cpu context...\n" ); - exit( 0 ); - } - - if ( ( err = uc_mem_read( uc, UC_STACK_ADDR, obj->code_blocks.back().second->stack, - sizeof vm::cpu_ctx::stack ) ) ) - { - std::printf( "[!] failed to read stack into backup buffer...\n" ); - exit( 0 ); - } - - // if the next code block has already been traced then stop emulation... - if ( auto already_traced = std::find_if( obj->code_blocks.begin(), obj->code_blocks.end(), - [ & ]( const auto &code_block_data ) -> bool { - return code_block_data.first.vip_begin == - code_block_address; - } ); - already_traced != obj->code_blocks.end() ) - { - uc_emu_stop( uc ); - } - else // else set the next code block up... - { - obj->code_blocks.push_back( { vm::instrs::code_block_t{ 0u }, {} } ); - } - } - } - else if ( instr.mnemonic == ZYDIS_MNEMONIC_RET ) // finish tracing... - { - uc_emu_stop( uc ); - // vmexit's cannot have a branch... - obj->code_blocks.back().first.jcc.has_jcc = false; - } - else if ( instr.mnemonic == ZYDIS_MNEMONIC_CALL && instr.operands[ 0 ].type == ZYDIS_OPERAND_TYPE_REGISTER ) - { - const auto rip = address + instr.length; - uc_reg_write( obj->uc, UC_X86_REG_RIP, &rip ); - } - } - - bool emu_t::hook_mem_invalid( uc_engine *uc, uc_mem_type type, uint64_t address, int size, int64_t value, - vm::emu_t *obj ) + bool emu_t::get_trace( std::vector< vm::instrs::code_block_t > &entries ) { - uc_err err; - if ( ( err = uc_mem_map( obj->uc, address & ~0xFFFull, 0x1000, UC_PROT_ALL ) ) ) - std::printf( "failed on uc_mem_map() with error returned %u: %s\n", err, uc_strerror( err ) ); - - switch ( type ) - { - case UC_MEM_WRITE_UNMAPPED: - printf( ">>> Missing memory is being WRITE at 0x%p, data size = %u, data value = 0x%p\n", address, size, - value ); - return true; - case UC_MEM_READ_UNMAPPED: - printf( ">>> Missing memory is being READ at 0x%p, data size = %u, data value = 0x%p\n", address, size, - value ); - return true; - default: - printf( ">>> Missing memory at 0x%p, data size = %u, data value = 0x%p\n", address, size, value ); - return true; - } + return {}; } } // namespace vm \ No newline at end of file diff --git a/src/vmemu_t.hpp b/src/vmemu_t.hpp deleted file mode 100644 index 191cfeb..0000000 --- a/src/vmemu_t.hpp +++ /dev/null @@ -1,47 +0,0 @@ -#pragma once -#define NOMINMAX -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define UC_STACK_ADDR 0x1000000 - -namespace vm -{ - struct cpu_ctx - { - uc_context *context; - std::uint8_t stack[ PAGE_4K * 100 ]; - }; - - class emu_t - { - using callback_t = std::function< void( uc_engine *, uint64_t, uint32_t, void * ) >; - - public: - explicit emu_t( vm::ctx_t *vmctx ); - ~emu_t(); - - bool init(); - bool get_trace( std::vector< vm::instrs::code_block_t > &entries ); - - private: - uc_err create_entry( vmp2::v2::entry_t *entry ); - static void hook_code( uc_engine *uc, uint64_t address, uint32_t size, vm::emu_t *obj ); - static bool hook_mem_invalid( uc_engine *uc, uc_mem_type type, uint64_t address, int size, int64_t value, - vm::emu_t *obj ); - - uc_engine *uc; - uc_hook trace, trace1; - - bool skip_current_jmp; - vm::ctx_t *vmctx; - std::vector< std::pair< vm::instrs::code_block_t, std::shared_ptr > > code_blocks; - }; -} // namespace vm \ No newline at end of file diff --git a/vmemu.sln b/vmemu.sln deleted file mode 100644 index 4e702ff..0000000 --- a/vmemu.sln +++ /dev/null @@ -1,662 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30907.101 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Zydis", "dependencies\vmprofiler\dependencies\zydis\msvc\zydis\Zydis.vcxproj", "{88A23124-5640-35A0-B890-311D7A67A7D2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmprofiler", "dependencies\vmprofiler\vmprofiler.vcxproj", "{D0B6092A-9944-4F24-9486-4B7DAE372619}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmemu", "vmemu.vcxproj", "{F0D51879-E659-4BD3-B688-7864DB3C82AA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependencies", "dependencies", "{7EE14D03-ED3D-4FA2-8974-8A285C974E3D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VTIL", "dependencies\vmprofiler\dependencies\vtil\VTIL\VTIL.vcxproj", "{8163E74C-DDE4-4507-BD3D-064CD95FF33B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VTIL-Architecture", "dependencies\vmprofiler\dependencies\vtil\VTIL-Architecture\VTIL-Architecture.vcxproj", "{A79E2869-7626-4801-B09D-5C12F5163BA3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VTIL-Common", "dependencies\vmprofiler\dependencies\vtil\VTIL-Common\VTIL-Common.vcxproj", "{EC6B8F7F-730C-4086-B143-4664CC16DF8F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VTIL-Compiler", "dependencies\vmprofiler\dependencies\vtil\VTIL-Compiler\VTIL-Compiler.vcxproj", "{F960486B-2DB4-44AF-91BB-0F19F228ABCF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VTIL-SymEx", "dependencies\vmprofiler\dependencies\vtil\VTIL-SymEx\VTIL-SymEx.vcxproj", "{FE3202CE-D05C-4E04-AE9B-D30305D8CE31}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "keystone", "dependencies\vmprofiler\dependencies\vtil\dependencies\keystone\msvc\llvm\keystone\keystone.vcxproj", "{E4754E3E-2503-307A-8076-8AC2AD8B75B2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "capstone-static", "dependencies\vmprofiler\dependencies\vtil\dependencies\capstone\msvc\capstone-static.vcxproj", "{A0471FDD-F210-3D7E-B4EA-20543BC10911}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DBG|x64 = DBG|x64 - DBG|x86 = DBG|x86 - Debug Kernel|x64 = Debug Kernel|x64 - Debug Kernel|x86 = Debug Kernel|x86 - Debug MD DLL|x64 = Debug MD DLL|x64 - Debug MD DLL|x86 = Debug MD DLL|x86 - Debug MD|x64 = Debug MD|x64 - Debug MD|x86 = Debug MD|x86 - Debug MT DLL|x64 = Debug MT DLL|x64 - Debug MT DLL|x86 = Debug MT DLL|x86 - Debug MT|x64 = Debug MT|x64 - Debug MT|x86 = Debug MT|x86 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - MinSizeRel|x64 = MinSizeRel|x64 - MinSizeRel|x86 = MinSizeRel|x86 - Release Kernel|x64 = Release Kernel|x64 - Release Kernel|x86 = Release Kernel|x86 - Release MD DLL|x64 = Release MD DLL|x64 - Release MD DLL|x86 = Release MD DLL|x86 - Release MD|x64 = Release MD|x64 - Release MD|x86 = Release MD|x86 - Release MT DLL|x64 = Release MT DLL|x64 - Release MT DLL|x86 = Release MT DLL|x86 - Release MT|x64 = Release MT|x64 - Release MT|x86 = Release MT|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - RelWithDebInfo|x64 = RelWithDebInfo|x64 - RelWithDebInfo|x86 = RelWithDebInfo|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {88A23124-5640-35A0-B890-311D7A67A7D2}.DBG|x64.ActiveCfg = Debug MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.DBG|x64.Build.0 = Debug MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.DBG|x86.ActiveCfg = Debug MT|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.DBG|x86.Build.0 = Debug MT|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|x64.ActiveCfg = Debug Kernel|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|x64.Build.0 = Debug Kernel|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|x64.Deploy.0 = Debug Kernel|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|x86.ActiveCfg = Debug Kernel|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|x86.Build.0 = Debug Kernel|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|x86.Deploy.0 = Debug Kernel|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|x64.ActiveCfg = Debug MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|x64.Build.0 = Debug MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|x86.ActiveCfg = Debug MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|x86.Build.0 = Debug MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|x64.ActiveCfg = Debug MD|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|x64.Build.0 = Debug MD|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|x86.ActiveCfg = Debug MD|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|x86.Build.0 = Debug MD|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|x64.ActiveCfg = Debug MT DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|x64.Build.0 = Debug MT DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|x86.ActiveCfg = Debug MT DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|x86.Build.0 = Debug MT DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|x64.ActiveCfg = Debug MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|x64.Build.0 = Debug MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|x86.ActiveCfg = Debug MT|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|x86.Build.0 = Debug MT|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x64.ActiveCfg = Debug MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x64.Build.0 = Debug MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x86.ActiveCfg = Debug MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x86.Build.0 = Debug MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.MinSizeRel|x64.ActiveCfg = Debug MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.MinSizeRel|x64.Build.0 = Debug MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.MinSizeRel|x86.ActiveCfg = Debug MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.MinSizeRel|x86.Build.0 = Debug MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|x64.ActiveCfg = Release Kernel|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|x64.Build.0 = Release Kernel|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|x64.Deploy.0 = Release Kernel|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|x86.ActiveCfg = Release Kernel|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|x86.Build.0 = Release Kernel|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|x86.Deploy.0 = Release Kernel|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|x64.ActiveCfg = Release MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|x64.Build.0 = Release MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|x86.ActiveCfg = Release MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|x86.Build.0 = Release MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|x64.ActiveCfg = Release MD|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|x64.Build.0 = Release MD|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|x86.ActiveCfg = Release MD|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|x86.Build.0 = Release MD|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|x64.ActiveCfg = Release MT DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|x64.Build.0 = Release MT DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|x86.ActiveCfg = Release MT DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|x86.Build.0 = Release MT DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|x64.ActiveCfg = Release MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|x64.Build.0 = Release MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|x86.ActiveCfg = Release MT|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|x86.Build.0 = Release MT|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release|x64.ActiveCfg = Release MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release|x64.Build.0 = Release MT|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release|x86.ActiveCfg = Release MT DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.Release|x86.Build.0 = Release MT DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.RelWithDebInfo|x64.ActiveCfg = Release MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.RelWithDebInfo|x64.Build.0 = Release MD DLL|x64 - {88A23124-5640-35A0-B890-311D7A67A7D2}.RelWithDebInfo|x86.ActiveCfg = Release MD DLL|Win32 - {88A23124-5640-35A0-B890-311D7A67A7D2}.RelWithDebInfo|x86.Build.0 = Release MD DLL|Win32 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.DBG|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.DBG|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.DBG|x86.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug Kernel|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug Kernel|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug Kernel|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug Kernel|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD DLL|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD DLL|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD DLL|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD DLL|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT DLL|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT DLL|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT DLL|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT DLL|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug|x64.ActiveCfg = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug|x64.Build.0 = DBG|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.MinSizeRel|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.MinSizeRel|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.MinSizeRel|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.MinSizeRel|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release Kernel|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release Kernel|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release Kernel|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release Kernel|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD DLL|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD DLL|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD DLL|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD DLL|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MD|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT DLL|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT DLL|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT DLL|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT DLL|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release MT|x86.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.Release|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.RelWithDebInfo|x64.Build.0 = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.RelWithDebInfo|x86.ActiveCfg = Release|x64 - {D0B6092A-9944-4F24-9486-4B7DAE372619}.RelWithDebInfo|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.DBG|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.DBG|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.DBG|x86.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.DBG|x86.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug Kernel|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug Kernel|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug Kernel|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD DLL|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD DLL|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD DLL|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT DLL|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT DLL|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT DLL|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug|x64.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug|x64.Build.0 = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug|x86.ActiveCfg = Debug|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.MinSizeRel|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.MinSizeRel|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.MinSizeRel|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.MinSizeRel|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release Kernel|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release Kernel|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release Kernel|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release Kernel|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD DLL|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD DLL|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD DLL|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD DLL|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT DLL|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT DLL|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT DLL|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT DLL|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT|x86.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.RelWithDebInfo|x64.Build.0 = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.RelWithDebInfo|x86.ActiveCfg = Release|x64 - {F0D51879-E659-4BD3-B688-7864DB3C82AA}.RelWithDebInfo|x86.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.DBG|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.DBG|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.DBG|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.DBG|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug Kernel|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug Kernel|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug Kernel|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD DLL|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD DLL|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD DLL|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MD|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT DLL|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT DLL|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT DLL|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug MT|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Debug|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.MinSizeRel|x64.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.MinSizeRel|x64.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.MinSizeRel|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.MinSizeRel|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release Kernel|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release Kernel|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release Kernel|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release Kernel|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD DLL|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD DLL|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD DLL|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD DLL|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MD|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT DLL|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT DLL|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT DLL|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT DLL|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release MT|x86.Build.0 = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.Release|x86.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.RelWithDebInfo|x64.Build.0 = Release|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.RelWithDebInfo|x86.ActiveCfg = Debug|x64 - {8163E74C-DDE4-4507-BD3D-064CD95FF33B}.RelWithDebInfo|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.DBG|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.DBG|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.DBG|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.DBG|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug Kernel|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug Kernel|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug Kernel|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD DLL|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD DLL|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD DLL|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MD|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT DLL|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT DLL|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT DLL|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug MT|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Debug|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.MinSizeRel|x64.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.MinSizeRel|x64.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.MinSizeRel|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.MinSizeRel|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release Kernel|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release Kernel|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release Kernel|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release Kernel|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD DLL|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD DLL|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD DLL|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD DLL|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MD|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT DLL|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT DLL|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT DLL|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT DLL|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release MT|x86.Build.0 = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.Release|x86.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.RelWithDebInfo|x64.Build.0 = Release|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.RelWithDebInfo|x86.ActiveCfg = Debug|x64 - {A79E2869-7626-4801-B09D-5C12F5163BA3}.RelWithDebInfo|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.DBG|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.DBG|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.DBG|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.DBG|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug Kernel|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug Kernel|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug Kernel|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD DLL|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD DLL|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD DLL|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MD|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT DLL|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT DLL|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT DLL|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug MT|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Debug|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.MinSizeRel|x64.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.MinSizeRel|x64.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.MinSizeRel|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.MinSizeRel|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release Kernel|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release Kernel|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release Kernel|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release Kernel|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD DLL|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD DLL|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD DLL|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD DLL|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MD|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT DLL|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT DLL|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT DLL|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT DLL|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release MT|x86.Build.0 = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.Release|x86.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.RelWithDebInfo|x64.Build.0 = Release|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.RelWithDebInfo|x86.ActiveCfg = Debug|x64 - {EC6B8F7F-730C-4086-B143-4664CC16DF8F}.RelWithDebInfo|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.DBG|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.DBG|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.DBG|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.DBG|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug Kernel|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug Kernel|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug Kernel|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD DLL|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD DLL|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD DLL|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MD|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT DLL|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT DLL|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT DLL|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug MT|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Debug|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.MinSizeRel|x64.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.MinSizeRel|x64.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.MinSizeRel|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.MinSizeRel|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release Kernel|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release Kernel|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release Kernel|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release Kernel|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD DLL|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD DLL|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD DLL|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD DLL|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MD|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT DLL|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT DLL|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT DLL|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT DLL|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release MT|x86.Build.0 = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.Release|x86.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.RelWithDebInfo|x64.Build.0 = Release|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.RelWithDebInfo|x86.ActiveCfg = Debug|x64 - {F960486B-2DB4-44AF-91BB-0F19F228ABCF}.RelWithDebInfo|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.DBG|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.DBG|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.DBG|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.DBG|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug Kernel|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug Kernel|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug Kernel|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD DLL|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD DLL|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD DLL|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MD|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT DLL|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT DLL|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT DLL|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug MT|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Debug|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.MinSizeRel|x64.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.MinSizeRel|x64.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.MinSizeRel|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.MinSizeRel|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release Kernel|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release Kernel|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release Kernel|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release Kernel|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD DLL|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD DLL|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD DLL|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD DLL|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MD|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT DLL|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT DLL|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT DLL|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT DLL|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release MT|x86.Build.0 = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.Release|x86.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.RelWithDebInfo|x64.ActiveCfg = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.RelWithDebInfo|x64.Build.0 = Release|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.RelWithDebInfo|x86.ActiveCfg = Debug|x64 - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31}.RelWithDebInfo|x86.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.DBG|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.DBG|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.DBG|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.DBG|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug Kernel|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug Kernel|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug Kernel|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD DLL|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD DLL|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MD|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT DLL|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT DLL|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug MT|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug|x64.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug|x64.Build.0 = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Debug|x86.ActiveCfg = Debug|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release Kernel|x64.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release Kernel|x64.Build.0 = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release Kernel|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release Kernel|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD DLL|x64.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD DLL|x64.Build.0 = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD DLL|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD|x64.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD|x64.Build.0 = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MD|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT DLL|x64.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT DLL|x64.Build.0 = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT DLL|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT|x64.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT|x64.Build.0 = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT|x86.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release MT|x86.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release|x64.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release|x64.Build.0 = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.Release|x86.ActiveCfg = Release|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {E4754E3E-2503-307A-8076-8AC2AD8B75B2}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.DBG|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.DBG|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.DBG|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.DBG|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug Kernel|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug Kernel|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug Kernel|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug Kernel|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD DLL|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD DLL|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD DLL|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MD|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT DLL|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT DLL|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT DLL|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug MT|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug|x64.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug|x64.Build.0 = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Debug|x86.ActiveCfg = Debug|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release Kernel|x64.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release Kernel|x64.Build.0 = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release Kernel|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release Kernel|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD DLL|x64.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD DLL|x64.Build.0 = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD DLL|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD|x64.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD|x64.Build.0 = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MD|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT DLL|x64.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT DLL|x64.Build.0 = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT DLL|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT DLL|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT|x64.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT|x64.Build.0 = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT|x86.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release MT|x86.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release|x64.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release|x64.Build.0 = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.Release|x86.ActiveCfg = Release|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {A0471FDD-F210-3D7E-B4EA-20543BC10911}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {88A23124-5640-35A0-B890-311D7A67A7D2} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {D0B6092A-9944-4F24-9486-4B7DAE372619} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {8163E74C-DDE4-4507-BD3D-064CD95FF33B} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {A79E2869-7626-4801-B09D-5C12F5163BA3} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {EC6B8F7F-730C-4086-B143-4664CC16DF8F} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {F960486B-2DB4-44AF-91BB-0F19F228ABCF} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {FE3202CE-D05C-4E04-AE9B-D30305D8CE31} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {E4754E3E-2503-307A-8076-8AC2AD8B75B2} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - {A0471FDD-F210-3D7E-B4EA-20543BC10911} = {7EE14D03-ED3D-4FA2-8974-8A285C974E3D} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {9D649C1A-9B35-44E4-BDBD-47FBE15E06DD} - EndGlobalSection -EndGlobal diff --git a/vmemu.vcxproj b/vmemu.vcxproj deleted file mode 100644 index 2ac3cac..0000000 --- a/vmemu.vcxproj +++ /dev/null @@ -1,181 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {a79e2869-7626-4801-b09d-5c12f5163ba3} - - - {ec6b8f7f-730c-4086-b143-4664cc16df8f} - - - {f960486b-2db4-44af-91bb-0f19f228abcf} - - - {fe3202ce-d05c-4e04-ae9b-d30305d8ce31} - - - {8163e74c-dde4-4507-bd3d-064cd95ff33b} - - - {88a23124-5640-35a0-b890-311d7a67a7d2} - - - {d0b6092a-9944-4f24-9486-4b7dae372619} - - - - 16.0 - Win32Proj - {f0d51879-e659-4bd3-b688-7864db3c82aa} - vmemu - 10.0 - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - true - $(ProjectDir)dependencies\unicorn\include\;$(ProjectDir)dependencies\xtils\;$(ProjectDir)dependencies\vmprofiler\include\;$(ProjectDir)dependencies\cli-parser\;$(ProjectDir)dependencies\vmprofiler\dependencies\zydis\include;$(ProjectDir)dependencies\vmprofiler\dependencies\zydis\dependencies\zycore\include;$(ProjectDir)dependencies\vmprofiler\dependencies\zydis\msvc;$(IncludePath) - - - false - $(ProjectDir)dependencies\unicorn\include\;$(ProjectDir)dependencies\xtils\;$(ProjectDir)dependencies\vmprofiler\include\;$(ProjectDir)dependencies\cli-parser\;$(ProjectDir)dependencies\vmprofiler\dependencies\zydis\include;$(ProjectDir)dependencies\vmprofiler\dependencies\zydis\dependencies\zycore\include;$(ProjectDir)dependencies\vmprofiler\dependencies\zydis\msvc;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\VTIL\includes\;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\VTIL-Architecture\includes\;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\VTIL-Common\includes\;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\VTIL-Compiler\includes\;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\VTIL-SymEx\includes\;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\dependencies\capstone\include;$(ProjectDir)dependencies\vmprofiler\dependencies\vtil\dependencies\keystone\include;$(IncludePath) - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;ZYDIS_STATIC_DEFINE - true - stdcpp17 - - - Console - true - $(ProjectDir)dependencies\unicorn\msvc\x64\Debug\*.lib;%(AdditionalDependencies) - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;ZYDIS_STATIC_DEFINE - true - Disabled - stdcpplatest - - - Console - true - true - true - $(ProjectDir)dependencies\unicorn\msvc\x64\Release\*.lib;%(AdditionalDependencies) - 4194304 - 4194304 - - - - - - \ No newline at end of file diff --git a/vmemu.vcxproj.filters b/vmemu.vcxproj.filters deleted file mode 100644 index bade4e8..0000000 --- a/vmemu.vcxproj.filters +++ /dev/null @@ -1,230 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {0e65ecf2-7cf9-449e-ac20-f6f27fa629c0} - - - {259313a0-e773-46e6-9960-61605385a4ac} - - - {08d401b5-5aae-4d6a-a074-a4777c64db3c} - - - {9daf9cd5-9ffb-44d5-9bc4-18d289129a5e} - - - {b36cf687-0a35-4dcc-8593-e6f065702197} - - - {f99ac6e7-b1d9-4877-a45b-12e422ea2003} - - - {dbddce53-e0ac-4b58-b5c9-3e3325ef5d43} - - - {19233bd7-fbee-4047-aedc-e2352cd634cb} - - - {084b3477-86b1-4088-82a3-d67a0d5f017d} - - - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files\Zydis\Internal - - - Header Files\Zydis\Internal - - - Header Files\Zydis\Internal - - - Header Files\Zydis\Internal - - - Header Files\Zydis\Internal - - - Header Files\Zydis\Internal - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zydis - - - Header Files\Zycore\API - - - Header Files\Zycore\API - - - Header Files\Zycore\API - - - Header Files\Zycore\API - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\Zycore - - - Header Files\unicorn - - - Header Files\unicorn - - - Header Files\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\unicorn\unicorn - - - Header Files\xtils - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files - - - Header Files - - - \ No newline at end of file