diff options
| author | Peter LaFosse <peter@vector35.com> | 2022-01-19 15:37:49 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2022-01-19 15:37:49 -0500 |
| commit | 11a011a8578566677297f9ac76ce152273f88eed (patch) | |
| tree | fa55735cdeee7c7fcf92e27f6bf598efa785e8ae /python | |
| parent | f8186c868eba120e8fa87eb8138ffdc52c1dfa16 (diff) | |
Fix __eq__ operator for IL classes
Diffstat (limited to 'python')
| -rw-r--r-- | python/commonil.py | 52 | ||||
| -rw-r--r-- | python/highlevelil.py | 248 | ||||
| -rw-r--r-- | python/lowlevelil.py | 280 | ||||
| -rw-r--r-- | python/mediumlevelil.py | 277 |
4 files changed, 429 insertions, 428 deletions
diff --git a/python/commonil.py b/python/commonil.py index 93c00b33..35884bf1 100644 --- a/python/commonil.py +++ b/python/commonil.py @@ -25,7 +25,7 @@ from .interaction import show_graph_report from .log import log_warn # This file contains a list of top level abstract classes for implementing BNIL instructions -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class BaseILInstruction: @classmethod def prepend_parent(cls, graph:FlowGraph, node:FlowGraphNode, nodes={}): @@ -54,125 +54,125 @@ class BaseILInstruction: def show_hierarchy_graph(cls): show_graph_report(f"{cls.__name__}", cls.add_subgraph(FlowGraph(), {})) -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Constant(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class BinaryOperation(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class UnaryOperation(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Comparison(BinaryOperation): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class SSA(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Phi(SSA): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class FloatingPoint(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class ControlFlow(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Terminal(ControlFlow): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Loop(ControlFlow): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Call(ControlFlow): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Syscall(Call): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Tailcall(Call): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Return(Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Signed(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Arithmetic(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Carry(Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class DoublePrecision(Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Memory(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Load(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class Store(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class RegisterStack(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class SetVar(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class StackOperation(BaseILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class SetReg: pass diff --git a/python/highlevelil.py b/python/highlevelil.py index 647f8503..f98ecaf4 100644 --- a/python/highlevelil.py +++ b/python/highlevelil.py @@ -699,7 +699,7 @@ class HighLevelILInstruction(BaseILInstruction): return [] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILUnaryBase(HighLevelILInstruction, UnaryOperation): @property @@ -711,7 +711,7 @@ class HighLevelILUnaryBase(HighLevelILInstruction, UnaryOperation): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILBinaryBase(HighLevelILInstruction, BinaryOperation): @property @@ -727,12 +727,12 @@ class HighLevelILBinaryBase(HighLevelILInstruction, BinaryOperation): return [self.left, self.right] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILComparisonBase(HighLevelILBinaryBase, Comparison): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCarryBase(HighLevelILInstruction, Arithmetic): @property @@ -752,12 +752,12 @@ class HighLevelILCarryBase(HighLevelILInstruction, Arithmetic): return [self.left, self.right, self.carry] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILNop(HighLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILBlock(HighLevelILInstruction): @property @@ -769,7 +769,7 @@ class HighLevelILBlock(HighLevelILInstruction): yield expr -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILIf(HighLevelILInstruction, ControlFlow): @property @@ -789,7 +789,7 @@ class HighLevelILIf(HighLevelILInstruction, ControlFlow): return [self.condition] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILWhile(HighLevelILInstruction, Loop): @property @@ -805,7 +805,7 @@ class HighLevelILWhile(HighLevelILInstruction, Loop): return [self.condition] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILWhileSsa(HighLevelILInstruction, Loop, SSA): @property @@ -825,7 +825,7 @@ class HighLevelILWhileSsa(HighLevelILInstruction, Loop, SSA): return [self.condition_phi, self.condition] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDoWhile(HighLevelILInstruction, Loop): @property @@ -841,7 +841,7 @@ class HighLevelILDoWhile(HighLevelILInstruction, Loop): return [self.condition] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDoWhileSsa(HighLevelILInstruction, Loop, SSA): @property @@ -861,7 +861,7 @@ class HighLevelILDoWhileSsa(HighLevelILInstruction, Loop, SSA): return [self.condition_phi, self.condition] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFor(HighLevelILInstruction, Loop): @property @@ -885,7 +885,7 @@ class HighLevelILFor(HighLevelILInstruction, Loop): return [self.init, self.condition, self.update] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILForSsa(HighLevelILInstruction, Loop, SSA): @property @@ -913,7 +913,7 @@ class HighLevelILForSsa(HighLevelILInstruction, Loop, SSA): return [self.init, self.condition_phi, self.condition, self.update] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSwitch(HighLevelILInstruction, ControlFlow): @property @@ -933,7 +933,7 @@ class HighLevelILSwitch(HighLevelILInstruction, ControlFlow): return [self.condition] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCase(HighLevelILInstruction): @property @@ -949,16 +949,16 @@ class HighLevelILCase(HighLevelILInstruction): return [self.values] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILBreak(HighLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILContinue(HighLevelILInstruction, ControlFlow): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILJump(HighLevelILInstruction, Terminal): @property @@ -970,7 +970,7 @@ class HighLevelILJump(HighLevelILInstruction, Terminal): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILRet(HighLevelILInstruction, ControlFlow): @property @@ -982,12 +982,12 @@ class HighLevelILRet(HighLevelILInstruction, ControlFlow): return self.src -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILNoret(HighLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILGoto(HighLevelILInstruction, Terminal): @property @@ -999,7 +999,7 @@ class HighLevelILGoto(HighLevelILInstruction, Terminal): return [self.target] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILLabel(HighLevelILInstruction): @property @@ -1011,7 +1011,7 @@ class HighLevelILLabel(HighLevelILInstruction): return [self.target] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILVarDeclare(HighLevelILInstruction): @property @@ -1023,7 +1023,7 @@ class HighLevelILVarDeclare(HighLevelILInstruction): return [self.var] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILVarInit(HighLevelILInstruction): @property @@ -1043,7 +1043,7 @@ class HighLevelILVarInit(HighLevelILInstruction): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILVarInitSsa(HighLevelILInstruction, SSA): @property @@ -1063,7 +1063,7 @@ class HighLevelILVarInitSsa(HighLevelILInstruction, SSA): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAssign(HighLevelILInstruction): @property @@ -1088,7 +1088,7 @@ class HighLevelILAssign(HighLevelILInstruction): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAssignUnpack(HighLevelILInstruction): @property @@ -1114,7 +1114,7 @@ class HighLevelILAssignUnpack(HighLevelILInstruction): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAssignMemSsa(HighLevelILInstruction, SSA): @property @@ -1138,7 +1138,7 @@ class HighLevelILAssignMemSsa(HighLevelILInstruction, SSA): return [self.dest, self.dest_memory, self.src, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAssignUnpackMemSsa(HighLevelILInstruction, SSA, Memory): @property @@ -1162,7 +1162,7 @@ class HighLevelILAssignUnpackMemSsa(HighLevelILInstruction, SSA, Memory): return [self.dest, self.dest_memory, self.src, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILVar(HighLevelILInstruction): @property @@ -1174,7 +1174,7 @@ class HighLevelILVar(HighLevelILInstruction): return [self.var] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILVarSsa(HighLevelILInstruction, SSA): @property @@ -1186,7 +1186,7 @@ class HighLevelILVarSsa(HighLevelILInstruction, SSA): return [self.var] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILVarPhi(HighLevelILInstruction, Phi): @property @@ -1206,7 +1206,7 @@ class HighLevelILVarPhi(HighLevelILInstruction, Phi): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILMemPhi(HighLevelILInstruction, Memory, Phi): @property @@ -1222,7 +1222,7 @@ class HighLevelILMemPhi(HighLevelILInstruction, Memory, Phi): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILStructField(HighLevelILInstruction): @property @@ -1241,7 +1241,7 @@ class HighLevelILStructField(HighLevelILInstruction): def operands(self) -> List[HighLevelILOperandType]: return [self.src, self.offset, self.member_index] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILArrayIndex(HighLevelILInstruction): @property @@ -1257,7 +1257,7 @@ class HighLevelILArrayIndex(HighLevelILInstruction): return [self.src, self.index] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILArrayIndexSsa(HighLevelILInstruction, SSA): @property @@ -1277,7 +1277,7 @@ class HighLevelILArrayIndexSsa(HighLevelILInstruction, SSA): return [self.src, self.src_memory, self.index] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSplit(HighLevelILInstruction): @property @@ -1293,12 +1293,12 @@ class HighLevelILSplit(HighLevelILInstruction): return [self.high, self.low] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDeref(HighLevelILUnaryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDerefField(HighLevelILInstruction): @property @@ -1318,7 +1318,7 @@ class HighLevelILDerefField(HighLevelILInstruction): return [self.src, self.offset, self.member_index] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDerefSsa(HighLevelILInstruction, SSA): @property @@ -1334,7 +1334,7 @@ class HighLevelILDerefSsa(HighLevelILInstruction, SSA): return [self.src, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDerefFieldSsa(HighLevelILInstruction, SSA): @property @@ -1358,7 +1358,7 @@ class HighLevelILDerefFieldSsa(HighLevelILInstruction, SSA): return [self.src, self.src_memory, self.offset, self.member_index] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAddressOf(HighLevelILUnaryBase): @property @@ -1370,7 +1370,7 @@ class HighLevelILAddressOf(HighLevelILUnaryBase): return [*self.src.vars_address_taken] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILConst(HighLevelILInstruction, Constant): @property @@ -1382,7 +1382,7 @@ class HighLevelILConst(HighLevelILInstruction, Constant): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILConstPtr(HighLevelILInstruction, Constant): @property @@ -1394,7 +1394,7 @@ class HighLevelILConstPtr(HighLevelILInstruction, Constant): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILExternPtr(HighLevelILInstruction, Constant): @property @@ -1410,7 +1410,7 @@ class HighLevelILExternPtr(HighLevelILInstruction, Constant): return [self.constant, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFloatConst(HighLevelILInstruction, Constant): @property @@ -1422,7 +1422,7 @@ class HighLevelILFloatConst(HighLevelILInstruction, Constant): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILImport(HighLevelILInstruction, Constant): @property @@ -1434,157 +1434,157 @@ class HighLevelILImport(HighLevelILInstruction, Constant): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAdd(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAdc(HighLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSub(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSbb(HighLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAnd(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILOr(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILXor(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILLsl(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILLsr(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAsr(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILRol(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILRlc(HighLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILRor(HighLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILRrc(HighLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILMul(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILMuluDp(HighLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILMulsDp(Signed, HighLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDivu(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDivuDp(HighLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDivs(HighLevelILBinaryBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILDivsDp(HighLevelILBinaryBase, Signed, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILModu(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILModuDp(HighLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILMods(HighLevelILBinaryBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILModsDp(HighLevelILBinaryBase, Signed, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILNeg(HighLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILNot(HighLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSx(HighLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILZx(HighLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILLowPart(HighLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCall(HighLevelILInstruction, Call): @property @@ -1600,7 +1600,7 @@ class HighLevelILCall(HighLevelILInstruction, Call): return [self.dest, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCallSsa(HighLevelILInstruction, Call, SSA): @property @@ -1624,72 +1624,72 @@ class HighLevelILCallSsa(HighLevelILInstruction, Call, SSA): return [self.dest, self.params, self.dest_memory, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpE(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpNe(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpSlt(HighLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpUlt(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpSle(HighLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpUle(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpSge(HighLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpUge(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpSgt(HighLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCmpUgt(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILTestBit(HighLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILBoolToInt(HighLevelILUnaryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILAddOverflow(HighLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSyscall(HighLevelILInstruction, Syscall): @property @@ -1701,7 +1701,7 @@ class HighLevelILSyscall(HighLevelILInstruction, Syscall): return self.params -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILSyscallSsa(HighLevelILInstruction, Syscall, SSA): @property @@ -1721,7 +1721,7 @@ class HighLevelILSyscallSsa(HighLevelILInstruction, Syscall, SSA): return [self.params, self.dest_memory, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILTailcall(HighLevelILInstruction, Tailcall): @property @@ -1737,12 +1737,12 @@ class HighLevelILTailcall(HighLevelILInstruction, Tailcall): return [self.dest, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILBp(HighLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILTrap(HighLevelILInstruction, Terminal): @property @@ -1754,7 +1754,7 @@ class HighLevelILTrap(HighLevelILInstruction, Terminal): return [self.vector] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILIntrinsic(HighLevelILInstruction): @property @@ -1770,7 +1770,7 @@ class HighLevelILIntrinsic(HighLevelILInstruction): return [self.intrinsic, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILIntrinsicSsa(HighLevelILInstruction, SSA): @property @@ -1794,127 +1794,127 @@ class HighLevelILIntrinsicSsa(HighLevelILInstruction, SSA): return [self.intrinsic, self.params, self.dest_memory, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILUndef(HighLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILUnimpl(HighLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILUnimplMem(HighLevelILUnaryBase, Memory): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFadd(HighLevelILBinaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFsub(HighLevelILBinaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFmul(HighLevelILBinaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFdiv(HighLevelILBinaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFsqrt(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFneg(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFabs(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFloatToInt(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILIntToFloat(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFloatConv(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILRoundToInt(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFloor(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILCeil(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFtrunc(HighLevelILUnaryBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpE(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpNe(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpLt(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpLe(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpGe(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpGt(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpO(HighLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class HighLevelILFcmpUo(HighLevelILComparisonBase, FloatingPoint): pass diff --git a/python/lowlevelil.py b/python/lowlevelil.py index 5a326020..cda851d0 100644 --- a/python/lowlevelil.py +++ b/python/lowlevelil.py @@ -971,7 +971,7 @@ class LowLevelILInstruction(BaseILInstruction): core.BNLowLevelILFreeOperandList(operand_list) -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILBinaryBase(LowLevelILInstruction, BinaryOperation): @property @@ -987,12 +987,12 @@ class LowLevelILBinaryBase(LowLevelILInstruction, BinaryOperation): return [self.left, self.right] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILComparisonBase(LowLevelILBinaryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCarryBase(LowLevelILInstruction, Carry): @property @@ -1012,7 +1012,7 @@ class LowLevelILCarryBase(LowLevelILInstruction, Carry): return [self.left, self.right, self.carry] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILUnaryBase(LowLevelILInstruction, UnaryOperation): @property @@ -1024,7 +1024,7 @@ class LowLevelILUnaryBase(LowLevelILInstruction, UnaryOperation): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILConstantBase(LowLevelILInstruction, Constant): def __int__(self): @@ -1060,67 +1060,67 @@ class LowLevelILConstantBase(LowLevelILInstruction, Constant): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILNop(LowLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILPop(LowLevelILInstruction, StackOperation): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILNoret(LowLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSyscall(LowLevelILInstruction, Call): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILBp(LowLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILUndef(LowLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILUnimpl(LowLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILNeg(LowLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILNot(LowLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSx(LowLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILZx(LowLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILLowPart(LowLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILJump(LowLevelILInstruction, Terminal): @property @@ -1132,7 +1132,7 @@ class LowLevelILJump(LowLevelILInstruction, Terminal): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCall(LowLevelILInstruction, Call): @property @@ -1144,7 +1144,7 @@ class LowLevelILCall(LowLevelILInstruction, Call): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILTailcall(LowLevelILInstruction, Call): @property @@ -1156,7 +1156,7 @@ class LowLevelILTailcall(LowLevelILInstruction, Call): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRet(LowLevelILInstruction, Return): @property @@ -1168,7 +1168,7 @@ class LowLevelILRet(LowLevelILInstruction, Return): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILUnimplMem(LowLevelILInstruction, Memory): @property @@ -1180,7 +1180,7 @@ class LowLevelILUnimplMem(LowLevelILInstruction, Memory): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFsqrt(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1192,7 +1192,7 @@ class LowLevelILFsqrt(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFneg(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1204,7 +1204,7 @@ class LowLevelILFneg(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFabs(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1216,7 +1216,7 @@ class LowLevelILFabs(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFloatToInt(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1228,7 +1228,7 @@ class LowLevelILFloatToInt(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILIntToFloat(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1240,7 +1240,7 @@ class LowLevelILIntToFloat(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFloatConv(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1252,7 +1252,7 @@ class LowLevelILFloatConv(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRoundToInt(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1264,7 +1264,7 @@ class LowLevelILRoundToInt(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFloor(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1276,7 +1276,7 @@ class LowLevelILFloor(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCeil(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1288,7 +1288,7 @@ class LowLevelILCeil(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFtrunc(LowLevelILInstruction, FloatingPoint, Arithmetic): @property @@ -1300,7 +1300,7 @@ class LowLevelILFtrunc(LowLevelILInstruction, FloatingPoint, Arithmetic): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILLoad(LowLevelILInstruction, Load): @property @@ -1312,7 +1312,7 @@ class LowLevelILLoad(LowLevelILInstruction, Load): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILPush(LowLevelILInstruction, StackOperation): @property @@ -1324,7 +1324,7 @@ class LowLevelILPush(LowLevelILInstruction, StackOperation): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILReg(LowLevelILInstruction): @property @@ -1336,7 +1336,7 @@ class LowLevelILReg(LowLevelILInstruction): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackPop(LowLevelILInstruction, RegisterStack): @property @@ -1348,7 +1348,7 @@ class LowLevelILRegStackPop(LowLevelILInstruction, RegisterStack): return [self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackFreeReg(LowLevelILInstruction, RegisterStack): @property @@ -1360,17 +1360,17 @@ class LowLevelILRegStackFreeReg(LowLevelILInstruction, RegisterStack): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILConst(LowLevelILConstantBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILConstPtr(LowLevelILConstantBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFloatConst(LowLevelILConstantBase, FloatingPoint): @property @@ -1382,7 +1382,7 @@ class LowLevelILFloatConst(LowLevelILConstantBase, FloatingPoint): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlag(LowLevelILInstruction): @property @@ -1394,7 +1394,7 @@ class LowLevelILFlag(LowLevelILInstruction): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILGoto(LowLevelILInstruction, Terminal): @property @@ -1406,7 +1406,7 @@ class LowLevelILGoto(LowLevelILInstruction, Terminal): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlagGroup(LowLevelILInstruction): @property @@ -1418,7 +1418,7 @@ class LowLevelILFlagGroup(LowLevelILInstruction): return [self.semantic_group] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILBoolToInt(LowLevelILInstruction): @property @@ -1430,7 +1430,7 @@ class LowLevelILBoolToInt(LowLevelILInstruction): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILTrap(LowLevelILInstruction, Terminal): @property @@ -1442,7 +1442,7 @@ class LowLevelILTrap(LowLevelILInstruction, Terminal): return [self.vector] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegSplitDestSsa(LowLevelILInstruction, SSA): @property @@ -1454,7 +1454,7 @@ class LowLevelILRegSplitDestSsa(LowLevelILInstruction, SSA): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackDestSsa(LowLevelILInstruction, RegisterStack, SSA): @property @@ -1470,7 +1470,7 @@ class LowLevelILRegStackDestSsa(LowLevelILInstruction, RegisterStack, SSA): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegSsa(LowLevelILInstruction, SSA): @property @@ -1482,7 +1482,7 @@ class LowLevelILRegSsa(LowLevelILInstruction, SSA): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlagSsa(LowLevelILInstruction, SSA): @property @@ -1494,7 +1494,7 @@ class LowLevelILFlagSsa(LowLevelILInstruction, SSA): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCallParam(LowLevelILInstruction, SSA): @property @@ -1506,7 +1506,7 @@ class LowLevelILCallParam(LowLevelILInstruction, SSA): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILMemPhi(LowLevelILInstruction, Memory, Phi): @property @@ -1522,7 +1522,7 @@ class LowLevelILMemPhi(LowLevelILInstruction, Memory, Phi): return [self.dest_memory, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetReg(LowLevelILInstruction, SetReg): @property @@ -1538,7 +1538,7 @@ class LowLevelILSetReg(LowLevelILInstruction, SetReg): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackPush(LowLevelILInstruction, RegisterStack): @property @@ -1554,7 +1554,7 @@ class LowLevelILRegStackPush(LowLevelILInstruction, RegisterStack): return [self.stack, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetFlag(LowLevelILInstruction): @property @@ -1570,7 +1570,7 @@ class LowLevelILSetFlag(LowLevelILInstruction): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILStore(LowLevelILInstruction, Store): @property @@ -1586,7 +1586,7 @@ class LowLevelILStore(LowLevelILInstruction, Store): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegSplit(LowLevelILInstruction): @property @@ -1602,7 +1602,7 @@ class LowLevelILRegSplit(LowLevelILInstruction): return [self.hi, self.lo] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackRel(LowLevelILInstruction, RegisterStack): @property @@ -1618,7 +1618,7 @@ class LowLevelILRegStackRel(LowLevelILInstruction, RegisterStack): return [self.stack, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackFreeRel(LowLevelILInstruction, RegisterStack): @property @@ -1634,7 +1634,7 @@ class LowLevelILRegStackFreeRel(LowLevelILInstruction, RegisterStack): return [self.stack, self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILExternPtr(LowLevelILConstantBase): @property @@ -1650,7 +1650,7 @@ class LowLevelILExternPtr(LowLevelILConstantBase): return [self.constant, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlagBit(LowLevelILInstruction): @property @@ -1666,227 +1666,227 @@ class LowLevelILFlagBit(LowLevelILInstruction): return [self.src, self.bit] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILAdd(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSub(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILAnd(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILOr(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILXor(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILLsl(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILLsr(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILAsr(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRol(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRor(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILMul(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILMuluDp(LowLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILMulsDp(LowLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILDivu(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILDivuDp(LowLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILDivs(LowLevelILBinaryBase, Arithmetic, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILDivsDp(LowLevelILBinaryBase, DoublePrecision, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILModu(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILModuDp(LowLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILMods(LowLevelILBinaryBase, Arithmetic, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILModsDp(LowLevelILBinaryBase, DoublePrecision, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpE(LowLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpNe(LowLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpSlt(LowLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpUlt(LowLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpSle(LowLevelILComparisonBase,Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpUle(LowLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpSge(LowLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpUge(LowLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpSgt(LowLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCmpUgt(LowLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILTestBit(LowLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFadd(LowLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFsub(LowLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFmul(LowLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFdiv(LowLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpE(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpNe(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpLt(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpLe(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpGe(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpGt(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpO(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFcmpUo(LowLevelILInstruction, Comparison, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILJumpTo(LowLevelILInstruction): @property @@ -1902,7 +1902,7 @@ class LowLevelILJumpTo(LowLevelILInstruction): return [self.dest, self.targets] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlagCond(LowLevelILInstruction): @property @@ -1918,12 +1918,12 @@ class LowLevelILFlagCond(LowLevelILInstruction): return [self.condition, self.semantic_class] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILAddOverflow(LowLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegSsa(LowLevelILInstruction, SetReg, SSA): @property @@ -1939,7 +1939,7 @@ class LowLevelILSetRegSsa(LowLevelILInstruction, SetReg, SSA): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegSsaPartial(LowLevelILInstruction, SetReg, SSA): @property @@ -1955,7 +1955,7 @@ class LowLevelILRegSsaPartial(LowLevelILInstruction, SetReg, SSA): return [self.full_reg, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegSplitSsa(LowLevelILInstruction, SetReg, SSA): @property @@ -1971,7 +1971,7 @@ class LowLevelILRegSplitSsa(LowLevelILInstruction, SetReg, SSA): return [self.hi, self.lo] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackAbsSsa(LowLevelILInstruction, RegisterStack, SSA): @property @@ -1987,7 +1987,7 @@ class LowLevelILRegStackAbsSsa(LowLevelILInstruction, RegisterStack, SSA): return [self.stack, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackFreeAbsSsa(LowLevelILInstruction, RegisterStack): @property @@ -2003,7 +2003,7 @@ class LowLevelILRegStackFreeAbsSsa(LowLevelILInstruction, RegisterStack): return [self.stack, self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetFlagSsa(LowLevelILInstruction, SSA): @property @@ -2019,7 +2019,7 @@ class LowLevelILSetFlagSsa(LowLevelILInstruction, SSA): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlagBitSsa(LowLevelILInstruction, SSA): @property @@ -2035,7 +2035,7 @@ class LowLevelILFlagBitSsa(LowLevelILInstruction, SSA): return [self.src, self.bit] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCallOutputSsa(LowLevelILInstruction, SSA): @property @@ -2051,7 +2051,7 @@ class LowLevelILCallOutputSsa(LowLevelILInstruction, SSA): return [self.dest_memory, self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCallStackSsa(LowLevelILInstruction, SSA): @property @@ -2067,7 +2067,7 @@ class LowLevelILCallStackSsa(LowLevelILInstruction, SSA): return [self.src, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILLoadSsa(LowLevelILInstruction, Load, SSA): @property @@ -2083,7 +2083,7 @@ class LowLevelILLoadSsa(LowLevelILInstruction, Load, SSA): return [self.src, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegPhi(LowLevelILInstruction, Phi): @property @@ -2099,7 +2099,7 @@ class LowLevelILRegPhi(LowLevelILInstruction, Phi): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackPhi(LowLevelILInstruction, RegisterStack, Phi): @property @@ -2115,7 +2115,7 @@ class LowLevelILRegStackPhi(LowLevelILInstruction, RegisterStack, Phi): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILFlagPhi(LowLevelILInstruction, Phi): @property @@ -2131,7 +2131,7 @@ class LowLevelILFlagPhi(LowLevelILInstruction, Phi): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegSplit(LowLevelILInstruction, SetReg): @property @@ -2151,7 +2151,7 @@ class LowLevelILSetRegSplit(LowLevelILInstruction, SetReg): return [self.hi, self.lo, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegStackRel(LowLevelILInstruction, RegisterStack): @property @@ -2171,27 +2171,27 @@ class LowLevelILSetRegStackRel(LowLevelILInstruction, RegisterStack): return [self.stack, self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSbb(LowLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILAdc(LowLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRlc(LowLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRrc(LowLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCallStackAdjust(LowLevelILInstruction, Call): @property @@ -2211,7 +2211,7 @@ class LowLevelILCallStackAdjust(LowLevelILInstruction, Call): return [self.dest, self.stack_adjustment, self.reg_stack_adjustments] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILIf(LowLevelILInstruction, ControlFlow): @property @@ -2231,7 +2231,7 @@ class LowLevelILIf(LowLevelILInstruction, ControlFlow): return [self.condition, self.true, self.false] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILIntrinsic(LowLevelILInstruction): @property @@ -2251,7 +2251,7 @@ class LowLevelILIntrinsic(LowLevelILInstruction): return [self.output, self.intrinsic, self.param] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILIntrinsicSsa(LowLevelILInstruction, SSA): @property @@ -2271,7 +2271,7 @@ class LowLevelILIntrinsicSsa(LowLevelILInstruction, SSA): return [self.output, self.intrinsic, self.param] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegSsaPartial(LowLevelILInstruction, SetReg, SSA): @property @@ -2291,7 +2291,7 @@ class LowLevelILSetRegSsaPartial(LowLevelILInstruction, SetReg, SSA): return [self.full_reg, self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegSplitSsa(LowLevelILInstruction, SetReg, SSA): @property @@ -2311,7 +2311,7 @@ class LowLevelILSetRegSplitSsa(LowLevelILInstruction, SetReg, SSA): return [self.hi, self.lo, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegStackAbsSsa(LowLevelILInstruction, RegisterStack, SSA): @property def stack(self) -> LowLevelILInstruction: @@ -2330,7 +2330,7 @@ class LowLevelILSetRegStackAbsSsa(LowLevelILInstruction, RegisterStack, SSA): return [self.stack, self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackRelSsa(LowLevelILInstruction, RegisterStack, SSA): @property @@ -2350,7 +2350,7 @@ class LowLevelILRegStackRelSsa(LowLevelILInstruction, RegisterStack, SSA): return [self.stack, self.src, self.top] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILRegStackFreeRelSsa(LowLevelILInstruction, RegisterStack, SSA): @property @@ -2370,7 +2370,7 @@ class LowLevelILRegStackFreeRelSsa(LowLevelILInstruction, RegisterStack, SSA): return [self.stack, self.dest, self.top] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSyscallSsa(LowLevelILInstruction, Call, SSA): @property @@ -2390,7 +2390,7 @@ class LowLevelILSyscallSsa(LowLevelILInstruction, Call, SSA): return [self.output, self.stack, self.param] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILSetRegStackRelSsa(LowLevelILInstruction, RegisterStack, SSA): @property @@ -2414,7 +2414,7 @@ class LowLevelILSetRegStackRelSsa(LowLevelILInstruction, RegisterStack, SSA): return [self.stack, self.dest, self.top, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILCallSsa(LowLevelILInstruction, Call, SSA): @property @@ -2438,7 +2438,7 @@ class LowLevelILCallSsa(LowLevelILInstruction, Call, SSA): return [self.output, self.dest, self.stack, self.param] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILTailcallSsa(LowLevelILInstruction, Call, SSA, Terminal): @property @@ -2462,7 +2462,7 @@ class LowLevelILTailcallSsa(LowLevelILInstruction, Call, SSA, Terminal): return [self.output, self.dest, self.stack, self.param] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class LowLevelILStoreSsa(LowLevelILInstruction, Store, SSA): @property diff --git a/python/mediumlevelil.py b/python/mediumlevelil.py index e0ebe708..1a710c85 100644 --- a/python/mediumlevelil.py +++ b/python/mediumlevelil.py @@ -74,7 +74,8 @@ class SSAVariable: return self.var.name @property - + def type(self) -> 'types.Type': + return self.var.type class MediumLevelILLabel: @@ -767,12 +768,12 @@ class MediumLevelILInstruction(BaseILInstruction): core.BNMediumLevelILFreeOperandList(operand_list) -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILConstBase(MediumLevelILInstruction, Constant): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallBase(MediumLevelILInstruction, Call): @property def output(self) -> List[Union[SSAVariable, variable.Variable]]: @@ -799,7 +800,7 @@ class MediumLevelILCallBase(MediumLevelILInstruction, Call): return result -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILUnaryBase(MediumLevelILInstruction, UnaryOperation): @property @@ -811,7 +812,7 @@ class MediumLevelILUnaryBase(MediumLevelILInstruction, UnaryOperation): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILBinaryBase(MediumLevelILInstruction, BinaryOperation): @property @@ -827,12 +828,12 @@ class MediumLevelILBinaryBase(MediumLevelILInstruction, BinaryOperation): return [self.left, self.right] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILComparisonBase(MediumLevelILBinaryBase, Comparison): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCarryBase(MediumLevelILInstruction, Carry): @property @@ -852,32 +853,32 @@ class MediumLevelILCarryBase(MediumLevelILInstruction, Carry): return [self.left, self.right, self.carry] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILNop(MediumLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILNoret(MediumLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILBp(MediumLevelILInstruction, Terminal): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILUndef(MediumLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILUnimpl(MediumLevelILInstruction): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLoad(MediumLevelILInstruction, Load): @property @@ -889,7 +890,7 @@ class MediumLevelILLoad(MediumLevelILInstruction, Load): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVar(MediumLevelILInstruction): @property @@ -901,7 +902,7 @@ class MediumLevelILVar(MediumLevelILInstruction): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAddressOf(MediumLevelILInstruction): @property @@ -917,7 +918,7 @@ class MediumLevelILAddressOf(MediumLevelILInstruction): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILConst(MediumLevelILConstBase): @property @@ -929,7 +930,7 @@ class MediumLevelILConst(MediumLevelILConstBase): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILConstPtr(MediumLevelILConstBase): @property @@ -941,7 +942,7 @@ class MediumLevelILConstPtr(MediumLevelILConstBase): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFloatConst(MediumLevelILConstBase, FloatingPoint): @property @@ -953,7 +954,7 @@ class MediumLevelILFloatConst(MediumLevelILConstBase, FloatingPoint): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILImport(MediumLevelILConstBase): @property @@ -965,32 +966,32 @@ class MediumLevelILImport(MediumLevelILConstBase): return [self.constant] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILNeg(MediumLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILNot(MediumLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSx(MediumLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILZx(MediumLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLowPart(MediumLevelILUnaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILJump(MediumLevelILInstruction, Terminal): @property @@ -1002,7 +1003,7 @@ class MediumLevelILJump(MediumLevelILInstruction, Terminal): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRetHint(MediumLevelILInstruction, ControlFlow): @property @@ -1014,7 +1015,7 @@ class MediumLevelILRetHint(MediumLevelILInstruction, ControlFlow): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallOutput(MediumLevelILInstruction): @property @@ -1030,7 +1031,7 @@ class MediumLevelILCallOutput(MediumLevelILInstruction): return self.dest -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallParam(MediumLevelILInstruction): @property @@ -1042,7 +1043,7 @@ class MediumLevelILCallParam(MediumLevelILInstruction): return self.src -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRet(MediumLevelILInstruction, Return): @property @@ -1054,7 +1055,7 @@ class MediumLevelILRet(MediumLevelILInstruction, Return): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILGoto(MediumLevelILInstruction, Terminal): @property @@ -1066,7 +1067,7 @@ class MediumLevelILGoto(MediumLevelILInstruction, Terminal): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILBoolToInt(MediumLevelILInstruction): @property @@ -1078,7 +1079,7 @@ class MediumLevelILBoolToInt(MediumLevelILInstruction): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFreeVarSlot(MediumLevelILInstruction, RegisterStack): @property @@ -1090,7 +1091,7 @@ class MediumLevelILFreeVarSlot(MediumLevelILInstruction, RegisterStack): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILTrap(MediumLevelILInstruction, Terminal): @property @@ -1102,7 +1103,7 @@ class MediumLevelILTrap(MediumLevelILInstruction, Terminal): return [self.vector] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFreeVarSlotSsa(MediumLevelILInstruction, SSA, RegisterStack): @property @@ -1118,7 +1119,7 @@ class MediumLevelILFreeVarSlotSsa(MediumLevelILInstruction, SSA, RegisterStack): return [self.dest, self.prev] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILUnimplMem(MediumLevelILInstruction, Memory): @property @@ -1130,57 +1131,57 @@ class MediumLevelILUnimplMem(MediumLevelILInstruction, Memory): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFsqrt(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFneg(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFabs(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFloatToInt(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILIntToFloat(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFloatConv(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRoundToInt(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFloor(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCeil(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFtrunc(MediumLevelILUnaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarSsa(MediumLevelILInstruction, SSA): @property @@ -1192,7 +1193,7 @@ class MediumLevelILVarSsa(MediumLevelILInstruction, SSA): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarAliased(MediumLevelILInstruction, SSA): @property @@ -1204,7 +1205,7 @@ class MediumLevelILVarAliased(MediumLevelILInstruction, SSA): return [self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVar(MediumLevelILInstruction, SetVar): @property @@ -1228,7 +1229,7 @@ class MediumLevelILSetVar(MediumLevelILInstruction, SetVar): return self.src.vars_read -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLoadStruct(MediumLevelILInstruction, Load): @property @@ -1244,7 +1245,7 @@ class MediumLevelILLoadStruct(MediumLevelILInstruction, Load): return [self.src, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILStore(MediumLevelILInstruction, Store): @property @@ -1260,7 +1261,7 @@ class MediumLevelILStore(MediumLevelILInstruction, Store): return [self.dest, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarField(MediumLevelILInstruction): @property @@ -1276,7 +1277,7 @@ class MediumLevelILVarField(MediumLevelILInstruction): return [self.src, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarSplit(MediumLevelILInstruction): @property @@ -1292,7 +1293,7 @@ class MediumLevelILVarSplit(MediumLevelILInstruction): return [self.high, self.low] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAddressOfField(MediumLevelILInstruction): @property @@ -1308,7 +1309,7 @@ class MediumLevelILAddressOfField(MediumLevelILInstruction): return [self.src, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILExternPtr(MediumLevelILConstBase): @property @@ -1324,172 +1325,172 @@ class MediumLevelILExternPtr(MediumLevelILConstBase): return [self.constant, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAdd(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSub(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAnd(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILOr(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILXor(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLsl(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLsr(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAsr(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRol(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRor(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILMul(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILMuluDp(MediumLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILMulsDp(MediumLevelILBinaryBase, DoublePrecision, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILDivu(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILDivuDp(MediumLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILDivs(MediumLevelILBinaryBase, Arithmetic, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILDivsDp(MediumLevelILBinaryBase, DoublePrecision, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILModu(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILModuDp(MediumLevelILBinaryBase, DoublePrecision): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILMods(MediumLevelILBinaryBase, Arithmetic, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILModsDp(MediumLevelILBinaryBase, DoublePrecision, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpE(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpNe(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpSlt(MediumLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpUlt(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpSle(MediumLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpUle(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpSge(MediumLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpUge(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpSgt(MediumLevelILComparisonBase, Signed): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCmpUgt(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILTestBit(MediumLevelILComparisonBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAddOverflow(MediumLevelILBinaryBase, Arithmetic): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSyscall(MediumLevelILInstruction, Syscall): @property @@ -1505,7 +1506,7 @@ class MediumLevelILSyscall(MediumLevelILInstruction, Syscall): return [self.output, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarSsaField(MediumLevelILInstruction, SSA): @property @@ -1521,7 +1522,7 @@ class MediumLevelILVarSsaField(MediumLevelILInstruction, SSA): return [self.src, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarAliasedField(MediumLevelILInstruction, SSA): @property @@ -1537,7 +1538,7 @@ class MediumLevelILVarAliasedField(MediumLevelILInstruction, SSA): return [self.src, self.offset] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarSplitSsa(MediumLevelILInstruction, SSA): @property @@ -1553,7 +1554,7 @@ class MediumLevelILVarSplitSsa(MediumLevelILInstruction, SSA): return [self.high, self.low] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallOutputSsa(MediumLevelILInstruction, SSA): @property @@ -1573,7 +1574,7 @@ class MediumLevelILCallOutputSsa(MediumLevelILInstruction, SSA): return [self.dest_memory, self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallParamSsa(MediumLevelILInstruction, SSA): @property @@ -1589,7 +1590,7 @@ class MediumLevelILCallParamSsa(MediumLevelILInstruction, SSA): return [self.src_memory, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLoadSsa(MediumLevelILInstruction, Load, SSA): @property @@ -1605,7 +1606,7 @@ class MediumLevelILLoadSsa(MediumLevelILInstruction, Load, SSA): return [self.src, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILVarPhi(MediumLevelILInstruction, SetVar, Phi, SSA): @property @@ -1625,7 +1626,7 @@ class MediumLevelILVarPhi(MediumLevelILInstruction, SetVar, Phi, SSA): return self.src -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILMemPhi(MediumLevelILInstruction, Memory, Phi): @property @@ -1641,7 +1642,7 @@ class MediumLevelILMemPhi(MediumLevelILInstruction, Memory, Phi): return [self.dest_memory, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarSsa(MediumLevelILInstruction, SetVar, SSA): @property @@ -1665,67 +1666,67 @@ class MediumLevelILSetVarSsa(MediumLevelILInstruction, SetVar, SSA): return [self.dest] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpE(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpNe(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpLt(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpLe(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpGe(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpGt(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpO(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFcmpUo(MediumLevelILComparisonBase, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFadd(MediumLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFsub(MediumLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFmul(MediumLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILFdiv(MediumLevelILBinaryBase, Arithmetic, FloatingPoint): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILJumpTo(MediumLevelILInstruction, Terminal): @property @@ -1741,7 +1742,7 @@ class MediumLevelILJumpTo(MediumLevelILInstruction, Terminal): return [self.dest, self.targets] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarAliased(MediumLevelILInstruction, SetVar, SSA): @property @@ -1770,7 +1771,7 @@ class MediumLevelILSetVarAliased(MediumLevelILInstruction, SetVar, SSA): -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSyscallUntyped(MediumLevelILCallBase, Syscall): @property @@ -1794,7 +1795,7 @@ class MediumLevelILSyscallUntyped(MediumLevelILCallBase, Syscall): return [self.output, self.params, self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILIntrinsic(MediumLevelILInstruction): @property @@ -1825,7 +1826,7 @@ class MediumLevelILIntrinsic(MediumLevelILInstruction): return [self.output, self.intrinsic, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILIntrinsicSsa(MediumLevelILInstruction, SSA): @property @@ -1856,7 +1857,7 @@ class MediumLevelILIntrinsicSsa(MediumLevelILInstruction, SSA): return [self.output, self.intrinsic, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarSsaField(MediumLevelILInstruction, SetVar, SSA): @property @@ -1888,7 +1889,7 @@ class MediumLevelILSetVarSsaField(MediumLevelILInstruction, SetVar, SSA): return [self.dest, self.prev, self.offset, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarSplitSsa(MediumLevelILInstruction, SetVar, SSA): @property @@ -1916,7 +1917,7 @@ class MediumLevelILSetVarSplitSsa(MediumLevelILInstruction, SetVar, SSA): return [self.high, self.low, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarAliasedField(MediumLevelILInstruction, SetVar, SSA): @property @@ -1944,7 +1945,7 @@ class MediumLevelILSetVarAliasedField(MediumLevelILInstruction, SetVar, SSA): return [self.dest, self.prev, self.offset, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSyscallSsa(MediumLevelILCallBase, Syscall, SSA): @property @@ -1972,7 +1973,7 @@ class MediumLevelILSyscallSsa(MediumLevelILCallBase, Syscall, SSA): return [self.output, self.params, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSyscallUntypedSsa(MediumLevelILCallBase, Syscall, SSA): @property @@ -2008,7 +2009,7 @@ class MediumLevelILSyscallUntypedSsa(MediumLevelILCallBase, Syscall, SSA): return [self.output, self.params, self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILLoadStruct_ssa(MediumLevelILInstruction, Load, SSA): @property @@ -2028,7 +2029,7 @@ class MediumLevelILLoadStruct_ssa(MediumLevelILInstruction, Load, SSA): return [self.src, self.offset, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarField(MediumLevelILInstruction, SetVar): @property @@ -2048,7 +2049,7 @@ class MediumLevelILSetVarField(MediumLevelILInstruction, SetVar): return [self.dest, self.offset, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSetVarSplit(MediumLevelILInstruction, SetVar): @property @@ -2072,7 +2073,7 @@ class MediumLevelILSetVarSplit(MediumLevelILInstruction, SetVar): return [self.high, self.low, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILStoreStruct(MediumLevelILInstruction, Store): @property @@ -2092,27 +2093,27 @@ class MediumLevelILStoreStruct(MediumLevelILInstruction, Store): return [self.dest, self.offset, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILAdc(MediumLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILSbb(MediumLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRlc(MediumLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILRrc(MediumLevelILCarryBase): pass -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCall(MediumLevelILCallBase): @property @@ -2132,7 +2133,7 @@ class MediumLevelILCall(MediumLevelILCallBase): return [self.output, self.dest, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILIf(MediumLevelILInstruction, Terminal): @property @@ -2152,7 +2153,7 @@ class MediumLevelILIf(MediumLevelILInstruction, Terminal): return [self.condition, self.true, self.false] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILTailcallUntyped(MediumLevelILCallBase, Tailcall): @property @@ -2180,7 +2181,7 @@ class MediumLevelILTailcallUntyped(MediumLevelILCallBase, Tailcall): return [self.output, self.dest, self.params, self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallSsa(MediumLevelILCallBase, SSA): @property @@ -2212,7 +2213,7 @@ class MediumLevelILCallSsa(MediumLevelILCallBase, SSA): return [self.output, self.dest, self.params, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallUntypedSsa(MediumLevelILCallBase, SSA): @property @@ -2252,7 +2253,7 @@ class MediumLevelILCallUntypedSsa(MediumLevelILCallBase, SSA): return [self.output, self.dest, self.params, self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILTailcall(MediumLevelILCallBase, Tailcall): @property @@ -2272,7 +2273,7 @@ class MediumLevelILTailcall(MediumLevelILCallBase, Tailcall): return [self.output, self.dest, self.params] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILTailcallSsa(MediumLevelILCallBase, Tailcall, SSA): @property @@ -2304,7 +2305,7 @@ class MediumLevelILTailcallSsa(MediumLevelILCallBase, Tailcall, SSA): return [self.output, self.dest, self.params, self.src_memory] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILTailcallUntypedSsa(MediumLevelILCallBase, Tailcall, SSA): @property @@ -2338,7 +2339,7 @@ class MediumLevelILTailcallUntypedSsa(MediumLevelILCallBase, Tailcall, SSA): return [self.output, self.dest, self.params, self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILStoreSsa(MediumLevelILInstruction, Store, SSA): @property @@ -2362,7 +2363,7 @@ class MediumLevelILStoreSsa(MediumLevelILInstruction, Store, SSA): return [self.dest, self.dest_memory, self.src_memory, self.src] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILCallUntyped(MediumLevelILCallBase): @property @@ -2390,7 +2391,7 @@ class MediumLevelILCallUntyped(MediumLevelILCallBase): return [self.output, self.dest, self.params, self.stack] -@dataclass(frozen=True, repr=False) +@dataclass(frozen=True, repr=False, eq=False) class MediumLevelILStoreStructSsa(MediumLevelILInstruction, Store, SSA): @property |
