Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
general_purpose=True, argument=True, linux_entry_value=0),
Register(name='esi', size=4, subregisters=[('si', 0, 2),
('sil', 0, 1),
('sih', 1, 1)],
general_purpose=True, argument=True),
Register(name='edi', size=4, subregisters=[('di', 0, 2),
('dil', 0, 1),
('dih', 1, 1)],
general_purpose=True, argument=True),
Register(name='cc_op', size=4, default_value=(0, False, None)),
Register(name='cc_dep1', size=4),
Register(name='cc_dep2', size=4),
Register(name='cc_ndep', size=4),
Register(name='d', size=4, alias_names=('dflag',),
default_value=(1, False, None)),
Register(name='id', size=4, alias_names=('idflag',),
default_value=(1, False, None)),
Register(name='ac', size=4, alias_names=('acflag',),
default_value=(0, False, None)),
Register(name='eip', size=4, alias_names=('ip', 'pc')),
Register(name='fpreg', size=64, subregisters=[('mm0', 0, 8),
('mm1', 8, 8),
('mm2', 16, 8),
('mm3', 24, 8),
('mm4', 32, 8),
('mm5', 40, 8),
('mm6', 48, 8),
('mm7', 56, 8)],
alias_names=('fpu_regs',), floating_point=True),
Register(name='fptag', size=8, alias_names=('fpu_tags',),
floating_point=True, default_value=(0, False, None)),
Register(name='fpround', size=4, floating_point=True,
general_purpose=True, default_value=(Arch.initial_sp, True, 'global')),
Register(name='gpr2', size=4, alias_names=('r2',),
general_purpose=True),
Register(name='gpr3', size=4, alias_names=('r3',),
general_purpose=True, argument=True, linux_entry_value='argc'),
Register(name='gpr4', size=4, alias_names=('r4',),
general_purpose=True, argument=True, linux_entry_value='argv'),
Register(name='gpr5', size=4, alias_names=('r5',),
general_purpose=True, argument=True, linux_entry_value='envp'),
Register(name='gpr6', size=4, alias_names=('r6',),
general_purpose=True, argument=True, linux_entry_value='auxv'),
Register(name='gpr7', size=4, alias_names=('r7',),
general_purpose=True, argument=True, linux_entry_value='ld_destructor'),
Register(name='gpr8', size=4, alias_names=('r8',),
general_purpose=True, argument=True),
Register(name='gpr9', size=4, alias_names=('r9',),
general_purpose=True, argument=True),
Register(name='gpr10', size=4, alias_names=('r10',),
general_purpose=True, argument=True),
Register(name='gpr11', size=4, alias_names=('r11',),
general_purpose=True),
Register(name='gpr12', size=4, alias_names=('r12',),
general_purpose=True),
Register(name='gpr13', size=4, alias_names=('r13',),
general_purpose=True),
Register(name='gpr14', size=4, alias_names=('r14',),
general_purpose=True),
Register(name='gpr15', size=4, alias_names=('r15',),
general_purpose=True),
Register(name='gpr16', size=4, alias_names=('r16',),
general_purpose=True),
Register(name='gpr17', size=4, alias_names=('r17',),
general_purpose=True, linux_entry_value='entry'),
Register(name='gpr13', size=8, alias_names=('r13',),
general_purpose=True),
Register(name='gpr14', size=8, alias_names=('r14',),
general_purpose=True),
Register(name='gpr15', size=8, alias_names=('r15',),
general_purpose=True),
Register(name='gpr16', size=8, alias_names=('r16',),
general_purpose=True),
Register(name='gpr17', size=8, alias_names=('r17',),
general_purpose=True),
Register(name='gpr18', size=8, alias_names=('r18',),
general_purpose=True),
Register(name='gpr19', size=8, alias_names=('r19',),
general_purpose=True),
Register(name='gpr20', size=8, alias_names=('r20',),
general_purpose=True),
Register(name='gpr21', size=8, alias_names=('r21',),
general_purpose=True),
Register(name='gpr22', size=8, alias_names=('r22',),
general_purpose=True),
Register(name='gpr23', size=8, alias_names=('r23',),
general_purpose=True),
Register(name='gpr24', size=8, alias_names=('r24',),
general_purpose=True),
Register(name='gpr25', size=8, alias_names=('r25',),
general_purpose=True, persistent=True),
Register(name='gpr26', size=8, alias_names=('r26',),
general_purpose=True),
Register(name='gpr27', size=8, alias_names=('r27',),
general_purpose=True),
Register(name='gpr28', size=8, alias_names=('r28',),
uc_arch = _unicorn.UC_ARCH_MIPS if _unicorn else None
uc_mode = (_unicorn.UC_MODE_64 + _unicorn.UC_MODE_LITTLE_ENDIAN) if _unicorn else None
uc_const = _unicorn.mips_const if _unicorn else None
uc_prefix = "UC_MIPS_" if _unicorn else None
function_prologs = set((
# TODO
))
function_epilogs = set((
# TODO
))
ret_instruction = b"\x08\x00\xE0\x03" + b"\x25\x08\x20\x00"
nop_instruction = b"\x00\x00\x00\x00"
instruction_alignment = 4
register_list = [
Register(name='zero', size=8, alias_names=('r0',)),
Register(name='at', size=8, alias_names=('r1',),
general_purpose=True),
Register(name='v0', size=8, alias_names=('r2',),
general_purpose=True, linux_entry_value='ld_destructor'),
Register(name='v1', size=8, alias_names=('r3',),
general_purpose=True),
Register(name='a0', size=8, alias_names=('r4',),
general_purpose=True, argument=True),
Register(name='a1', size=8, alias_names=('r5',),
general_purpose=True, argument=True),
Register(name='a2', size=8, alias_names=('r6',),
general_purpose=True, argument=True),
Register(name='a3', size=8, alias_names=('r7',),
general_purpose=True, argument=True),
Register(name='t0', size=8, alias_names=('r8',),
general_purpose=True),
alias_names=('v14',), floating_point=True),
Register(name='vsr15', size=16, subregisters=[('fpr15', 0, 8)],
alias_names=('v15',), floating_point=True),
Register(name='vsr16', size=16, subregisters=[('fpr16', 0, 8)],
alias_names=('v16',), floating_point=True),
Register(name='vsr17', size=16, subregisters=[('fpr17', 0, 8)],
alias_names=('v17',), floating_point=True),
Register(name='vsr18', size=16, subregisters=[('fpr18', 0, 8)],
alias_names=('v18',), floating_point=True),
Register(name='vsr19', size=16, subregisters=[('fpr19', 0, 8)],
alias_names=('v19',), floating_point=True),
Register(name='vsr20', size=16, subregisters=[('fpr20', 0, 8)],
alias_names=('v20',), floating_point=True),
Register(name='vsr21', size=16, subregisters=[('fpr21', 0, 8)],
alias_names=('v21',), floating_point=True),
Register(name='vsr22', size=16, subregisters=[('fpr22', 0, 8)],
alias_names=('v22',), floating_point=True),
Register(name='vsr23', size=16, subregisters=[('fpr23', 0, 8)],
alias_names=('v23',), floating_point=True),
Register(name='vsr24', size=16, subregisters=[('fpr24', 0, 8)],
alias_names=('v24',), floating_point=True),
Register(name='vsr25', size=16, subregisters=[('fpr25', 0, 8)],
alias_names=('v25',), floating_point=True),
Register(name='vsr26', size=16, subregisters=[('fpr26', 0, 8)],
alias_names=('v26',), floating_point=True),
Register(name='vsr27', size=16, subregisters=[('fpr27', 0, 8)],
alias_names=('v27',), floating_point=True),
Register(name='vsr28', size=16, subregisters=[('fpr28', 0, 8)],
alias_names=('v28',), floating_point=True),
Register(name='vsr29', size=16, subregisters=[('fpr29', 0, 8)],
alias_names=('v29',), floating_point=True),
Register(name='vsr30', size=16, subregisters=[('fpr30', 0, 8)],
Register(name='fptag', size=8, alias_names=('fpu_tags',),
floating_point=True, default_value=(0, False, None)),
Register(name='fpround', size=4, floating_point=True,
default_value=(0, False, None)),
Register(name='fc3210', size=4, floating_point=True),
Register(name='ftop', size=4, floating_point=True,
default_value=(0, False, None)),
Register(name='sseround', size=4, vector=True,
default_value=(0, False, None)),
Register(name='xmm0', size=16, vector=True),
Register(name='xmm1', size=16, vector=True),
Register(name='xmm2', size=16, vector=True),
Register(name='xmm3', size=16, vector=True),
Register(name='xmm4', size=16, vector=True),
Register(name='xmm5', size=16, vector=True),
Register(name='xmm6', size=16, vector=True),
Register(name='xmm7', size=16, vector=True),
Register(name='cs', size=2),
Register(name='ds', size=2),
Register(name='es', size=2),
Register(name='fs', size=2, default_value=(0, False, None)),
Register(name='gs', size=2, default_value=(0, False, None)),
Register(name='ss', size=2),
Register(name='ldt', size=8, default_value=(0, False, None)),
Register(name='gdt', size=8, default_value=(0, False, None)),
Register(name='emnote', size=4),
Register(name='cmstart', size=4),
Register(name='cmlen', size=4),
Register(name='nraddr', size=4),
Register(name='sc_class', size=4),
Register(name='ip_at_syscall', size=4),
]
('ch', 1, 1)],
general_purpose=True, argument=True),
Register(name='rdx', size=8, subregisters=[('edx', 0, 4),
('dx', 0, 2),
('dl', 0, 1),
('dh', 1, 1)],
general_purpose=True, argument=True, linux_entry_value='ld_destructor'),
Register(name='rbx', size=8, subregisters=[('ebx', 0, 4),
('bx', 0, 2),
('bl', 0, 1),
('bh', 1, 1)],
general_purpose=True,
linux_entry_value=0),
Register(name='rsp', size=8, subregisters=[('esp', 0, 4)], alias_names=('sp',),
general_purpose=True, default_value=(initial_sp, True, 'global')),
Register(name='rbp', size=8, subregisters=[('ebp', 0, 4), ('bpl', 0, 1), ('bph', 1, 1)], alias_names=('bp',),
general_purpose=True, linux_entry_value=0),
Register(name='rsi', size=8, subregisters=[('esi', 0, 4),
('si', 0, 2),
('sil', 0, 1),
('sih', 1, 1)],
general_purpose=True, argument=True),
Register(name='rdi', size=8, subregisters=[('edi', 0, 4),
('di', 0, 2),
('dil', 0, 1),
('dih', 1, 1)],
general_purpose=True, argument=True),
Register(name='r8', size=8, subregisters=[('r8d', 0, 4),
('r8w', 0, 2),
('r8b', 0, 1)],
general_purpose=True, argument=True),
Register(name='r9', size=8, subregisters=[('r9d', 0, 4),
default_value=(1, False, None), concrete=False),
Register(name='ac', size=4, alias_names=('acflag',),
default_value=(0, False, None), concrete=False),
Register(name='eip', size=4, alias_names=('ip', 'pc')),
Register(name='fpreg', size=64, subregisters=[('mm0', 0, 8),
('mm1', 8, 8),
('mm2', 16, 8),
('mm3', 24, 8),
('mm4', 32, 8),
('mm5', 40, 8),
('mm6', 48, 8),
('mm7', 56, 8)],
alias_names=('fpu_regs',), floating_point=True, concrete=False),
Register(name='fptag', size=8, alias_names=('fpu_tags',),
floating_point=True, default_value=(0, False, None)),
Register(name='fpround', size=4, floating_point=True,
default_value=(0, False, None)),
Register(name='fc3210', size=4, floating_point=True),
Register(name='ftop', size=4, floating_point=True,
default_value=(0, False, None)),
Register(name='sseround', size=4, vector=True,
default_value=(0, False, None)),
Register(name='xmm0', size=16, vector=True),
Register(name='xmm1', size=16, vector=True),
Register(name='xmm2', size=16, vector=True),
Register(name='xmm3', size=16, vector=True),
Register(name='xmm4', size=16, vector=True),
Register(name='xmm5', size=16, vector=True),
Register(name='xmm6', size=16, vector=True),
Register(name='xmm7', size=16, vector=True),
Register(name='cs', size=2),
Register(name='ds', size=2),
general_purpose=True,
linux_entry_value=0),
Register(name='r14', size=8, subregisters=[('r14d', 0, 4),
('r14w', 0, 2),
('r14b', 0, 1)],
general_purpose=True,
linux_entry_value=0),
Register(name='r15', size=8, subregisters=[('r15d', 0, 4),
('r15w', 0, 2),
('r15b', 0, 1)],
general_purpose=True,
linux_entry_value=0),
Register(name='cc_op', size=8, default_value=(0, False, None), concrete=False, artificial=True),
Register(name='cc_dep1', size=8, concrete=False, artificial=True),
Register(name='cc_dep2', size=8, concrete=False, artificial=True),
Register(name='cc_ndep', size=8, concrete=False, artificial=True, linux_entry_value=0),
Register(name='d', size=8, alias_names=('dflag',),
default_value=(1, False, None), concrete=False),
Register(name='rip', size=8, alias_names=('ip', 'pc'),
general_purpose=True),
Register(name='ac', size=8, alias_names=('acflag',),concrete=False),
Register(name='id', size=8, alias_names=('idflag',)),
Register(name='fs', size=8, alias_names=('fs_const',),
default_value=(0x9000000000000000, True, 'global'),concrete=False),
Register(name='sseround', size=8, vector=True,
default_value=(0, False, None)),
Register(name='cr0', size=8),
Register(name='cr2', size=8),
Register(name='cr3', size=8),
Register(name='cr4', size=8),
Register(name='cr8', size=8),
Register(name='ymm0', size=32, subregisters=[('xmm0', 0, 16),
('mm3', 24, 8),
('mm4', 32, 8),
('mm5', 40, 8),
('mm6', 48, 8),
('mm7', 56, 8)],
alias_names=('fpu_regs',), floating_point=True),
Register(name='fptag', size=8, alias_names=('fpu_tags',),
floating_point=True, default_value=(0, False, None)),
Register(name='fpround', size=8, floating_point=True, default_value=(0, False, None)),
Register(name='fc3210', size=8, floating_point=True),
Register(name='emnote', size=4),
Register(name='cmstart', size=8),
Register(name='cmlen', size=8),
Register(name='nraddr', size=8),
Register(name='gs', size=8, alias_names=('gs_const',), concrete=False),
Register(name='ip_at_syscall', size=8, concrete=False, artificial=True),
]
symbol_type_translation = {
10: 'STT_GNU_IFUNC',
'STT_LOOS': 'STT_GNU_IFUNC'
}
got_section_name = '.got.plt'
ld_linux_name = 'ld-linux-x86-64.so.2'
elf_tls = TLSArchInfo(2, 704, [16], [8], [0], 0, 0)
register_arch([r'.*amd64|.*x64|.*x86_64|.*metapc'], 64, Endness.LE, ArchAMD64)