diff --git a/dependencies/vmprofiler b/dependencies/vmprofiler
index 90d0c06..9befa18 160000
--- a/dependencies/vmprofiler
+++ b/dependencies/vmprofiler
@@ -1 +1 @@
-Subproject commit 90d0c0642656f86d3ec3f9736d09b8558d0f930c
+Subproject commit 9befa18eaaa76e3949a58da06570121634e99159
diff --git a/src/QVMProfiler.cpp b/src/QVMProfiler.cpp
index 49e2a04..02efe37 100644
--- a/src/QVMProfiler.cpp
+++ b/src/QVMProfiler.cpp
@@ -310,11 +310,10 @@ void QVMProfiler::on_VirtualInstructionTree_itemSelectionChanged()
{
auto newEntry = new QTreeWidgetItem();
newEntry->setText(0, QString::number(
- (InstrVec->at(idx).addr - TraceFileHeader->module_base) + ImageBase, 16));
+ (InstrVec->at(idx).addr - ModuleBase) + ImageBase, 16));
ZydisFormatterFormatInstruction(&formatter, &InstrVec->at(idx).instr,
- buffer, sizeof(buffer), (InstrVec->at(idx).addr -
- TraceFileHeader->module_base) + ImageBase);
+ buffer, sizeof(buffer), (InstrVec->at(idx).addr - ModuleBase) + ImageBase);
newEntry->setText(1, buffer);
ui.VMHandlerInstructionsTree->addTopLevelItem(newEntry);
@@ -325,6 +324,10 @@ void QVMProfiler::on_VirtualInstructionTree_itemSelectionChanged()
for (auto [TransformType, TransformInstr] : *HandlerTransforms)
{
+ if (TransformType == vm::transform::type::generic0 &&
+ TransformInstr.mnemonic == ZYDIS_MNEMONIC_INVALID)
+ continue;
+
auto newEntry = new QTreeWidgetItem();
switch (TransformType)
{
@@ -333,6 +336,7 @@ void QVMProfiler::on_VirtualInstructionTree_itemSelectionChanged()
newEntry->setText(0, "Key Transform");
break;
}
+ case vm::transform::type::generic0:
case vm::transform::type::generic1:
case vm::transform::type::generic2:
case vm::transform::type::generic3:
diff --git a/src/vmprofiler-qt.vcxproj b/src/vmprofiler-qt.vcxproj
index 9d88cc8..4fcb51d 100644
--- a/src/vmprofiler-qt.vcxproj
+++ b/src/vmprofiler-qt.vcxproj
@@ -55,19 +55,24 @@
- $(VC_IncludePath);$(WindowsSDK_IncludePath);;$(ProjectDir)..\dependencies\vmprofiler\include
+ G:\Qt\5.15.1\msvc2019_64\include;$(ProjectDir);$(ProjectDir)DarkStyle\framelesswindow\;$(ProjectDir)DarkStyle;$(IncludePath);$(ProjectDir)..\dependencies\vmprofiler\include;$(ProjectDir)..\dependencies\vmprofiler\dependencies\zydis\include;$(ProjectDir)..\dependencies\vmprofiler\dependencies\zydis\dependencies\zycore\include;$(ProjectDir)..\dependencies\vmprofiler\dependencies\zydis\msvc
G:\Qt\5.15.1\msvc2019_64\include;$(ProjectDir);$(ProjectDir)DarkStyle\framelesswindow\;$(ProjectDir)DarkStyle;$(IncludePath);$(ProjectDir)..\dependencies\vmprofiler\include;$(ProjectDir)..\dependencies\vmprofiler\dependencies\zydis\include;$(ProjectDir)..\dependencies\vmprofiler\dependencies\zydis\dependencies\zycore\include;$(ProjectDir)..\dependencies\vmprofiler\dependencies\zydis\msvc
- stdcpplatest
+ stdcpp17
$(ProjectDir)..\libs\*;%(AdditionalDependencies)
+
+
+ stdcpp17
+
+
true
diff --git a/vmprofiler-qt.sln b/vmprofiler-qt.sln
index f0d2da2..72529a1 100644
--- a/vmprofiler-qt.sln
+++ b/vmprofiler-qt.sln
@@ -11,6 +11,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmprofiler", "dependencies\
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
@@ -37,6 +39,10 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A0485AE3-1965-4BE3-A2C4-A8257337C271}.DBG|x64.ActiveCfg = Debug|x64
+ {A0485AE3-1965-4BE3-A2C4-A8257337C271}.DBG|x64.Build.0 = Debug|x64
+ {A0485AE3-1965-4BE3-A2C4-A8257337C271}.DBG|x86.ActiveCfg = Release|x64
+ {A0485AE3-1965-4BE3-A2C4-A8257337C271}.DBG|x86.Build.0 = Release|x64
{A0485AE3-1965-4BE3-A2C4-A8257337C271}.Debug Kernel|x64.ActiveCfg = Debug|x64
{A0485AE3-1965-4BE3-A2C4-A8257337C271}.Debug Kernel|x64.Build.0 = Debug|x64
{A0485AE3-1965-4BE3-A2C4-A8257337C271}.Debug Kernel|x86.ActiveCfg = Release|x64
@@ -83,6 +89,10 @@ Global
{A0485AE3-1965-4BE3-A2C4-A8257337C271}.Release|x64.ActiveCfg = Release|x64
{A0485AE3-1965-4BE3-A2C4-A8257337C271}.Release|x64.Build.0 = Release|x64
{A0485AE3-1965-4BE3-A2C4-A8257337C271}.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
+ {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
@@ -135,12 +145,15 @@ Global
{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
+ {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 = 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|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 = Release|x64