|
| IP = ExprId('IP', 16) |
|
| EIP = ExprId('EIP', 32) |
|
| RIP = ExprId('RIP', 64) |
|
| exception_flags = ExprId('exception_flags', 32) |
|
| interrupt_num = ExprId('interrupt_num', 8) |
|
list | regs08_str = ["AL", "CL", "DL", "BL", "AH", "CH", "DH", "BH"] + \ |
|
list | regs08_expr = [ExprId(x, 8) for x in regs08_str] |
|
list | regs08_64_str = ["AL", "CL", "DL", "BL", "SPL", "BPL", "SIL", "DIL"] + \ |
|
list | regs08_64_expr = [ExprId(x, 8) for x in regs08_64_str] |
|
list | regs16_str = ["AX", "CX", "DX", "BX", "SP", "BP", "SI", "DI"] + \ |
|
list | regs16_expr = [ExprId(x, 16) for x in regs16_str] |
|
list | regs32_str = ["EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI"] + \ |
|
list | regs32_expr = [ExprId(x, 32) for x in regs32_str] |
|
list | regs64_str |
|
list | regs64_expr = [ExprId(x, 64) for x in regs64_str] |
|
list | regs_xmm_str = ["XMM%d" % i for i in range(16)] |
|
list | regs_xmm_expr = [ExprId(x, 128) for x in regs_xmm_str] |
|
list | regs_mm_str = ["MM%d" % i for i in range(16)] |
|
list | regs_mm_expr = [ExprId(x, 64) for x in regs_mm_str] |
|
list | regs_bnd_str = ["BND%d" % i for i in range(4)] |
|
list | regs_bnd_expr = [ExprId(x, 128) for x in regs_bnd_str] |
|
| gpregs08 = reg_info(regs08_str, regs08_expr) |
|
| gpregs08_64 = reg_info(regs08_64_str, regs08_64_expr) |
|
| gpregs16 = reg_info(regs16_str, regs16_expr) |
|
| gpregs32 = reg_info(regs32_str, regs32_expr) |
|
| gpregs64 = reg_info(regs64_str, regs64_expr) |
|
| gpregs_xmm = reg_info(regs_xmm_str, regs_xmm_expr) |
|
| gpregs_mm = reg_info(regs_mm_str, regs_mm_expr) |
|
| gpregs_bnd = reg_info(regs_bnd_str, regs_bnd_expr) |
|
| r08_eax = reg_info([regs08_str[0]], [regs08_expr[0]]) |
|
| r16_eax = reg_info([regs16_str[0]], [regs16_expr[0]]) |
|
| r32_eax = reg_info([regs32_str[0]], [regs32_expr[0]]) |
|
| r64_eax = reg_info([regs64_str[0]], [regs64_expr[0]]) |
|
| r08_ecx = reg_info([regs08_str[1]], [regs08_expr[1]]) |
|
| r_eax_all |
|
| r_edx_all |
|
| r16_edx = reg_info([regs16_str[2]], [regs16_expr[2]]) |
|
list | selectr_str = ["ES", "CS", "SS", "DS", "FS", "GS"] |
|
list | selectr_expr = [ExprId(x, 16) for x in selectr_str] |
|
| segmreg = reg_info(selectr_str, selectr_expr) |
|
list | crregs32_str = ["CR%d" % i for i in range(8)] |
|
list | crregs32_expr = [ExprId(x, 32) for x in crregs32_str] |
|
| crregs = reg_info(crregs32_str, crregs32_expr) |
|
list | drregs32_str = ["DR%d" % i for i in range(8)] |
|
list | drregs32_expr = [ExprId(x, 32) for x in drregs32_str] |
|
| drregs = reg_info(drregs32_str, drregs32_expr) |
|
list | fltregs32_str = ["ST(%d)" % i for i in range(8)] |
|
list | fltregs32_expr = [ExprId(x, 64) for x in fltregs32_str] |
|
| fltregs = reg_info(fltregs32_str, fltregs32_expr) |
|
| r_st_all |
|
| r_cs_all |
|
| r_ds_all |
|
| r_es_all |
|
| r_ss_all |
|
| r_fs_all |
|
| r_gs_all |
|
list | AL = regs08_expr[0] |
|
list | CL = regs08_expr[1] |
|
list | DL = regs08_expr[2] |
|
list | BL = regs08_expr[3] |
|
list | AH = regs08_expr[4] |
|
list | CH = regs08_expr[5] |
|
list | DH = regs08_expr[6] |
|
list | BH = regs08_expr[7] |
|
list | R8B = regs08_expr[8] |
|
list | R9B = regs08_expr[9] |
|
list | R10B = regs08_expr[10] |
|
list | R11B = regs08_expr[11] |
|
list | R12B = regs08_expr[12] |
|
list | R13B = regs08_expr[13] |
|
list | R14B = regs08_expr[14] |
|
list | R15B = regs08_expr[15] |
|
list | SPL = regs08_64_expr[4] |
|
list | BPL = regs08_64_expr[5] |
|
list | SIL = regs08_64_expr[6] |
|
list | DIL = regs08_64_expr[7] |
|
list | AX = regs16_expr[0] |
|
list | CX = regs16_expr[1] |
|
list | DX = regs16_expr[2] |
|
list | BX = regs16_expr[3] |
|
list | SP = regs16_expr[4] |
|
list | BP = regs16_expr[5] |
|
list | SI = regs16_expr[6] |
|
list | DI = regs16_expr[7] |
|
list | R8W = regs16_expr[8] |
|
list | R9W = regs16_expr[9] |
|
list | R10W = regs16_expr[10] |
|
list | R11W = regs16_expr[11] |
|
list | R12W = regs16_expr[12] |
|
list | R13W = regs16_expr[13] |
|
list | R14W = regs16_expr[14] |
|
list | R15W = regs16_expr[15] |
|
list | EAX = regs32_expr[0] |
|
list | ECX = regs32_expr[1] |
|
list | EDX = regs32_expr[2] |
|
list | EBX = regs32_expr[3] |
|
list | ESP = regs32_expr[4] |
|
list | EBP = regs32_expr[5] |
|
list | ESI = regs32_expr[6] |
|
list | EDI = regs32_expr[7] |
|
list | R8D = regs32_expr[8] |
|
list | R9D = regs32_expr[9] |
|
list | R10D = regs32_expr[10] |
|
list | R11D = regs32_expr[11] |
|
list | R12D = regs32_expr[12] |
|
list | R13D = regs32_expr[13] |
|
list | R14D = regs32_expr[14] |
|
list | R15D = regs32_expr[15] |
|
list | RAX = regs64_expr[0] |
|
list | RCX = regs64_expr[1] |
|
list | RDX = regs64_expr[2] |
|
list | RBX = regs64_expr[3] |
|
list | RSP = regs64_expr[4] |
|
list | RBP = regs64_expr[5] |
|
list | RSI = regs64_expr[6] |
|
list | RDI = regs64_expr[7] |
|
list | R8 = regs64_expr[8] |
|
list | R9 = regs64_expr[9] |
|
list | R10 = regs64_expr[10] |
|
list | R11 = regs64_expr[11] |
|
list | R12 = regs64_expr[12] |
|
list | R13 = regs64_expr[13] |
|
list | R14 = regs64_expr[14] |
|
list | R15 = regs64_expr[15] |
|
string | reg_zf = 'zf' |
|
string | reg_nf = 'nf' |
|
string | reg_pf = 'pf' |
|
string | reg_of = 'of' |
|
string | reg_cf = 'cf' |
|
string | reg_tf = 'tf' |
|
string | reg_if = 'i_f' |
|
string | reg_df = 'df' |
|
string | reg_af = 'af' |
|
string | reg_iopl = 'iopl_f' |
|
string | reg_nt = 'nt' |
|
string | reg_rf = 'rf' |
|
string | reg_vm = 'vm' |
|
string | reg_ac = 'ac' |
|
string | reg_vif = 'vif' |
|
string | reg_vip = 'vip' |
|
string | reg_id = 'i_d' |
|
string | reg_es = "ES" |
|
string | reg_cs = "CS" |
|
string | reg_ss = "SS" |
|
string | reg_ds = "DS" |
|
string | reg_fs = "FS" |
|
string | reg_gs = "GS" |
|
string | reg_dr0 = 'DR0' |
|
string | reg_dr1 = 'DR1' |
|
string | reg_dr2 = 'DR2' |
|
string | reg_dr3 = 'DR3' |
|
string | reg_dr4 = 'DR4' |
|
string | reg_dr5 = 'DR5' |
|
string | reg_dr6 = 'DR6' |
|
string | reg_dr7 = 'DR7' |
|
string | reg_cr0 = 'CR0' |
|
string | reg_cr1 = 'CR1' |
|
string | reg_cr2 = 'CR2' |
|
string | reg_cr3 = 'CR3' |
|
string | reg_cr4 = 'CR4' |
|
string | reg_cr5 = 'CR5' |
|
string | reg_cr6 = 'CR6' |
|
string | reg_cr7 = 'CR7' |
|
string | reg_mm0 = 'MM0' |
|
string | reg_mm1 = 'MM1' |
|
string | reg_mm2 = 'MM2' |
|
string | reg_mm3 = 'MM3' |
|
string | reg_mm4 = 'MM4' |
|
string | reg_mm5 = 'MM5' |
|
string | reg_mm6 = 'MM6' |
|
string | reg_mm7 = 'MM7' |
|
string | reg_tsc = "tsc" |
|
string | reg_float_c0 = 'float_c0' |
|
string | reg_float_c1 = 'float_c1' |
|
string | reg_float_c2 = 'float_c2' |
|
string | reg_float_c3 = 'float_c3' |
|
string | reg_float_stack_ptr = "float_stack_ptr" |
|
string | reg_float_control = 'reg_float_control' |
|
string | reg_float_eip = 'reg_float_eip' |
|
string | reg_float_cs = 'reg_float_cs' |
|
string | reg_float_address = 'reg_float_address' |
|
string | reg_float_ds = 'reg_float_ds' |
|
| dr0 = ExprId(reg_dr0, 32) |
|
| dr1 = ExprId(reg_dr1, 32) |
|
| dr2 = ExprId(reg_dr2, 32) |
|
| dr3 = ExprId(reg_dr3, 32) |
|
| dr4 = ExprId(reg_dr4, 32) |
|
| dr5 = ExprId(reg_dr5, 32) |
|
| dr6 = ExprId(reg_dr6, 32) |
|
| dr7 = ExprId(reg_dr7, 32) |
|
| cr0 = ExprId(reg_cr0, 32) |
|
| cr1 = ExprId(reg_cr1, 32) |
|
| cr2 = ExprId(reg_cr2, 32) |
|
| cr3 = ExprId(reg_cr3, 32) |
|
| cr4 = ExprId(reg_cr4, 32) |
|
| cr5 = ExprId(reg_cr5, 32) |
|
| cr6 = ExprId(reg_cr6, 32) |
|
| cr7 = ExprId(reg_cr7, 32) |
|
| mm0 = ExprId(reg_mm0, 64) |
|
| mm1 = ExprId(reg_mm1, 64) |
|
| mm2 = ExprId(reg_mm2, 64) |
|
| mm3 = ExprId(reg_mm3, 64) |
|
| mm4 = ExprId(reg_mm4, 64) |
|
| mm5 = ExprId(reg_mm5, 64) |
|
| mm6 = ExprId(reg_mm6, 64) |
|
| mm7 = ExprId(reg_mm7, 64) |
|
list | XMM0 = regs_xmm_expr[0] |
|
list | XMM1 = regs_xmm_expr[1] |
|
list | XMM2 = regs_xmm_expr[2] |
|
list | XMM3 = regs_xmm_expr[3] |
|
list | XMM4 = regs_xmm_expr[4] |
|
list | XMM5 = regs_xmm_expr[5] |
|
list | XMM6 = regs_xmm_expr[6] |
|
list | XMM7 = regs_xmm_expr[7] |
|
list | XMM8 = regs_xmm_expr[8] |
|
list | XMM9 = regs_xmm_expr[9] |
|
list | XMM10 = regs_xmm_expr[10] |
|
list | XMM11 = regs_xmm_expr[11] |
|
list | XMM12 = regs_xmm_expr[12] |
|
list | XMM13 = regs_xmm_expr[13] |
|
list | XMM14 = regs_xmm_expr[14] |
|
list | XMM15 = regs_xmm_expr[15] |
|
| zf = ExprId(reg_zf, size=1) |
|
| nf = ExprId(reg_nf, size=1) |
|
| pf = ExprId(reg_pf, size=1) |
|
| of = ExprId(reg_of, size=1) |
|
| cf = ExprId(reg_cf, size=1) |
|
| tf = ExprId(reg_tf, size=1) |
|
| i_f = ExprId(reg_if, size=1) |
|
| df = ExprId(reg_df, size=1) |
|
| af = ExprId(reg_af, size=1) |
|
| iopl = ExprId(reg_iopl, size=2) |
|
| nt = ExprId(reg_nt, size=1) |
|
| rf = ExprId(reg_rf, size=1) |
|
| vm = ExprId(reg_vm, size=1) |
|
| ac = ExprId(reg_ac, size=1) |
|
| vif = ExprId(reg_vif, size=1) |
|
| vip = ExprId(reg_vip, size=1) |
|
| i_d = ExprId(reg_id, size=1) |
|
| ES = ExprId(reg_es, size=16) |
|
| CS = ExprId(reg_cs, size=16) |
|
| SS = ExprId(reg_ss, size=16) |
|
| DS = ExprId(reg_ds, size=16) |
|
| FS = ExprId(reg_fs, size=16) |
|
| GS = ExprId(reg_gs, size=16) |
|
| tsc = ExprId(reg_tsc, size=64) |
|
| float_c0 = ExprId(reg_float_c0, size=1) |
|
| float_c1 = ExprId(reg_float_c1, size=1) |
|
| float_c2 = ExprId(reg_float_c2, size=1) |
|
| float_c3 = ExprId(reg_float_c3, size=1) |
|
| float_stack_ptr = ExprId(reg_float_stack_ptr, size=3) |
|
| float_control = ExprId(reg_float_control, 16) |
|
| float_eip = ExprId(reg_float_eip, 32) |
|
| float_cs = ExprId(reg_float_cs, size=16) |
|
| float_address = ExprId(reg_float_address, 32) |
|
| float_ds = ExprId(reg_float_ds, size=16) |
|
| float_st0 = ExprId("float_st0", 64) |
|
| float_st1 = ExprId("float_st1", 64) |
|
| float_st2 = ExprId("float_st2", 64) |
|
| float_st3 = ExprId("float_st3", 64) |
|
| float_st4 = ExprId("float_st4", 64) |
|
| float_st5 = ExprId("float_st5", 64) |
|
| float_st6 = ExprId("float_st6", 64) |
|
| float_st7 = ExprId("float_st7", 64) |
|
list | float_list |
|
dictionary | float_replace = {fltregs32_expr[i]: float_list[i] for i in range(8)} |
|
| EAX_init = ExprId('EAX_init', 32) |
|
| EBX_init = ExprId('EBX_init', 32) |
|
| ECX_init = ExprId('ECX_init', 32) |
|
| EDX_init = ExprId('EDX_init', 32) |
|
| ESI_init = ExprId('ESI_init', 32) |
|
| EDI_init = ExprId('EDI_init', 32) |
|
| ESP_init = ExprId('ESP_init', 32) |
|
| EBP_init = ExprId('EBP_init', 32) |
|
| RAX_init = ExprId('RAX_init', 64) |
|
| RBX_init = ExprId('RBX_init', 64) |
|
| RCX_init = ExprId('RCX_init', 64) |
|
| RDX_init = ExprId('RDX_init', 64) |
|
| RSI_init = ExprId('RSI_init', 64) |
|
| RDI_init = ExprId('RDI_init', 64) |
|
| RSP_init = ExprId('RSP_init', 64) |
|
| RBP_init = ExprId('RBP_init', 64) |
|
list | all_regs_ids |
|
list | all_regs_ids_no_alias |
|
dictionary | attrib_to_regs |
|
| all_regs_ids_byname = dict([(x.name, x) for x in all_regs_ids]) |
|
list | all_regs_ids_init = [ExprId("%s_init" % x.name, x.size) for x in all_regs_ids] |
|
dictionary | regs_init = {} |
|
list | regs_flt_expr |
|
dictionary | mRAX = {16: AX, 32: EAX, 64: RAX} |
|
dictionary | mRBX = {16: BX, 32: EBX, 64: RBX} |
|
dictionary | mRCX = {16: CX, 32: ECX, 64: RCX} |
|
dictionary | mRDX = {16: DX, 32: EDX, 64: RDX} |
|
dictionary | mRSI = {16: SI, 32: ESI, 64: RSI} |
|
dictionary | mRDI = {16: DI, 32: EDI, 64: RDI} |
|
dictionary | mRBP = {16: BP, 32: EBP, 64: RBP} |
|
dictionary | mRSP = {16: SP, 32: ESP, 64: RSP} |
|
dictionary | mRIP = {16: IP, 32: EIP, 64: RIP} |
|