GUI: better handling of xbegin tokenizing
This commit is contained in:
parent
6bc16f8bac
commit
d13b2eefe1
|
@ -764,7 +764,7 @@ extern "C" DLL_EXPORT duint _dbg_getbranchdestination(duint addr)
|
||||||
Zydis cp;
|
Zydis cp;
|
||||||
if(!cp.Disassemble(addr, data))
|
if(!cp.Disassemble(addr, data))
|
||||||
return 0;
|
return 0;
|
||||||
if(cp.IsBranchType(Zydis::BTJmp | Zydis::BTCall | Zydis::BTLoop))
|
if(cp.IsBranchType(Zydis::BTJmp | Zydis::BTCall | Zydis::BTLoop | Zydis::BTXbegin))
|
||||||
{
|
{
|
||||||
auto opValue = cp.ResolveOpValue(0, [](ZydisRegister reg) -> size_t
|
auto opValue = cp.ResolveOpValue(0, [](ZydisRegister reg) -> size_t
|
||||||
{
|
{
|
||||||
|
|
|
@ -200,7 +200,7 @@ Instruction_t QBeaEngine::DisassembleAt(byte_t* data, duint size, duint origBase
|
||||||
|
|
||||||
auto branchType = Instruction_t::None;
|
auto branchType = Instruction_t::None;
|
||||||
Instruction_t wInst;
|
Instruction_t wInst;
|
||||||
if(success && cp.IsBranchType(Zydis::BTJmp | Zydis::BTCall | Zydis::BTRet | Zydis::BTLoop))
|
if(success && cp.IsBranchType(Zydis::BTJmp | Zydis::BTCall | Zydis::BTRet | Zydis::BTLoop | Zydis::BTXbegin))
|
||||||
{
|
{
|
||||||
wInst.branchDestination = DbgGetBranchDestination(origBase + origInstRVA);
|
wInst.branchDestination = DbgGetBranchDestination(origBase + origInstRVA);
|
||||||
if(cp.IsBranchType(Zydis::BTUncondJmp))
|
if(cp.IsBranchType(Zydis::BTUncondJmp))
|
||||||
|
|
|
@ -496,7 +496,7 @@ bool ZydisTokenizer::tokenizeImmOperand(const ZydisDecodedOperand & op)
|
||||||
{
|
{
|
||||||
duint value;
|
duint value;
|
||||||
TokenType valueType;
|
TokenType valueType;
|
||||||
if(_cp.IsBranchType(Zydis::BTJmp | Zydis::BTCall | Zydis::BTLoop))
|
if(_cp.IsBranchType(Zydis::BTJmp | Zydis::BTCall | Zydis::BTLoop | Zydis::BTXbegin))
|
||||||
{
|
{
|
||||||
valueType = TokenType::Address;
|
valueType = TokenType::Address;
|
||||||
value = op.imm.value.u;
|
value = op.imm.value.u;
|
||||||
|
|
Loading…
Reference in New Issue