Replace HexRaysCodeXplorer and HexraysInvertIf with HexRaysPyTools
This commit is contained in:
58
plugins/HexRaysPyTools/Core/Const.py
Normal file
58
plugins/HexRaysPyTools/Core/Const.py
Normal file
@@ -0,0 +1,58 @@
|
||||
import idaapi
|
||||
import idc
|
||||
|
||||
EA64 = idc.__EA64__
|
||||
EA_SIZE = 8 if EA64 else 4
|
||||
|
||||
COT_ARITHMETIC = (idaapi.cot_num, idaapi.cot_fnum, idaapi.cot_add, idaapi.cot_fadd, idaapi.cot_sub, idaapi.cot_fsub,
|
||||
idaapi.cot_mul, idaapi.cot_fmul, idaapi.cot_fdiv)
|
||||
|
||||
VOID_TINFO = None
|
||||
PVOID_TINFO = idaapi.tinfo_t()
|
||||
CONST_VOID_TINFO = None
|
||||
CONST_PVOID_TINFO = idaapi.tinfo_t()
|
||||
CHAR_TINFO = None
|
||||
PCHAR_TINFO = idaapi.tinfo_t()
|
||||
CONST_PCHAR_TINFO = idaapi.tinfo_t()
|
||||
BYTE_TINFO = None
|
||||
PBYTE_TINFO = None
|
||||
|
||||
WORD_TINFO = None
|
||||
PWORD_TINFO = idaapi.tinfo_t()
|
||||
|
||||
X_WORD_TINFO = None # DWORD for x32 and QWORD for x64
|
||||
PX_WORD_TINFO = None
|
||||
|
||||
DUMMY_FUNC = None
|
||||
|
||||
LEGAL_TYPES = []
|
||||
|
||||
|
||||
def init():
|
||||
""" All tinfo should be reinitialized between session. Otherwise they could have wrong type """
|
||||
global VOID_TINFO, PVOID_TINFO, CONST_PVOID_TINFO, BYTE_TINFO, PBYTE_TINFO, LEGAL_TYPES, X_WORD_TINFO, \
|
||||
PX_WORD_TINFO, DUMMY_FUNC, CONST_PCHAR_TINFO, CHAR_TINFO, PCHAR_TINFO, CONST_VOID_TINFO, \
|
||||
WORD_TINFO, PWORD_TINFO
|
||||
|
||||
VOID_TINFO = idaapi.tinfo_t(idaapi.BT_VOID)
|
||||
PVOID_TINFO.create_ptr(VOID_TINFO)
|
||||
CONST_VOID_TINFO = idaapi.tinfo_t(idaapi.BT_VOID | idaapi.BTM_CONST)
|
||||
CONST_PVOID_TINFO.create_ptr(idaapi.tinfo_t(idaapi.BT_VOID | idaapi.BTM_CONST))
|
||||
CONST_PCHAR_TINFO.create_ptr(idaapi.tinfo_t(idaapi.BTF_CHAR | idaapi.BTM_CONST))
|
||||
CHAR_TINFO = idaapi.tinfo_t(idaapi.BTF_CHAR)
|
||||
PCHAR_TINFO.create_ptr(idaapi.tinfo_t(idaapi.BTF_CHAR))
|
||||
BYTE_TINFO = idaapi.tinfo_t(idaapi.BTF_BYTE)
|
||||
PBYTE_TINFO = idaapi.dummy_ptrtype(1, False)
|
||||
X_WORD_TINFO = idaapi.get_unk_type(EA_SIZE)
|
||||
PX_WORD_TINFO = idaapi.dummy_ptrtype(EA_SIZE, False)
|
||||
|
||||
WORD_TINFO = idaapi.tinfo_t(idaapi.BT_UNK_WORD)
|
||||
PWORD_TINFO.create_ptr(idaapi.tinfo_t(idaapi.BT_UNK_WORD))
|
||||
|
||||
func_data = idaapi.func_type_data_t()
|
||||
func_data.rettype = PVOID_TINFO
|
||||
func_data.cc = idaapi.CM_CC_UNKNOWN
|
||||
DUMMY_FUNC = idaapi.tinfo_t()
|
||||
DUMMY_FUNC.create_func(func_data, idaapi.BT_FUNC)
|
||||
|
||||
LEGAL_TYPES = [PVOID_TINFO, PX_WORD_TINFO, PWORD_TINFO, PBYTE_TINFO, X_WORD_TINFO]
|
||||
Reference in New Issue
Block a user