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"]
|
||||
path = capstone_wrapper
|
||||
url = https://github.com/x64dbg/capstone_wrapper.git
|
||||
[submodule "GleeBug/zyan-disassembler-engine"]
|
||||
path = GleeBug/zyan-disassembler-engine
|
||||
url = https://github.com/zyantific/zyan-disassembler-engine
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#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
|
||||
{
|
||||
Process::Process(HANDLE hProcess, uint32 dwProcessId, uint32 dwMainThreadId, const CREATE_PROCESS_DEBUG_INFO & createProcessInfo) :
|
||||
|
|
@ -21,10 +26,29 @@ namespace GleeBug
|
|||
unsigned char data[16];
|
||||
if (MemReadSafe(gip, data, sizeof(data)))
|
||||
{
|
||||
mCapstone.Disassemble(gip, data);
|
||||
if(mCapstone.GetId() == X86_INS_CALL)
|
||||
ZydisInstructionInfo info;
|
||||
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();
|
||||
}, true, SoftwareType::ShortInt3);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
#include "Debugger.Dll.h"
|
||||
#include "Debugger.Breakpoint.h"
|
||||
#include "Static.Pattern.h"
|
||||
#include <capstone_wrapper/capstone_wrapper.h>
|
||||
|
||||
namespace GleeBug
|
||||
{
|
||||
|
|
@ -411,9 +410,6 @@ namespace GleeBug
|
|||
result = false;
|
||||
return result;
|
||||
}
|
||||
|
||||
private:
|
||||
Capstone mCapstone;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -130,17 +130,21 @@ namespace GleeBug
|
|||
if(!this->mLazyOldContext || !this->mLazyThread) //assert
|
||||
__debugbreak();
|
||||
|
||||
auto oldContext = this->mLazyOldContext;
|
||||
auto lazyThread = this->mLazyThread;
|
||||
|
||||
this->mLazyOldContext = nullptr;
|
||||
this->mLazyThread = nullptr;
|
||||
this->mLazySet = false;
|
||||
|
||||
//TODO: handle failure of GetThreadContext
|
||||
auto result = false;
|
||||
if(GetThreadContext(this->mLazyThread, this->mLazyOldContext))
|
||||
if(GetThreadContext(lazyThread, oldContext))
|
||||
{
|
||||
this->mContext = *this->mLazyOldContext;
|
||||
this->mContext = *oldContext;
|
||||
result = true;
|
||||
}
|
||||
|
||||
this->mLazyOldContext = nullptr;
|
||||
this->mLazyThread = nullptr;
|
||||
this->mLazySet = false;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
|
@ -161,7 +161,7 @@ namespace GleeBug
|
|||
private:
|
||||
CONTEXT mContext;
|
||||
|
||||
CONTEXT* mLazyOldContext = nullptr;
|
||||
LPCONTEXT mLazyOldContext = nullptr;
|
||||
HANDLE mLazyThread = nullptr;
|
||||
bool mLazySet = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
#include "Debugger.Global.h"
|
||||
#include "Debugger.Process.h"
|
||||
#include "Debugger.Breakpoint.h"
|
||||
#include <capstone_wrapper/capstone_wrapper.h>
|
||||
|
||||
namespace GleeBug
|
||||
{
|
||||
|
|
@ -287,7 +286,6 @@ namespace GleeBug
|
|||
bool mDetach = false;
|
||||
bool mDetachAndBreak = false;
|
||||
bool mAttachedToProcess = false;
|
||||
Capstone mCapstone;
|
||||
|
||||
/**
|
||||
\brief The current process (can be null in some cases).
|
||||
|
|
|
|||
|
|
@ -19,6 +19,23 @@
|
|||
#define BIND(thisPtr, funcPtr) std::bind(&funcPtr, thisPtr)
|
||||
#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
|
||||
{
|
||||
typedef int8_t int8;
|
||||
|
|
|
|||
|
|
@ -68,22 +68,22 @@
|
|||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x32\</OutDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
||||
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x64\</OutDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
||||
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x32\</OutDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
||||
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(ProjectDir)..\bin\$(Configuration)\x64\</OutDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<IncludePath>$(ProjectDir)..;$(IncludePath)</IncludePath>
|
||||
<IncludePath>$(ProjectDir)..;$(ProjectDir)zyan-disassembler-engine\include;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
|
|
@ -150,7 +150,6 @@
|
|||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\capstone_wrapper\capstone_wrapper.cpp" />
|
||||
<ClCompile Include="Debugger.cpp" />
|
||||
<ClCompile Include="Debugger.Dll.cpp" />
|
||||
<ClCompile Include="Debugger.Loop.cpp" />
|
||||
|
|
@ -173,9 +172,20 @@
|
|||
<ClCompile Include="Static.File.cpp" />
|
||||
<ClCompile Include="Static.Pattern.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>
|
||||
<ClInclude Include="..\capstone_wrapper\capstone_wrapper.h" />
|
||||
<ClInclude Include="Debugger.Breakpoint.h" />
|
||||
<ClInclude Include="Debugger.Dll.h" />
|
||||
<ClInclude Include="Debugger.Process.h" />
|
||||
|
|
@ -193,6 +203,25 @@
|
|||
<ClInclude Include="Static.Pe.h" />
|
||||
<ClInclude Include="Static.Pe.Section.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>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
|
|
|||
|
|
@ -9,11 +9,14 @@
|
|||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\capstone_wrapper">
|
||||
<UniqueIdentifier>{4215a98e-b5ea-4d74-b38a-b4adaec85570}</UniqueIdentifier>
|
||||
<Filter Include="Source Files\Zydis">
|
||||
<UniqueIdentifier>{087a6721-6324-4dd6-94f3-8cf8ec131db6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\capstone_wrapper">
|
||||
<UniqueIdentifier>{0f772f56-25cc-40aa-85b4-be2140c10d27}</UniqueIdentifier>
|
||||
<Filter Include="Header Files\Zydis">
|
||||
<UniqueIdentifier>{a3b02551-ba19-40b2-a117-90b9f44d3dcd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\Zydis\Internal">
|
||||
<UniqueIdentifier>{2bc2d721-bce0-440e-947e-e74497e76fa6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
@ -80,12 +83,30 @@
|
|||
<ClCompile Include="Static.Pattern.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\capstone_wrapper\capstone_wrapper.cpp">
|
||||
<Filter>Source Files\capstone_wrapper</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GleeBug.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</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>
|
||||
<ClInclude Include="Debugger.h">
|
||||
|
|
@ -139,8 +160,58 @@
|
|||
<ClInclude Include="Static.Pattern.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\capstone_wrapper\capstone_wrapper.h">
|
||||
<Filter>Header Files\capstone_wrapper</Filter>
|
||||
<ClInclude Include="zyan-disassembler-engine\include\Zydis\Internal\InstructionTable.h">
|
||||
<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>
|
||||
</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>
|
||||
|
|
@ -0,0 +1 @@
|
|||
Subproject commit baa1bc243ac9e2b8c0930d6e7bed7065d0e2e5e0
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
</ClCompile>
|
||||
<Link>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
</ClCompile>
|
||||
<Link>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
@ -137,7 +137,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
</ClCompile>
|
||||
<Link>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
</ClCompile>
|
||||
<Link>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
@ -128,7 +128,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
@ -145,7 +145,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<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>
|
||||
</Link>
|
||||
</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