From 83b454d5c98f557e8bacb67ff91b1d99692a4bda Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Thu, 3 Jun 2021 00:52:51 -0700 Subject: [PATCH] cleaned code --- dependencies/vmprofiler | 2 +- src/main.cpp | 6 + src/vmemu.vcxproj | 167 --------------------------- src/vmemu.vcxproj.filters | 236 -------------------------------------- src/vmptest.vmp.exe | Bin 22016 -> 0 bytes src/vmptest4.vmp.exe | Bin 19968 -> 0 bytes vmemu.sln | 103 +++++++++-------- vmemu.vcxproj | 164 ++++++++++++++++++++++++++ vmemu.vcxproj.filters | 230 +++++++++++++++++++++++++++++++++++++ 9 files changed, 453 insertions(+), 455 deletions(-) delete mode 100644 src/vmemu.vcxproj delete mode 100644 src/vmemu.vcxproj.filters delete mode 100644 src/vmptest.vmp.exe delete mode 100644 src/vmptest4.vmp.exe create mode 100644 vmemu.vcxproj create mode 100644 vmemu.vcxproj.filters diff --git a/dependencies/vmprofiler b/dependencies/vmprofiler index 75ac254..eb64f5d 160000 --- a/dependencies/vmprofiler +++ b/dependencies/vmprofiler @@ -1 +1 @@ -Subproject commit 75ac25445644c4a6dbc1c9995bc3e571a5e1ceca +Subproject commit eb64f5d2c28a0296d2061de7fb4eb8eff3201529 diff --git a/src/main.cpp b/src/main.cpp index 7ea2e6b..dcd5439 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -42,6 +42,12 @@ int __cdecl main( int argc, const char *argv[] ) std::printf( "> image base = %p, image size = %p, module base = %p\n", image_base, image_size, module_base ); + if (!image_base || !image_size || !module_base) + { + std::printf( "[!] failed to open binary on disk...\n" ); + return -1; + } + std::vector< vm::instrs::code_block_t > code_blocks; vm::ctx_t vmctx( module_base, image_base, image_size, vm_entry_rva ); diff --git a/src/vmemu.vcxproj b/src/vmemu.vcxproj deleted file mode 100644 index 2ae7137..0000000 --- a/src/vmemu.vcxproj +++ /dev/null @@ -1,167 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {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;$(IncludePath) - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;ZYDIS_STATIC_DEFINE - true - stdcpp17 - - - Console - true - $(ProjectDir)..\dependencies\unicorn\msvc\x64\Debug\*.lib - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;ZYDIS_STATIC_DEFINE - true - Disabled - stdcpp17 - - - Console - true - true - true - $(ProjectDir)..\dependencies\unicorn\msvc\x64\Release\*.lib - - - - - - \ No newline at end of file diff --git a/src/vmemu.vcxproj.filters b/src/vmemu.vcxproj.filters deleted file mode 100644 index 9bc4ecc..0000000 --- a/src/vmemu.vcxproj.filters +++ /dev/null @@ -1,236 +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 - - - {77de32f4-945a-4e10-8c7e-8d4fc0f18281} - - - {998a8467-37d9-4471-ab40-0d509dc3dbfa} - - - {adfe78f3-ec5d-425e-8b1b-dd17dfd57c84} - - - {1eda3b7d-2ed2-4040-9c91-b58057d77405} - - - {5c809a64-905a-4ee0-8865-368e7ec18a57} - - - {bf1dc79d-ada8-4111-9437-aae281640bca} - - - {64b33419-584c-44cb-9715-1223ce9e8233} - - - {0be483e2-0fd8-460b-a528-418d29f63b25} - - - - - Source Files - - - Source Files - - - - - Header Files - - - 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\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\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - Header Files\Zydis\Generated - - - 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 - - - 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\vmprofiler - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files\vmprofiler - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/src/vmptest.vmp.exe b/src/vmptest.vmp.exe deleted file mode 100644 index 4b36e4f5e4cf58bc6fb9ef5bcaafe11a19ad3842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 diff --git a/src/vmptest4.vmp.exe b/src/vmptest4.vmp.exe deleted file mode 100644 index ced5901a755052852adaebe7aa4127cd45d8ff77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19968 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 diff --git a/vmemu.sln b/vmemu.sln index 2f62ea5..25ee306 100644 --- a/vmemu.sln +++ b/vmemu.sln @@ -3,12 +3,12 @@ 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}") = "vmemu", "src\vmemu.vcxproj", "{F0D51879-E659-4BD3-B688-7864DB3C82AA}" -EndProject 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 Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DBG|x64 = DBG|x64 @@ -39,55 +39,6 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {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}.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}.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 {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 @@ -194,6 +145,56 @@ Global {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 + {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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug Kernel|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD DLL|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MD|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT DLL|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Debug MT|x86.Build.0 = Debug|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}.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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release Kernel|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD DLL|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MD|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT DLL|x86.Build.0 = Debug|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 = Debug|x64 + {F0D51879-E659-4BD3-B688-7864DB3C82AA}.Release MT|x86.Build.0 = Debug|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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/vmemu.vcxproj b/vmemu.vcxproj new file mode 100644 index 0000000..bda4416 --- /dev/null +++ b/vmemu.vcxproj @@ -0,0 +1,164 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {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;$(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 + stdcpp17 + + + Console + true + true + true + $(ProjectDir)dependencies\unicorn\msvc\x64\Release\*.lib;%(AdditionalDependencies) + + + + + + \ No newline at end of file diff --git a/vmemu.vcxproj.filters b/vmemu.vcxproj.filters new file mode 100644 index 0000000..bade4e8 --- /dev/null +++ b/vmemu.vcxproj.filters @@ -0,0 +1,230 @@ + + + + + {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