diff --git a/.gitmodules b/.gitmodules index 377203e..1604d76 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "dependencies/unicorn"] path = dependencies/unicorn url = https://github.com/unicorn-engine/unicorn.git +[submodule "dependencies/cli-parser"] + path = dependencies/cli-parser + url = https://githacks.org/_xeroxz/cli-parser.git diff --git a/dependencies/cli-parser b/dependencies/cli-parser new file mode 160000 index 0000000..1aedaf8 --- /dev/null +++ b/dependencies/cli-parser @@ -0,0 +1 @@ +Subproject commit 1aedaf8bb7f383f54b7cd498767611535526da85 diff --git a/src/vmemu.vcxproj b/src/vmemu.vcxproj index 0281fc4..7282200 100644 --- a/src/vmemu.vcxproj +++ b/src/vmemu.vcxproj @@ -15,6 +15,7 @@ + @@ -26,8 +27,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {d0b6092a-9944-4f24-9486-4b7dae372619} + + 16.0 Win32Proj @@ -66,6 +122,7 @@ 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) @@ -85,14 +142,17 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true + Disabled + stdcpp17 Console true true true + $(ProjectDir)..\dependencies\unicorn\msvc\x64\Release\*.lib;%(AdditionalDependencies) diff --git a/src/vmemu.vcxproj.filters b/src/vmemu.vcxproj.filters index 944c52e..2f1536f 100644 --- a/src/vmemu.vcxproj.filters +++ b/src/vmemu.vcxproj.filters @@ -30,6 +30,9 @@ {64b33419-584c-44cb-9715-1223ce9e8233} + + {0be483e2-0fd8-460b-a528-418d29f63b25} + @@ -76,5 +79,158 @@ 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/vmemu.sln b/vmemu.sln index 17b4762..341a48f 100644 --- a/vmemu.sln +++ b/vmemu.sln @@ -5,16 +5,183 @@ 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}") = "vmprofiler", "dependencies\vmprofiler\src\vmprofiler.vcxproj", "{D0B6092A-9944-4F24-9486-4B7DAE372619}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Zydis", "dependencies\vmprofiler\dependencies\zydis\msvc\zydis\Zydis.vcxproj", "{88A23124-5640-35A0-B890-311D7A67A7D2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + 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 + 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 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {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 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug Kernel|x64.ActiveCfg = Release|x64 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug Kernel|x64.Build.0 = Release|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 = Release|x64 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD DLL|x64.Build.0 = Release|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 = Release|x64 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MD|x64.Build.0 = Release|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 = Release|x64 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT DLL|x64.Build.0 = Release|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 = Release|x64 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug MT|x64.Build.0 = Release|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 = Release|x64 + {D0B6092A-9944-4F24-9486-4B7DAE372619}.Debug|x64.Build.0 = Release|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}.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 + {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|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x64.Build.0 = Debug MD|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x86.ActiveCfg = Debug MD|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug|x86.Build.0 = Debug MD|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 MD DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release|x64.Build.0 = Release MD DLL|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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE