mirror of https://github.com/x64dbg/GleeBug
switch to zyan + various small fixes with lazy registers
This commit is contained in:
parent
14b99382df
commit
75f968fdf0
|
|
@ -1,3 +1,3 @@
|
||||||
[submodule "capstone_wrapper"]
|
[submodule "GleeBug/zyan-disassembler-engine"]
|
||||||
path = capstone_wrapper
|
path = GleeBug/zyan-disassembler-engine
|
||||||
url = https://github.com/x64dbg/capstone_wrapper.git
|
url = https://github.com/zyantific/zyan-disassembler-engine
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
#include "Debugger.Process.h"
|
#include "Debugger.Process.h"
|
||||||
|
|
||||||
|
#define ZYDIS_EXPORTS
|
||||||
|
#define ZYDIS_ENABLE_FEATURE_IMPLICITLY_USED_REGISTERS
|
||||||
|
#define ZYDIS_ENABLE_FEATURE_AFFECTED_FLAGS
|
||||||
|
#include <Zydis/Zydis.h>
|
||||||
|
|
||||||
namespace GleeBug
|
namespace GleeBug
|
||||||
{
|
{
|
||||||
Process::Process(HANDLE hProcess, uint32 dwProcessId, uint32 dwMainThreadId, const CREATE_PROCESS_DEBUG_INFO & createProcessInfo) :
|
Process::Process(HANDLE hProcess, uint32 dwProcessId, uint32 dwMainThreadId, const CREATE_PROCESS_DEBUG_INFO & createProcessInfo) :
|
||||||
|
|
@ -21,10 +26,29 @@ namespace GleeBug
|
||||||
unsigned char data[16];
|
unsigned char data[16];
|
||||||
if (MemReadSafe(gip, data, sizeof(data)))
|
if (MemReadSafe(gip, data, sizeof(data)))
|
||||||
{
|
{
|
||||||
mCapstone.Disassemble(gip, data);
|
ZydisInstructionInfo info;
|
||||||
if(mCapstone.GetId() == X86_INS_CALL)
|
memset(&info, 0, sizeof(info));
|
||||||
|
auto mode = GleeArchValue(ZYDIS_OPERATING_MODE_32BIT, ZYDIS_OPERATING_MODE_64BIT);
|
||||||
|
auto status = ZydisDecode(mode, data, sizeof(data), gip, &info);
|
||||||
|
auto stepOver = false;
|
||||||
|
if(ZYDIS_SUCCESS(status))
|
||||||
{
|
{
|
||||||
SetBreakpoint(gip + mCapstone.Size(), [cbStep](const BreakpointInfo & info)
|
switch(info.mnemonic)
|
||||||
|
{
|
||||||
|
case ZYDIS_MNEMONIC_CALL:
|
||||||
|
case ZYDIS_MNEMONIC_PUSHF:
|
||||||
|
case ZYDIS_MNEMONIC_PUSHFD:
|
||||||
|
case ZYDIS_MNEMONIC_PUSHFQ:
|
||||||
|
stepOver = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
auto repAttributes = ZYDIS_ATTRIB_HAS_REP | ZYDIS_ATTRIB_HAS_REPE | ZYDIS_ATTRIB_HAS_REPZ | ZYDIS_ATTRIB_HAS_REPNE | ZYDIS_ATTRIB_HAS_REPNZ;
|
||||||
|
stepOver = (info.attributes & repAttributes) != 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (stepOver)
|
||||||
|
{
|
||||||
|
SetBreakpoint(gip + info.length, [cbStep](const BreakpointInfo & info)
|
||||||
{
|
{
|
||||||
cbStep();
|
cbStep();
|
||||||
}, true, SoftwareType::ShortInt3);
|
}, true, SoftwareType::ShortInt3);
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
#include "Debugger.Dll.h"
|
#include "Debugger.Dll.h"
|
||||||
#include "Debugger.Breakpoint.h"
|
#include "Debugger.Breakpoint.h"
|
||||||
#include "Static.Pattern.h"
|
#include "Static.Pattern.h"
|
||||||
#include <capstone_wrapper/capstone_wrapper.h>
|
|
||||||
|
|
||||||
namespace GleeBug
|
namespace GleeBug
|
||||||
{
|
{
|
||||||
|
|
@ -411,9 +410,6 @@ namespace GleeBug
|
||||||
result = false;
|
result = false;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
Capstone mCapstone;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,17 +130,21 @@ namespace GleeBug
|
||||||
if(!this->mLazyOldContext || !this->mLazyThread) //assert
|
if(!this->mLazyOldContext || !this->mLazyThread) //assert
|
||||||
__debugbreak();
|
__debugbreak();
|
||||||
|
|
||||||
|
auto oldContext = this->mLazyOldContext;
|
||||||
|
auto lazyThread = this->mLazyThread;
|
||||||
|
|
||||||
|
this->mLazyOldContext = nullptr;
|
||||||
|
this->mLazyThread = nullptr;
|
||||||
|
this->mLazySet = false;
|
||||||
|
|
||||||
//TODO: handle failure of GetThreadContext
|
//TODO: handle failure of GetThreadContext
|
||||||
auto result = false;
|
auto result = false;
|
||||||
if(GetThreadContext(this->mLazyThread, this->mLazyOldContext))
|
if(GetThreadContext(lazyThread, oldContext))
|
||||||
{
|
{
|
||||||
this->mContext = *this->mLazyOldContext;
|
this->mContext = *oldContext;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->mLazyOldContext = nullptr;
|
|
||||||
this->mLazyThread = nullptr;
|
|
||||||
this->mLazySet = false;
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -161,7 +161,7 @@ namespace GleeBug
|
||||||
private:
|
private:
|
||||||
CONTEXT mContext;
|
CONTEXT mContext;
|
||||||
|
|
||||||
CONTEXT* mLazyOldContext = nullptr;
|
LPCONTEXT mLazyOldContext = nullptr;
|
||||||
HANDLE mLazyThread = nullptr;
|
HANDLE mLazyThread = nullptr;
|
||||||
bool mLazySet = false;
|
bool mLazySet = false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
#include "Debugger.Global.h"
|
#include "Debugger.Global.h"
|
||||||
#include "Debugger.Process.h"
|
#include "Debugger.Process.h"
|
||||||
#include "Debugger.Breakpoint.h"
|
#include "Debugger.Breakpoint.h"
|
||||||
#include <capstone_wrapper/capstone_wrapper.h>
|
|
||||||
|
|
||||||
namespace GleeBug
|
namespace GleeBug
|
||||||
{
|
{
|
||||||
|
|
@ -287,7 +286,6 @@ namespace GleeBug
|
||||||
bool mDetach = false;
|
bool mDetach = false;
|
||||||
bool mDetachAndBreak = false;
|
bool mDetachAndBreak = false;
|
||||||
bool mAttachedToProcess = false;
|
bool mAttachedToProcess = false;
|
||||||
Capstone mCapstone;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief The current process (can be null in some cases).
|
\brief The current process (can be null in some cases).
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,23 @@
|
||||||
#define BIND(thisPtr, funcPtr) std::bind(&funcPtr, thisPtr)
|
#define BIND(thisPtr, funcPtr) std::bind(&funcPtr, thisPtr)
|
||||||
#define BIND1(thisPtr, funcPtr) std::bind(&funcPtr, thisPtr, std::placeholders::_1)
|
#define BIND1(thisPtr, funcPtr) std::bind(&funcPtr, thisPtr, std::placeholders::_1)
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define X64DBG_MOD L"x64dbg.dll"
|
||||||
|
#else
|
||||||
|
#define X64DBG_MOD L"x32dbg.dll"
|
||||||
|
#endif //_WIN64
|
||||||
|
|
||||||
|
#define DPRINTF() \
|
||||||
|
static auto dprintf = (int(*)(const char* format, ...))GetProcAddress(GetModuleHandleW(X64DBG_MOD), "_plugin_logprintf"); \
|
||||||
|
if(!dprintf) \
|
||||||
|
dprintf = printf
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define GleeArchValue(x32value, x64value) x64value
|
||||||
|
#else
|
||||||
|
#define GleeArchValue(x32value, x64value) x32value
|
||||||
|
#endif //_WIN64
|
||||||
|
|
||||||
namespace GleeBug
|
namespace GleeBug
|
||||||
{
|
{
|
||||||
typedef int8_t int8;
|
typedef int8_t int8;
|
||||||
|
|
|
||||||
|
|
@ -68,22 +68,22 @@
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x32\</OutDir>
|
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x32\</OutDir>
|
||||||
<TargetExt>.lib</TargetExt>
|
<TargetExt>.lib</TargetExt>
|
||||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x64\</OutDir>
|
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x64\</OutDir>
|
||||||
<TargetExt>.lib</TargetExt>
|
<TargetExt>.lib</TargetExt>
|
||||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x32\</OutDir>
|
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x32\</OutDir>
|
||||||
<TargetExt>.lib</TargetExt>
|
<TargetExt>.lib</TargetExt>
|
||||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x64\</OutDir>
|
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x64\</OutDir>
|
||||||
<TargetExt>.lib</TargetExt>
|
<TargetExt>.lib</TargetExt>
|
||||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
|
|
@ -150,7 +150,6 @@
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\capstone_wrapper\capstone_wrapper.cpp" />
|
|
||||||
<ClCompile Include="Debugger.cpp" />
|
<ClCompile Include="Debugger.cpp" />
|
||||||
<ClCompile Include="Debugger.Dll.cpp" />
|
<ClCompile Include="Debugger.Dll.cpp" />
|
||||||
<ClCompile Include="Debugger.Loop.cpp" />
|
<ClCompile Include="Debugger.Loop.cpp" />
|
||||||
|
|
@ -173,9 +172,20 @@
|
||||||
<ClCompile Include="Static.File.cpp" />
|
<ClCompile Include="Static.File.cpp" />
|
||||||
<ClCompile Include="Static.Pattern.cpp" />
|
<ClCompile Include="Static.Pattern.cpp" />
|
||||||
<ClCompile Include="Static.Pe.cpp" />
|
<ClCompile Include="Static.Pe.cpp" />
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Decoder.c" />
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Formatter.c">
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">_CRT_SECURE_NO_WARNINGS;_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">_CRT_SECURE_NO_WARNINGS;_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">_CRT_SECURE_NO_WARNINGS;_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_CRT_SECURE_NO_WARNINGS;_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\InstructionTable.c" />
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Mnemonic.c" />
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Register.c" />
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Utils.c" />
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Zydis.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\capstone_wrapper\capstone_wrapper.h" />
|
|
||||||
<ClInclude Include="Debugger.Breakpoint.h" />
|
<ClInclude Include="Debugger.Breakpoint.h" />
|
||||||
<ClInclude Include="Debugger.Dll.h" />
|
<ClInclude Include="Debugger.Dll.h" />
|
||||||
<ClInclude Include="Debugger.Process.h" />
|
<ClInclude Include="Debugger.Process.h" />
|
||||||
|
|
@ -193,6 +203,25 @@
|
||||||
<ClInclude Include="Static.Pe.h" />
|
<ClInclude Include="Static.Pe.h" />
|
||||||
<ClInclude Include="Static.Pe.Section.h" />
|
<ClInclude Include="Static.Pe.Section.h" />
|
||||||
<ClInclude Include="Static.Region.h" />
|
<ClInclude Include="Static.Region.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Decoder.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Defines.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Formatter.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\InstructionInfo.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionTable.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Mnemonic.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Register.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Status.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Types.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Utils.h" />
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Zydis.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\GeneratedTypes.inc" />
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionDefinitions.inc" />
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionFilters.inc" />
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\MnemonicDefines.inc" />
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\MnemonicStrings.inc" />
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\OperandDefinitions.inc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,14 @@
|
||||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Header Files\capstone_wrapper">
|
<Filter Include="Source Files\Zydis">
|
||||||
<UniqueIdentifier>{4215a98e-b5ea-4d74-b38a-b4adaec85570}</UniqueIdentifier>
|
<UniqueIdentifier>{087a6721-6324-4dd6-94f3-8cf8ec131db6}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\capstone_wrapper">
|
<Filter Include="Header Files\Zydis">
|
||||||
<UniqueIdentifier>{0f772f56-25cc-40aa-85b4-be2140c10d27}</UniqueIdentifier>
|
<UniqueIdentifier>{a3b02551-ba19-40b2-a117-90b9f44d3dcd}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files\Zydis\Internal">
|
||||||
|
<UniqueIdentifier>{2bc2d721-bce0-440e-947e-e74497e76fa6}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
@ -80,12 +83,30 @@
|
||||||
<ClCompile Include="Static.Pattern.cpp">
|
<ClCompile Include="Static.Pattern.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\capstone_wrapper\capstone_wrapper.cpp">
|
|
||||||
<Filter>Source Files\capstone_wrapper</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GleeBug.cpp">
|
<ClCompile Include="GleeBug.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Decoder.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Formatter.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\InstructionTable.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Mnemonic.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Register.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Utils.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="zyan-disassembler-engine\src\Zydis.c">
|
||||||
|
<Filter>Source Files\Zydis</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Debugger.h">
|
<ClInclude Include="Debugger.h">
|
||||||
|
|
@ -139,8 +160,58 @@
|
||||||
<ClInclude Include="Static.Pattern.h">
|
<ClInclude Include="Static.Pattern.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\capstone_wrapper\capstone_wrapper.h">
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionTable.h">
|
||||||
<Filter>Header Files\capstone_wrapper</Filter>
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Decoder.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Defines.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Formatter.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\InstructionInfo.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Mnemonic.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Register.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Status.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Types.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Utils.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Zydis.h">
|
||||||
|
<Filter>Header Files\Zydis</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\GeneratedTypes.inc">
|
||||||
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionDefinitions.inc">
|
||||||
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionFilters.inc">
|
||||||
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\MnemonicDefines.inc">
|
||||||
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\MnemonicStrings.inc">
|
||||||
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="zyan-disassembler-engine\include\Zydis\Internal\OperandDefinitions.inc">
|
||||||
|
<Filter>Header Files\Zydis\Internal</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit baa1bc243ac9e2b8c0930d6e7bed7065d0e2e5e0
|
||||||
|
|
@ -90,7 +90,7 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
@ -120,7 +120,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
@ -137,7 +137,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x86.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
@ -111,7 +111,7 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
@ -128,7 +128,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x86.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x32\GleeBug.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
@ -145,7 +145,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;$(SolutionDir)capstone_wrapper\capstone\capstone_x64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)bin\$(Configuration)\x64\GleeBug.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
#ifndef ZYDIS_EXPORT_H
|
||||||
|
#define ZYDIS_EXPORT_H
|
||||||
|
|
||||||
|
#ifdef ZYDIS_STATIC_DEFINE
|
||||||
|
# define ZYDIS_EXPORT
|
||||||
|
# define ZYDIS_NO_EXPORT
|
||||||
|
#else
|
||||||
|
# ifndef ZYDIS_EXPORT
|
||||||
|
# ifdef Zydis_EXPORTS
|
||||||
|
/* We are building this library */
|
||||||
|
# define ZYDIS_EXPORT
|
||||||
|
# else
|
||||||
|
/* We are using this library */
|
||||||
|
# define ZYDIS_EXPORT
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef ZYDIS_NO_EXPORT
|
||||||
|
# define ZYDIS_NO_EXPORT
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DEPRECATED
|
||||||
|
# define ZYDIS_DEPRECATED __declspec(deprecated)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DEPRECATED_EXPORT
|
||||||
|
# define ZYDIS_DEPRECATED_EXPORT ZYDIS_EXPORT ZYDIS_DEPRECATED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DEPRECATED_NO_EXPORT
|
||||||
|
# define ZYDIS_DEPRECATED_NO_EXPORT ZYDIS_NO_EXPORT ZYDIS_DEPRECATED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0 /* DEFINE_NO_DEPRECATED */
|
||||||
|
# ifndef ZYDIS_NO_DEPRECATED
|
||||||
|
# define ZYDIS_NO_DEPRECATED
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 2034d2a0151866ae56fa51171788217d59c47a7b
|
|
||||||
Loading…
Reference in New Issue