smallworld-re 1.0.2__py3-none-any.whl → 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- smallworld/analyses/__init__.py +8 -0
- smallworld/analyses/analysis.py +8 -67
- smallworld/analyses/code_coverage.py +1 -2
- smallworld/analyses/colorizer.py +301 -534
- smallworld/analyses/colorizer_def_use.py +217 -0
- smallworld/analyses/colorizer_summary.py +173 -83
- smallworld/analyses/field_detection/field_analysis.py +7 -8
- smallworld/analyses/field_detection/hints.py +1 -1
- smallworld/analyses/field_detection/malloc.py +2 -2
- smallworld/analyses/trace_execution.py +160 -0
- smallworld/analyses/trace_execution_types.py +42 -0
- smallworld/analyses/unstable/angr/divergence.py +1 -2
- smallworld/analyses/unstable/angr/model.py +5 -6
- smallworld/analyses/unstable/angr_nwbt.py +3 -4
- smallworld/analyses/unstable/code_coverage.py +2 -3
- smallworld/analyses/unstable/code_reachable.py +2 -3
- smallworld/analyses/unstable/control_flow_tracer.py +2 -3
- smallworld/analyses/unstable/pointer_finder.py +2 -3
- smallworld/analyses/unstable/utils/tui.py +71 -0
- smallworld/emulators/__init__.py +3 -1
- smallworld/emulators/angr/angr.py +30 -9
- smallworld/emulators/angr/machdefs/__init__.py +2 -0
- smallworld/emulators/angr/machdefs/aarch64.py +1 -1
- smallworld/emulators/angr/machdefs/amd64.py +0 -4
- smallworld/emulators/angr/machdefs/arm.py +0 -2
- smallworld/emulators/angr/machdefs/i386.py +0 -2
- smallworld/emulators/angr/machdefs/loongarch.py +340 -0
- smallworld/emulators/angr/machdefs/machdef.py +1 -8
- smallworld/emulators/angr/machdefs/mips.py +0 -2
- smallworld/emulators/angr/machdefs/mips64.py +0 -2
- smallworld/emulators/angr/machdefs/ppc.py +1 -2
- smallworld/emulators/angr/machdefs/riscv.py +8 -10
- smallworld/emulators/angr/machdefs/xtensa.py +7 -4
- smallworld/emulators/emulator.py +22 -0
- smallworld/emulators/ghidra/__init__.py +37 -0
- smallworld/emulators/ghidra/ghidra.py +513 -0
- smallworld/emulators/ghidra/machdefs/__init__.py +31 -0
- smallworld/emulators/ghidra/machdefs/aarch64.py +289 -0
- smallworld/emulators/ghidra/machdefs/amd64.py +185 -0
- smallworld/emulators/ghidra/machdefs/arm.py +370 -0
- smallworld/emulators/ghidra/machdefs/i386.py +109 -0
- smallworld/emulators/ghidra/machdefs/loongarch.py +162 -0
- smallworld/emulators/ghidra/machdefs/machdef.py +81 -0
- smallworld/emulators/ghidra/machdefs/mips.py +163 -0
- smallworld/emulators/ghidra/machdefs/mips64.py +186 -0
- smallworld/emulators/ghidra/machdefs/ppc.py +98 -0
- smallworld/emulators/ghidra/machdefs/riscv.py +208 -0
- smallworld/emulators/ghidra/machdefs/xtensa.py +21 -0
- smallworld/emulators/ghidra/typing.py +28 -0
- smallworld/emulators/hookable.py +18 -4
- smallworld/emulators/panda/machdefs/__init__.py +2 -2
- smallworld/emulators/panda/machdefs/aarch64.py +186 -11
- smallworld/emulators/panda/machdefs/amd64.py +103 -11
- smallworld/emulators/panda/machdefs/arm.py +216 -20
- smallworld/emulators/panda/machdefs/i386.py +30 -7
- smallworld/emulators/panda/machdefs/machdef.py +9 -16
- smallworld/emulators/panda/machdefs/mips.py +49 -5
- smallworld/emulators/panda/machdefs/mips64.py +57 -5
- smallworld/emulators/panda/machdefs/ppc.py +38 -13
- smallworld/emulators/panda/panda.py +146 -44
- smallworld/emulators/unicorn/__init__.py +2 -0
- smallworld/emulators/unicorn/machdefs/aarch64.py +253 -264
- smallworld/emulators/unicorn/machdefs/amd64.py +254 -259
- smallworld/emulators/unicorn/machdefs/arm.py +200 -212
- smallworld/emulators/unicorn/machdefs/i386.py +84 -90
- smallworld/emulators/unicorn/machdefs/machdef.py +2 -23
- smallworld/emulators/unicorn/machdefs/mips.py +127 -135
- smallworld/emulators/unicorn/unicorn.py +52 -13
- smallworld/helpers.py +4 -19
- smallworld/hinting/hinting.py +22 -192
- smallworld/hinting/hints.py +50 -18
- smallworld/instructions/bsid.py +8 -8
- smallworld/logging.py +4 -2
- smallworld/platforms/__init__.py +12 -0
- smallworld/platforms/defs/__init__.py +36 -0
- smallworld/platforms/defs/aarch64.py +450 -0
- smallworld/platforms/defs/amd64.py +463 -0
- smallworld/platforms/defs/arm.py +519 -0
- smallworld/platforms/defs/i386.py +258 -0
- smallworld/platforms/defs/loongarch.py +270 -0
- smallworld/platforms/defs/mips.py +321 -0
- smallworld/platforms/defs/mips64.py +313 -0
- smallworld/platforms/defs/platformdef.py +97 -0
- smallworld/platforms/defs/powerpc.py +259 -0
- smallworld/platforms/defs/riscv.py +257 -0
- smallworld/platforms/defs/xtensa.py +96 -0
- smallworld/{platforms.py → platforms/platforms.py} +3 -0
- smallworld/state/cpus/__init__.py +2 -0
- smallworld/state/cpus/aarch64.py +0 -9
- smallworld/state/cpus/amd64.py +6 -28
- smallworld/state/cpus/arm.py +0 -11
- smallworld/state/cpus/cpu.py +0 -11
- smallworld/state/cpus/i386.py +0 -7
- smallworld/state/cpus/loongarch.py +299 -0
- smallworld/state/cpus/mips.py +4 -47
- smallworld/state/cpus/mips64.py +18 -58
- smallworld/state/cpus/powerpc.py +2 -9
- smallworld/state/cpus/riscv.py +1 -11
- smallworld/state/cpus/xtensa.py +0 -5
- smallworld/state/memory/code.py +44 -2
- smallworld/state/memory/elf/__init__.py +5 -1
- smallworld/state/memory/elf/coredump/__init__.py +3 -0
- smallworld/state/memory/elf/coredump/coredump.py +46 -0
- smallworld/state/memory/elf/coredump/prstatus/__init__.py +27 -0
- smallworld/state/memory/elf/coredump/prstatus/aarch64.py +46 -0
- smallworld/state/memory/elf/coredump/prstatus/amd64.py +40 -0
- smallworld/state/memory/elf/coredump/prstatus/arm.py +53 -0
- smallworld/state/memory/elf/coredump/prstatus/i386.py +30 -0
- smallworld/state/memory/elf/coredump/prstatus/mips.py +55 -0
- smallworld/state/memory/elf/coredump/prstatus/mips64.py +57 -0
- smallworld/state/memory/elf/coredump/prstatus/ppc.py +82 -0
- smallworld/state/memory/elf/coredump/prstatus/prstatus.py +129 -0
- smallworld/state/memory/elf/elf.py +225 -61
- smallworld/state/memory/elf/register_state.py +36 -0
- smallworld/state/memory/elf/rela/__init__.py +2 -0
- smallworld/state/memory/elf/rela/aarch64.py +3 -1
- smallworld/state/memory/elf/rela/amd64.py +4 -2
- smallworld/state/memory/elf/rela/arm.py +4 -2
- smallworld/state/memory/elf/rela/i386.py +4 -2
- smallworld/state/memory/elf/rela/loongarch.py +32 -0
- smallworld/state/memory/elf/rela/mips.py +39 -18
- smallworld/state/memory/elf/rela/ppc.py +31 -14
- smallworld/state/memory/elf/structs.py +3 -0
- smallworld/state/memory/heap.py +2 -2
- smallworld/state/memory/memory.py +18 -0
- smallworld/state/memory/pe/__init__.py +3 -0
- smallworld/state/memory/pe/pe.py +361 -0
- smallworld/state/memory/pe/structs.py +60 -0
- smallworld/state/memory/stack/__init__.py +2 -0
- smallworld/state/memory/stack/loongarch.py +26 -0
- smallworld/state/models/__init__.py +29 -2
- smallworld/state/models/aarch64/__init__.py +1 -0
- smallworld/state/models/aarch64/systemv/__init__.py +6 -0
- smallworld/state/models/aarch64/systemv/c99/__init__.py +12 -0
- smallworld/state/models/aarch64/systemv/c99/signal.py +16 -0
- smallworld/state/models/aarch64/systemv/c99/stdio.py +265 -0
- smallworld/state/models/aarch64/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/aarch64/systemv/c99/string.py +139 -0
- smallworld/state/models/aarch64/systemv/c99/time.py +61 -0
- smallworld/state/models/aarch64/systemv/posix/__init__.py +6 -0
- smallworld/state/models/aarch64/systemv/posix/libgen.py +16 -0
- smallworld/state/models/aarch64/systemv/posix/signal.py +157 -0
- smallworld/state/models/aarch64/systemv/systemv.py +80 -0
- smallworld/state/models/amd64/__init__.py +1 -0
- smallworld/state/models/amd64/systemv/__init__.py +6 -0
- smallworld/state/models/amd64/systemv/c99/__init__.py +12 -0
- smallworld/state/models/amd64/systemv/c99/signal.py +16 -0
- smallworld/state/models/amd64/systemv/c99/stdio.py +265 -0
- smallworld/state/models/amd64/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/amd64/systemv/c99/string.py +139 -0
- smallworld/state/models/amd64/systemv/c99/time.py +61 -0
- smallworld/state/models/amd64/systemv/posix/__init__.py +6 -0
- smallworld/state/models/amd64/systemv/posix/libgen.py +16 -0
- smallworld/state/models/amd64/systemv/posix/signal.py +157 -0
- smallworld/state/models/amd64/systemv/systemv.py +78 -0
- smallworld/state/models/armel/__init__.py +1 -0
- smallworld/state/models/armel/systemv/__init__.py +6 -0
- smallworld/state/models/armel/systemv/c99/__init__.py +12 -0
- smallworld/state/models/armel/systemv/c99/signal.py +16 -0
- smallworld/state/models/armel/systemv/c99/stdio.py +265 -0
- smallworld/state/models/armel/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/armel/systemv/c99/string.py +139 -0
- smallworld/state/models/armel/systemv/c99/time.py +61 -0
- smallworld/state/models/armel/systemv/posix/__init__.py +6 -0
- smallworld/state/models/armel/systemv/posix/libgen.py +16 -0
- smallworld/state/models/armel/systemv/posix/signal.py +157 -0
- smallworld/state/models/armel/systemv/systemv.py +82 -0
- smallworld/state/models/armhf/__init__.py +1 -0
- smallworld/state/models/armhf/systemv/__init__.py +6 -0
- smallworld/state/models/armhf/systemv/c99/__init__.py +12 -0
- smallworld/state/models/armhf/systemv/c99/signal.py +16 -0
- smallworld/state/models/armhf/systemv/c99/stdio.py +265 -0
- smallworld/state/models/armhf/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/armhf/systemv/c99/string.py +139 -0
- smallworld/state/models/armhf/systemv/c99/time.py +61 -0
- smallworld/state/models/armhf/systemv/posix/__init__.py +6 -0
- smallworld/state/models/armhf/systemv/posix/libgen.py +16 -0
- smallworld/state/models/armhf/systemv/posix/signal.py +157 -0
- smallworld/state/models/armhf/systemv/systemv.py +77 -0
- smallworld/state/models/c99/__init__.py +12 -0
- smallworld/state/models/c99/fmt_print.py +915 -0
- smallworld/state/models/c99/fmt_scan.py +864 -0
- smallworld/state/models/c99/math.py +362 -0
- smallworld/state/models/c99/signal.py +71 -0
- smallworld/state/models/c99/stdio.py +1305 -0
- smallworld/state/models/c99/stdlib.py +595 -0
- smallworld/state/models/c99/string.py +674 -0
- smallworld/state/models/c99/time.py +340 -0
- smallworld/state/models/c99/utils.py +89 -0
- smallworld/state/models/cstd.py +759 -0
- smallworld/state/models/errno.py +581 -0
- smallworld/state/models/filedesc.py +515 -0
- smallworld/state/models/i386/__init__.py +1 -0
- smallworld/state/models/i386/systemv/__init__.py +6 -0
- smallworld/state/models/i386/systemv/c99/__init__.py +12 -0
- smallworld/state/models/i386/systemv/c99/signal.py +16 -0
- smallworld/state/models/i386/systemv/c99/stdio.py +265 -0
- smallworld/state/models/i386/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/i386/systemv/c99/string.py +139 -0
- smallworld/state/models/i386/systemv/c99/time.py +61 -0
- smallworld/state/models/i386/systemv/posix/__init__.py +6 -0
- smallworld/state/models/i386/systemv/posix/libgen.py +16 -0
- smallworld/state/models/i386/systemv/posix/signal.py +157 -0
- smallworld/state/models/i386/systemv/systemv.py +71 -0
- smallworld/state/models/loongarch64/__init__.py +1 -0
- smallworld/state/models/loongarch64/systemv/__init__.py +6 -0
- smallworld/state/models/loongarch64/systemv/c99/__init__.py +12 -0
- smallworld/state/models/loongarch64/systemv/c99/signal.py +16 -0
- smallworld/state/models/loongarch64/systemv/c99/stdio.py +265 -0
- smallworld/state/models/loongarch64/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/loongarch64/systemv/c99/string.py +139 -0
- smallworld/state/models/loongarch64/systemv/c99/time.py +61 -0
- smallworld/state/models/loongarch64/systemv/posix/__init__.py +6 -0
- smallworld/state/models/loongarch64/systemv/posix/libgen.py +16 -0
- smallworld/state/models/loongarch64/systemv/posix/signal.py +157 -0
- smallworld/state/models/loongarch64/systemv/systemv.py +83 -0
- smallworld/state/models/mips/__init__.py +1 -0
- smallworld/state/models/mips/systemv/__init__.py +6 -0
- smallworld/state/models/mips/systemv/c99/__init__.py +12 -0
- smallworld/state/models/mips/systemv/c99/signal.py +16 -0
- smallworld/state/models/mips/systemv/c99/stdio.py +265 -0
- smallworld/state/models/mips/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/mips/systemv/c99/string.py +139 -0
- smallworld/state/models/mips/systemv/c99/time.py +61 -0
- smallworld/state/models/mips/systemv/posix/__init__.py +6 -0
- smallworld/state/models/mips/systemv/posix/libgen.py +16 -0
- smallworld/state/models/mips/systemv/posix/signal.py +157 -0
- smallworld/state/models/mips/systemv/systemv.py +78 -0
- smallworld/state/models/mips64/__init__.py +1 -0
- smallworld/state/models/mips64/systemv/__init__.py +6 -0
- smallworld/state/models/mips64/systemv/c99/__init__.py +12 -0
- smallworld/state/models/mips64/systemv/c99/signal.py +16 -0
- smallworld/state/models/mips64/systemv/c99/stdio.py +265 -0
- smallworld/state/models/mips64/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/mips64/systemv/c99/string.py +139 -0
- smallworld/state/models/mips64/systemv/c99/time.py +61 -0
- smallworld/state/models/mips64/systemv/posix/__init__.py +6 -0
- smallworld/state/models/mips64/systemv/posix/libgen.py +16 -0
- smallworld/state/models/mips64/systemv/posix/signal.py +157 -0
- smallworld/state/models/mips64/systemv/systemv.py +98 -0
- smallworld/state/models/mips64el/__init__.py +1 -0
- smallworld/state/models/mips64el/systemv/__init__.py +6 -0
- smallworld/state/models/mips64el/systemv/c99/__init__.py +12 -0
- smallworld/state/models/mips64el/systemv/c99/signal.py +16 -0
- smallworld/state/models/mips64el/systemv/c99/stdio.py +265 -0
- smallworld/state/models/mips64el/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/mips64el/systemv/c99/string.py +139 -0
- smallworld/state/models/mips64el/systemv/c99/time.py +61 -0
- smallworld/state/models/mips64el/systemv/posix/__init__.py +6 -0
- smallworld/state/models/mips64el/systemv/posix/libgen.py +16 -0
- smallworld/state/models/mips64el/systemv/posix/signal.py +157 -0
- smallworld/state/models/mips64el/systemv/systemv.py +96 -0
- smallworld/state/models/mipsel/__init__.py +1 -0
- smallworld/state/models/mipsel/systemv/__init__.py +6 -0
- smallworld/state/models/mipsel/systemv/c99/__init__.py +12 -0
- smallworld/state/models/mipsel/systemv/c99/signal.py +16 -0
- smallworld/state/models/mipsel/systemv/c99/stdio.py +265 -0
- smallworld/state/models/mipsel/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/mipsel/systemv/c99/string.py +139 -0
- smallworld/state/models/mipsel/systemv/c99/time.py +61 -0
- smallworld/state/models/mipsel/systemv/posix/__init__.py +6 -0
- smallworld/state/models/mipsel/systemv/posix/libgen.py +16 -0
- smallworld/state/models/mipsel/systemv/posix/signal.py +157 -0
- smallworld/state/models/mipsel/systemv/systemv.py +78 -0
- smallworld/state/models/model.py +27 -2
- smallworld/state/models/posix/__init__.py +6 -0
- smallworld/state/models/posix/libgen.py +123 -0
- smallworld/state/models/posix/signal.py +690 -0
- smallworld/state/models/powerpc/__init__.py +1 -0
- smallworld/state/models/powerpc/systemv/__init__.py +6 -0
- smallworld/state/models/powerpc/systemv/c99/__init__.py +12 -0
- smallworld/state/models/powerpc/systemv/c99/signal.py +16 -0
- smallworld/state/models/powerpc/systemv/c99/stdio.py +265 -0
- smallworld/state/models/powerpc/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/powerpc/systemv/c99/string.py +139 -0
- smallworld/state/models/powerpc/systemv/c99/time.py +61 -0
- smallworld/state/models/powerpc/systemv/posix/__init__.py +6 -0
- smallworld/state/models/powerpc/systemv/posix/libgen.py +16 -0
- smallworld/state/models/powerpc/systemv/posix/signal.py +157 -0
- smallworld/state/models/powerpc/systemv/systemv.py +93 -0
- smallworld/state/models/riscv64/__init__.py +1 -0
- smallworld/state/models/riscv64/systemv/__init__.py +6 -0
- smallworld/state/models/riscv64/systemv/c99/__init__.py +12 -0
- smallworld/state/models/riscv64/systemv/c99/signal.py +16 -0
- smallworld/state/models/riscv64/systemv/c99/stdio.py +265 -0
- smallworld/state/models/riscv64/systemv/c99/stdlib.py +169 -0
- smallworld/state/models/riscv64/systemv/c99/string.py +139 -0
- smallworld/state/models/riscv64/systemv/c99/time.py +61 -0
- smallworld/state/models/riscv64/systemv/posix/__init__.py +6 -0
- smallworld/state/models/riscv64/systemv/posix/libgen.py +16 -0
- smallworld/state/models/riscv64/systemv/posix/signal.py +157 -0
- smallworld/state/models/riscv64/systemv/systemv.py +85 -0
- smallworld/state/state.py +65 -24
- smallworld/state/unstable/elf.py +16 -31
- smallworld/utils.py +6 -1
- {smallworld_re-1.0.2.dist-info → smallworld_re-2.0.0.dist-info}/METADATA +76 -43
- smallworld_re-2.0.0.dist-info/RECORD +374 -0
- {smallworld_re-1.0.2.dist-info → smallworld_re-2.0.0.dist-info}/WHEEL +1 -1
- smallworld/state/models/x86/__init__.py +0 -2
- smallworld/state/models/x86/microsoftcdecl.py +0 -35
- smallworld/state/models/x86/systemv.py +0 -240
- smallworld_re-1.0.2.dist-info/RECORD +0 -166
- /smallworld/state/models/{posix.py → _posix.py} +0 -0
- {smallworld_re-1.0.2.dist-info → smallworld_re-2.0.0.dist-info}/entry_points.txt +0 -0
- {smallworld_re-1.0.2.dist-info → smallworld_re-2.0.0.dist-info/licenses}/LICENSE.txt +0 -0
- {smallworld_re-1.0.2.dist-info → smallworld_re-2.0.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,3 @@
|
|
1
|
-
import capstone
|
2
1
|
import unicorn
|
3
2
|
|
4
3
|
from ....platforms import Architecture, Byteorder
|
@@ -13,148 +12,144 @@ class AMD64MachineDef(UnicornMachineDef):
|
|
13
12
|
uc_arch = unicorn.UC_ARCH_X86
|
14
13
|
uc_mode = unicorn.UC_MODE_64
|
15
14
|
|
16
|
-
cs_arch = capstone.CS_ARCH_X86
|
17
|
-
cs_mode = capstone.CS_MODE_64
|
18
|
-
|
19
|
-
pc_reg = "rip"
|
20
|
-
|
21
15
|
def __init__(self):
|
22
16
|
self._registers = {
|
23
17
|
# *** General Purpose Registers ***
|
24
|
-
"rax":
|
25
|
-
"eax":
|
26
|
-
"ax":
|
27
|
-
"al":
|
28
|
-
"ah":
|
29
|
-
"rbx":
|
30
|
-
"ebx":
|
31
|
-
"bx":
|
32
|
-
"bl":
|
33
|
-
"bh":
|
34
|
-
"rcx":
|
35
|
-
"ecx":
|
36
|
-
"cx":
|
37
|
-
"cl":
|
38
|
-
"ch":
|
39
|
-
"rdx":
|
40
|
-
"edx":
|
41
|
-
"dx":
|
42
|
-
"dl":
|
43
|
-
"dh":
|
44
|
-
"r8":
|
45
|
-
"r8d":
|
46
|
-
"r8w":
|
47
|
-
"r8b":
|
48
|
-
"r9":
|
49
|
-
"r9d":
|
50
|
-
"r9w":
|
51
|
-
"r9b":
|
52
|
-
"r10":
|
53
|
-
"r10d":
|
54
|
-
"r10w":
|
55
|
-
"r10b":
|
56
|
-
"r11":
|
57
|
-
"r11d":
|
58
|
-
"r11w":
|
59
|
-
"r11b":
|
60
|
-
"r12":
|
61
|
-
"r12d":
|
62
|
-
"r12w":
|
63
|
-
"r12b":
|
64
|
-
"r13":
|
65
|
-
"r13d":
|
66
|
-
"r13w":
|
67
|
-
"r13b":
|
68
|
-
"r14":
|
69
|
-
"r14d":
|
70
|
-
"r14w":
|
71
|
-
"r14b":
|
72
|
-
"r15":
|
73
|
-
"r15d":
|
74
|
-
"r15w":
|
75
|
-
"r15b":
|
76
|
-
"rdi":
|
77
|
-
"edi":
|
78
|
-
"di":
|
79
|
-
"dil":
|
80
|
-
"rsi":
|
81
|
-
"esi":
|
82
|
-
"si":
|
83
|
-
"sil":
|
84
|
-
"rsp":
|
85
|
-
"esp":
|
86
|
-
"sp":
|
87
|
-
"spl":
|
88
|
-
"rbp":
|
89
|
-
"ebp":
|
90
|
-
"bp":
|
91
|
-
"bpl":
|
18
|
+
"rax": unicorn.x86_const.UC_X86_REG_RAX,
|
19
|
+
"eax": unicorn.x86_const.UC_X86_REG_EAX,
|
20
|
+
"ax": unicorn.x86_const.UC_X86_REG_AX,
|
21
|
+
"al": unicorn.x86_const.UC_X86_REG_AL,
|
22
|
+
"ah": unicorn.x86_const.UC_X86_REG_AH,
|
23
|
+
"rbx": unicorn.x86_const.UC_X86_REG_RBX,
|
24
|
+
"ebx": unicorn.x86_const.UC_X86_REG_EBX,
|
25
|
+
"bx": unicorn.x86_const.UC_X86_REG_BX,
|
26
|
+
"bl": unicorn.x86_const.UC_X86_REG_BL,
|
27
|
+
"bh": unicorn.x86_const.UC_X86_REG_BH,
|
28
|
+
"rcx": unicorn.x86_const.UC_X86_REG_RCX,
|
29
|
+
"ecx": unicorn.x86_const.UC_X86_REG_ECX,
|
30
|
+
"cx": unicorn.x86_const.UC_X86_REG_CX,
|
31
|
+
"cl": unicorn.x86_const.UC_X86_REG_CL,
|
32
|
+
"ch": unicorn.x86_const.UC_X86_REG_CH,
|
33
|
+
"rdx": unicorn.x86_const.UC_X86_REG_RDX,
|
34
|
+
"edx": unicorn.x86_const.UC_X86_REG_EDX,
|
35
|
+
"dx": unicorn.x86_const.UC_X86_REG_DX,
|
36
|
+
"dl": unicorn.x86_const.UC_X86_REG_DL,
|
37
|
+
"dh": unicorn.x86_const.UC_X86_REG_DH,
|
38
|
+
"r8": unicorn.x86_const.UC_X86_REG_R8,
|
39
|
+
"r8d": unicorn.x86_const.UC_X86_REG_R8D,
|
40
|
+
"r8w": unicorn.x86_const.UC_X86_REG_R8W,
|
41
|
+
"r8b": unicorn.x86_const.UC_X86_REG_R8B,
|
42
|
+
"r9": unicorn.x86_const.UC_X86_REG_R9,
|
43
|
+
"r9d": unicorn.x86_const.UC_X86_REG_R9D,
|
44
|
+
"r9w": unicorn.x86_const.UC_X86_REG_R9W,
|
45
|
+
"r9b": unicorn.x86_const.UC_X86_REG_R9B,
|
46
|
+
"r10": unicorn.x86_const.UC_X86_REG_R10,
|
47
|
+
"r10d": unicorn.x86_const.UC_X86_REG_R10D,
|
48
|
+
"r10w": unicorn.x86_const.UC_X86_REG_R10W,
|
49
|
+
"r10b": unicorn.x86_const.UC_X86_REG_R10B,
|
50
|
+
"r11": unicorn.x86_const.UC_X86_REG_R11,
|
51
|
+
"r11d": unicorn.x86_const.UC_X86_REG_R11D,
|
52
|
+
"r11w": unicorn.x86_const.UC_X86_REG_R11W,
|
53
|
+
"r11b": unicorn.x86_const.UC_X86_REG_R11B,
|
54
|
+
"r12": unicorn.x86_const.UC_X86_REG_R12,
|
55
|
+
"r12d": unicorn.x86_const.UC_X86_REG_R12D,
|
56
|
+
"r12w": unicorn.x86_const.UC_X86_REG_R12W,
|
57
|
+
"r12b": unicorn.x86_const.UC_X86_REG_R12B,
|
58
|
+
"r13": unicorn.x86_const.UC_X86_REG_R13,
|
59
|
+
"r13d": unicorn.x86_const.UC_X86_REG_R13D,
|
60
|
+
"r13w": unicorn.x86_const.UC_X86_REG_R13W,
|
61
|
+
"r13b": unicorn.x86_const.UC_X86_REG_R13B,
|
62
|
+
"r14": unicorn.x86_const.UC_X86_REG_R14,
|
63
|
+
"r14d": unicorn.x86_const.UC_X86_REG_R14D,
|
64
|
+
"r14w": unicorn.x86_const.UC_X86_REG_R14W,
|
65
|
+
"r14b": unicorn.x86_const.UC_X86_REG_R14B,
|
66
|
+
"r15": unicorn.x86_const.UC_X86_REG_R15,
|
67
|
+
"r15d": unicorn.x86_const.UC_X86_REG_R15D,
|
68
|
+
"r15w": unicorn.x86_const.UC_X86_REG_R15W,
|
69
|
+
"r15b": unicorn.x86_const.UC_X86_REG_R15B,
|
70
|
+
"rdi": unicorn.x86_const.UC_X86_REG_RDI,
|
71
|
+
"edi": unicorn.x86_const.UC_X86_REG_EDI,
|
72
|
+
"di": unicorn.x86_const.UC_X86_REG_DI,
|
73
|
+
"dil": unicorn.x86_const.UC_X86_REG_DIL,
|
74
|
+
"rsi": unicorn.x86_const.UC_X86_REG_RSI,
|
75
|
+
"esi": unicorn.x86_const.UC_X86_REG_ESI,
|
76
|
+
"si": unicorn.x86_const.UC_X86_REG_SI,
|
77
|
+
"sil": unicorn.x86_const.UC_X86_REG_SIL,
|
78
|
+
"rsp": unicorn.x86_const.UC_X86_REG_RSP,
|
79
|
+
"esp": unicorn.x86_const.UC_X86_REG_ESP,
|
80
|
+
"sp": unicorn.x86_const.UC_X86_REG_SP,
|
81
|
+
"spl": unicorn.x86_const.UC_X86_REG_SPL,
|
82
|
+
"rbp": unicorn.x86_const.UC_X86_REG_RBP,
|
83
|
+
"ebp": unicorn.x86_const.UC_X86_REG_EBP,
|
84
|
+
"bp": unicorn.x86_const.UC_X86_REG_BP,
|
85
|
+
"bpl": unicorn.x86_const.UC_X86_REG_BPL,
|
92
86
|
# *** Instruction Pointer ***
|
93
|
-
"rip":
|
94
|
-
"eip":
|
95
|
-
"ip":
|
87
|
+
"rip": unicorn.x86_const.UC_X86_REG_RIP,
|
88
|
+
"eip": unicorn.x86_const.UC_X86_REG_EIP,
|
89
|
+
"ip": unicorn.x86_const.UC_X86_REG_IP,
|
96
90
|
# *** Flags register ***
|
97
|
-
"rflags":
|
98
|
-
"eflags":
|
99
|
-
"flags":
|
91
|
+
"rflags": unicorn.x86_const.UC_X86_REG_RFLAGS,
|
92
|
+
"eflags": unicorn.x86_const.UC_X86_REG_EFLAGS,
|
93
|
+
"flags": unicorn.x86_const.UC_X86_REG_FLAGS,
|
100
94
|
# *** Segment Registers ***
|
101
|
-
"cs":
|
102
|
-
"ds":
|
103
|
-
"es":
|
104
|
-
"fs":
|
105
|
-
"gs":
|
95
|
+
"cs": unicorn.x86_const.UC_X86_REG_CS,
|
96
|
+
"ds": unicorn.x86_const.UC_X86_REG_DS,
|
97
|
+
"es": unicorn.x86_const.UC_X86_REG_ES,
|
98
|
+
"fs": unicorn.x86_const.UC_X86_REG_FS,
|
99
|
+
"gs": unicorn.x86_const.UC_X86_REG_GS,
|
100
|
+
"ss": unicorn.x86_const.UC_X86_REG_SS,
|
106
101
|
# *** Control Registers ***
|
107
|
-
"cr0":
|
108
|
-
"cr1":
|
109
|
-
"cr2":
|
110
|
-
"cr3":
|
111
|
-
"cr4":
|
112
|
-
"cr8":
|
102
|
+
"cr0": unicorn.x86_const.UC_X86_REG_CR0,
|
103
|
+
"cr1": unicorn.x86_const.UC_X86_REG_CR1,
|
104
|
+
"cr2": unicorn.x86_const.UC_X86_REG_CR2,
|
105
|
+
"cr3": unicorn.x86_const.UC_X86_REG_CR3,
|
106
|
+
"cr4": unicorn.x86_const.UC_X86_REG_CR4,
|
107
|
+
"cr8": unicorn.x86_const.UC_X86_REG_INVALID,
|
113
108
|
# *** Debug Registers ***
|
114
|
-
"dr0":
|
115
|
-
"dr1":
|
116
|
-
"dr2":
|
117
|
-
"dr3":
|
118
|
-
"dr6":
|
119
|
-
"dr7":
|
120
|
-
"dr8":
|
121
|
-
"dr9":
|
122
|
-
"dr10":
|
123
|
-
"dr11":
|
124
|
-
"dr12":
|
125
|
-
"dr13":
|
126
|
-
"dr14":
|
127
|
-
"dr15":
|
109
|
+
"dr0": unicorn.x86_const.UC_X86_REG_DR0,
|
110
|
+
"dr1": unicorn.x86_const.UC_X86_REG_DR1,
|
111
|
+
"dr2": unicorn.x86_const.UC_X86_REG_DR2,
|
112
|
+
"dr3": unicorn.x86_const.UC_X86_REG_DR3,
|
113
|
+
"dr6": unicorn.x86_const.UC_X86_REG_DR6,
|
114
|
+
"dr7": unicorn.x86_const.UC_X86_REG_DR7,
|
115
|
+
"dr8": unicorn.x86_const.UC_X86_REG_INVALID,
|
116
|
+
"dr9": unicorn.x86_const.UC_X86_REG_INVALID,
|
117
|
+
"dr10": unicorn.x86_const.UC_X86_REG_INVALID,
|
118
|
+
"dr11": unicorn.x86_const.UC_X86_REG_INVALID,
|
119
|
+
"dr12": unicorn.x86_const.UC_X86_REG_INVALID,
|
120
|
+
"dr13": unicorn.x86_const.UC_X86_REG_INVALID,
|
121
|
+
"dr14": unicorn.x86_const.UC_X86_REG_INVALID,
|
122
|
+
"dr15": unicorn.x86_const.UC_X86_REG_INVALID,
|
128
123
|
# *** Descriptor Table Registers ***
|
129
|
-
"gdtr":
|
130
|
-
"idtr":
|
131
|
-
"ldtr":
|
124
|
+
"gdtr": unicorn.x86_const.UC_X86_REG_GDTR,
|
125
|
+
"idtr": unicorn.x86_const.UC_X86_REG_IDTR,
|
126
|
+
"ldtr": unicorn.x86_const.UC_X86_REG_LDTR,
|
132
127
|
# *** Task Register ***
|
133
|
-
"tr":
|
128
|
+
"tr": unicorn.x86_const.UC_X86_REG_TR,
|
134
129
|
# *** x87 registers ***
|
135
130
|
# NOTE: x87 is supported by Unicorn, but not by SmallWorld.
|
136
131
|
# Values are represented as tuples (exponent: int, mantissa: int).
|
137
132
|
# If you need x87 support, open a ticket.
|
138
|
-
"fpr0":
|
139
|
-
"fpr1":
|
140
|
-
"fpr2":
|
141
|
-
"fpr3":
|
142
|
-
"fpr4":
|
143
|
-
"fpr5":
|
144
|
-
"fpr6":
|
145
|
-
"fpr7":
|
133
|
+
"fpr0": unicorn.x86_const.UC_X86_REG_INVALID,
|
134
|
+
"fpr1": unicorn.x86_const.UC_X86_REG_INVALID,
|
135
|
+
"fpr2": unicorn.x86_const.UC_X86_REG_INVALID,
|
136
|
+
"fpr3": unicorn.x86_const.UC_X86_REG_INVALID,
|
137
|
+
"fpr4": unicorn.x86_const.UC_X86_REG_INVALID,
|
138
|
+
"fpr5": unicorn.x86_const.UC_X86_REG_INVALID,
|
139
|
+
"fpr6": unicorn.x86_const.UC_X86_REG_INVALID,
|
140
|
+
"fpr7": unicorn.x86_const.UC_X86_REG_INVALID,
|
146
141
|
# x87 Control Register
|
147
|
-
"fctrl":
|
142
|
+
"fctrl": unicorn.x86_const.UC_X86_REG_FPCW,
|
148
143
|
# x87 Status Register
|
149
|
-
"fstat":
|
144
|
+
"fstat": unicorn.x86_const.UC_X86_REG_FPCW,
|
150
145
|
# x87 Tag Register
|
151
|
-
"ftag":
|
146
|
+
"ftag": unicorn.x86_const.UC_X86_REG_FPTAG,
|
152
147
|
# x87 Last Instruction Register
|
153
|
-
"fip":
|
148
|
+
"fip": unicorn.x86_const.UC_X86_REG_FIP,
|
154
149
|
# x87 Last Operand Pointer
|
155
|
-
"fdp":
|
150
|
+
"fdp": unicorn.x86_const.UC_X86_REG_FDP,
|
156
151
|
# x87 Last Opcode
|
157
|
-
"fop":
|
152
|
+
"fop": unicorn.x86_const.UC_X86_REG_FOP,
|
158
153
|
# NOTE: Docs disagree on the format of fip and fdp.
|
159
154
|
# One source describes them as 48-bit offset-plus-segment,
|
160
155
|
# the other describes them as 64-bit.
|
@@ -163,14 +158,14 @@ class AMD64MachineDef(UnicornMachineDef):
|
|
163
158
|
# *** MMX Registers ***
|
164
159
|
# NOTE: The MMX registers are aliases for the low 8 bytes of the x87 registers.
|
165
160
|
# The two subsystems cannot be used simultaneously.
|
166
|
-
"mm0":
|
167
|
-
"mm1":
|
168
|
-
"mm2":
|
169
|
-
"mm3":
|
170
|
-
"mm4":
|
171
|
-
"mm5":
|
172
|
-
"mm6":
|
173
|
-
"mm7":
|
161
|
+
"mm0": unicorn.x86_const.UC_X86_REG_MM0,
|
162
|
+
"mm1": unicorn.x86_const.UC_X86_REG_MM1,
|
163
|
+
"mm2": unicorn.x86_const.UC_X86_REG_MM2,
|
164
|
+
"mm3": unicorn.x86_const.UC_X86_REG_MM3,
|
165
|
+
"mm4": unicorn.x86_const.UC_X86_REG_MM4,
|
166
|
+
"mm5": unicorn.x86_const.UC_X86_REG_MM5,
|
167
|
+
"mm6": unicorn.x86_const.UC_X86_REG_MM6,
|
168
|
+
"mm7": unicorn.x86_const.UC_X86_REG_MM7,
|
174
169
|
}
|
175
170
|
|
176
171
|
|
@@ -182,38 +177,38 @@ class AMD64AVX2MachineDef(AMD64MachineDef):
|
|
182
177
|
self._registers.update(
|
183
178
|
{
|
184
179
|
# *** SSE/AVX registers ***
|
185
|
-
"ymm0":
|
186
|
-
"xmm0":
|
187
|
-
"ymm1":
|
188
|
-
"xmm1":
|
189
|
-
"ymm2":
|
190
|
-
"xmm2":
|
191
|
-
"ymm3":
|
192
|
-
"xmm3":
|
193
|
-
"ymm4":
|
194
|
-
"xmm4":
|
195
|
-
"ymm5":
|
196
|
-
"xmm5":
|
197
|
-
"ymm6":
|
198
|
-
"xmm6":
|
199
|
-
"ymm7":
|
200
|
-
"xmm7":
|
201
|
-
"ymm8":
|
202
|
-
"xmm8":
|
203
|
-
"ymm9":
|
204
|
-
"xmm9":
|
205
|
-
"ymm10":
|
206
|
-
"xmm10":
|
207
|
-
"ymm11":
|
208
|
-
"xmm11":
|
209
|
-
"ymm12":
|
210
|
-
"xmm12":
|
211
|
-
"ymm13":
|
212
|
-
"xmm13":
|
213
|
-
"ymm14":
|
214
|
-
"xmm14":
|
215
|
-
"ymm15":
|
216
|
-
"xmm15":
|
180
|
+
"ymm0": unicorn.x86_const.UC_X86_REG_YMM0,
|
181
|
+
"xmm0": unicorn.x86_const.UC_X86_REG_XMM0,
|
182
|
+
"ymm1": unicorn.x86_const.UC_X86_REG_YMM1,
|
183
|
+
"xmm1": unicorn.x86_const.UC_X86_REG_XMM1,
|
184
|
+
"ymm2": unicorn.x86_const.UC_X86_REG_YMM2,
|
185
|
+
"xmm2": unicorn.x86_const.UC_X86_REG_XMM2,
|
186
|
+
"ymm3": unicorn.x86_const.UC_X86_REG_YMM3,
|
187
|
+
"xmm3": unicorn.x86_const.UC_X86_REG_XMM3,
|
188
|
+
"ymm4": unicorn.x86_const.UC_X86_REG_YMM4,
|
189
|
+
"xmm4": unicorn.x86_const.UC_X86_REG_XMM4,
|
190
|
+
"ymm5": unicorn.x86_const.UC_X86_REG_YMM5,
|
191
|
+
"xmm5": unicorn.x86_const.UC_X86_REG_XMM5,
|
192
|
+
"ymm6": unicorn.x86_const.UC_X86_REG_YMM6,
|
193
|
+
"xmm6": unicorn.x86_const.UC_X86_REG_XMM6,
|
194
|
+
"ymm7": unicorn.x86_const.UC_X86_REG_YMM7,
|
195
|
+
"xmm7": unicorn.x86_const.UC_X86_REG_XMM7,
|
196
|
+
"ymm8": unicorn.x86_const.UC_X86_REG_YMM8,
|
197
|
+
"xmm8": unicorn.x86_const.UC_X86_REG_XMM8,
|
198
|
+
"ymm9": unicorn.x86_const.UC_X86_REG_YMM9,
|
199
|
+
"xmm9": unicorn.x86_const.UC_X86_REG_XMM9,
|
200
|
+
"ymm10": unicorn.x86_const.UC_X86_REG_YMM10,
|
201
|
+
"xmm10": unicorn.x86_const.UC_X86_REG_XMM10,
|
202
|
+
"ymm11": unicorn.x86_const.UC_X86_REG_YMM11,
|
203
|
+
"xmm11": unicorn.x86_const.UC_X86_REG_XMM11,
|
204
|
+
"ymm12": unicorn.x86_const.UC_X86_REG_YMM12,
|
205
|
+
"xmm12": unicorn.x86_const.UC_X86_REG_XMM12,
|
206
|
+
"ymm13": unicorn.x86_const.UC_X86_REG_YMM13,
|
207
|
+
"xmm13": unicorn.x86_const.UC_X86_REG_XMM13,
|
208
|
+
"ymm14": unicorn.x86_const.UC_X86_REG_YMM14,
|
209
|
+
"xmm14": unicorn.x86_const.UC_X86_REG_XMM14,
|
210
|
+
"ymm15": unicorn.x86_const.UC_X86_REG_YMM15,
|
211
|
+
"xmm15": unicorn.x86_const.UC_X86_REG_XMM15,
|
217
212
|
}
|
218
213
|
)
|
219
214
|
|
@@ -226,101 +221,101 @@ class AMD64AVX512MachineDef(AMD64MachineDef):
|
|
226
221
|
self._registers.update(
|
227
222
|
{
|
228
223
|
# *** SSE/AVX registers ***
|
229
|
-
"zmm0":
|
230
|
-
"ymm0":
|
231
|
-
"xmm0":
|
232
|
-
"zmm1":
|
233
|
-
"ymm1":
|
234
|
-
"xmm1":
|
235
|
-
"zmm2":
|
236
|
-
"ymm2":
|
237
|
-
"xmm2":
|
238
|
-
"zmm3":
|
239
|
-
"ymm3":
|
240
|
-
"xmm3":
|
241
|
-
"zmm4":
|
242
|
-
"ymm4":
|
243
|
-
"xmm4":
|
244
|
-
"zmm5":
|
245
|
-
"ymm5":
|
246
|
-
"xmm5":
|
247
|
-
"zmm6":
|
248
|
-
"ymm6":
|
249
|
-
"xmm6":
|
250
|
-
"zmm7":
|
251
|
-
"ymm7":
|
252
|
-
"xmm7":
|
253
|
-
"zmm8":
|
254
|
-
"ymm8":
|
255
|
-
"xmm8":
|
256
|
-
"zmm9":
|
257
|
-
"ymm9":
|
258
|
-
"xmm9":
|
259
|
-
"zmm10":
|
260
|
-
"ymm10":
|
261
|
-
"xmm10":
|
262
|
-
"zmm11":
|
263
|
-
"ymm11":
|
264
|
-
"xmm11":
|
265
|
-
"zmm12":
|
266
|
-
"ymm12":
|
267
|
-
"xmm12":
|
268
|
-
"zmm13":
|
269
|
-
"ymm13":
|
270
|
-
"xmm13":
|
271
|
-
"zmm14":
|
272
|
-
"ymm14":
|
273
|
-
"xmm14":
|
274
|
-
"zmm15":
|
275
|
-
"ymm15":
|
276
|
-
"xmm15":
|
277
|
-
"zmm16":
|
278
|
-
"ymm16":
|
279
|
-
"xmm16":
|
280
|
-
"zmm17":
|
281
|
-
"ymm17":
|
282
|
-
"xmm17":
|
283
|
-
"zmm18":
|
284
|
-
"ymm18":
|
285
|
-
"xmm18":
|
286
|
-
"zmm19":
|
287
|
-
"ymm19":
|
288
|
-
"xmm19":
|
289
|
-
"zmm20":
|
290
|
-
"ymm20":
|
291
|
-
"xmm20":
|
292
|
-
"zmm21":
|
293
|
-
"ymm21":
|
294
|
-
"xmm21":
|
295
|
-
"zmm22":
|
296
|
-
"ymm22":
|
297
|
-
"xmm22":
|
298
|
-
"zmm23":
|
299
|
-
"ymm23":
|
300
|
-
"xmm23":
|
301
|
-
"zmm24":
|
302
|
-
"ymm24":
|
303
|
-
"xmm24":
|
304
|
-
"zmm25":
|
305
|
-
"ymm25":
|
306
|
-
"xmm25":
|
307
|
-
"zmm26":
|
308
|
-
"ymm26":
|
309
|
-
"xmm26":
|
310
|
-
"zmm27":
|
311
|
-
"ymm27":
|
312
|
-
"xmm27":
|
313
|
-
"zmm28":
|
314
|
-
"ymm28":
|
315
|
-
"xmm28":
|
316
|
-
"zmm29":
|
317
|
-
"ymm29":
|
318
|
-
"xmm29":
|
319
|
-
"zmm30":
|
320
|
-
"ymm30":
|
321
|
-
"xmm30":
|
322
|
-
"zmm31":
|
323
|
-
"ymm31":
|
324
|
-
"xmm31":
|
224
|
+
"zmm0": unicorn.x86_const.UC_X86_REG_ZMM0,
|
225
|
+
"ymm0": unicorn.x86_const.UC_X86_REG_YMM0,
|
226
|
+
"xmm0": unicorn.x86_const.UC_X86_REG_XMM0,
|
227
|
+
"zmm1": unicorn.x86_const.UC_X86_REG_ZMM1,
|
228
|
+
"ymm1": unicorn.x86_const.UC_X86_REG_YMM1,
|
229
|
+
"xmm1": unicorn.x86_const.UC_X86_REG_XMM1,
|
230
|
+
"zmm2": unicorn.x86_const.UC_X86_REG_ZMM2,
|
231
|
+
"ymm2": unicorn.x86_const.UC_X86_REG_YMM2,
|
232
|
+
"xmm2": unicorn.x86_const.UC_X86_REG_XMM2,
|
233
|
+
"zmm3": unicorn.x86_const.UC_X86_REG_ZMM3,
|
234
|
+
"ymm3": unicorn.x86_const.UC_X86_REG_YMM3,
|
235
|
+
"xmm3": unicorn.x86_const.UC_X86_REG_XMM3,
|
236
|
+
"zmm4": unicorn.x86_const.UC_X86_REG_ZMM4,
|
237
|
+
"ymm4": unicorn.x86_const.UC_X86_REG_YMM4,
|
238
|
+
"xmm4": unicorn.x86_const.UC_X86_REG_XMM4,
|
239
|
+
"zmm5": unicorn.x86_const.UC_X86_REG_ZMM5,
|
240
|
+
"ymm5": unicorn.x86_const.UC_X86_REG_YMM5,
|
241
|
+
"xmm5": unicorn.x86_const.UC_X86_REG_XMM5,
|
242
|
+
"zmm6": unicorn.x86_const.UC_X86_REG_ZMM6,
|
243
|
+
"ymm6": unicorn.x86_const.UC_X86_REG_YMM6,
|
244
|
+
"xmm6": unicorn.x86_const.UC_X86_REG_XMM6,
|
245
|
+
"zmm7": unicorn.x86_const.UC_X86_REG_ZMM7,
|
246
|
+
"ymm7": unicorn.x86_const.UC_X86_REG_YMM7,
|
247
|
+
"xmm7": unicorn.x86_const.UC_X86_REG_XMM7,
|
248
|
+
"zmm8": unicorn.x86_const.UC_X86_REG_ZMM8,
|
249
|
+
"ymm8": unicorn.x86_const.UC_X86_REG_YMM8,
|
250
|
+
"xmm8": unicorn.x86_const.UC_X86_REG_XMM8,
|
251
|
+
"zmm9": unicorn.x86_const.UC_X86_REG_ZMM9,
|
252
|
+
"ymm9": unicorn.x86_const.UC_X86_REG_YMM9,
|
253
|
+
"xmm9": unicorn.x86_const.UC_X86_REG_XMM9,
|
254
|
+
"zmm10": unicorn.x86_const.UC_X86_REG_ZMM10,
|
255
|
+
"ymm10": unicorn.x86_const.UC_X86_REG_YMM10,
|
256
|
+
"xmm10": unicorn.x86_const.UC_X86_REG_XMM10,
|
257
|
+
"zmm11": unicorn.x86_const.UC_X86_REG_ZMM11,
|
258
|
+
"ymm11": unicorn.x86_const.UC_X86_REG_YMM11,
|
259
|
+
"xmm11": unicorn.x86_const.UC_X86_REG_XMM11,
|
260
|
+
"zmm12": unicorn.x86_const.UC_X86_REG_ZMM12,
|
261
|
+
"ymm12": unicorn.x86_const.UC_X86_REG_YMM12,
|
262
|
+
"xmm12": unicorn.x86_const.UC_X86_REG_XMM12,
|
263
|
+
"zmm13": unicorn.x86_const.UC_X86_REG_ZMM13,
|
264
|
+
"ymm13": unicorn.x86_const.UC_X86_REG_YMM13,
|
265
|
+
"xmm13": unicorn.x86_const.UC_X86_REG_XMM13,
|
266
|
+
"zmm14": unicorn.x86_const.UC_X86_REG_ZMM14,
|
267
|
+
"ymm14": unicorn.x86_const.UC_X86_REG_YMM14,
|
268
|
+
"xmm14": unicorn.x86_const.UC_X86_REG_XMM14,
|
269
|
+
"zmm15": unicorn.x86_const.UC_X86_REG_ZMM15,
|
270
|
+
"ymm15": unicorn.x86_const.UC_X86_REG_YMM15,
|
271
|
+
"xmm15": unicorn.x86_const.UC_X86_REG_XMM15,
|
272
|
+
"zmm16": unicorn.x86_const.UC_X86_REG_ZMM16,
|
273
|
+
"ymm16": unicorn.x86_const.UC_X86_REG_YMM16,
|
274
|
+
"xmm16": unicorn.x86_const.UC_X86_REG_XMM16,
|
275
|
+
"zmm17": unicorn.x86_const.UC_X86_REG_ZMM17,
|
276
|
+
"ymm17": unicorn.x86_const.UC_X86_REG_YMM17,
|
277
|
+
"xmm17": unicorn.x86_const.UC_X86_REG_XMM17,
|
278
|
+
"zmm18": unicorn.x86_const.UC_X86_REG_ZMM18,
|
279
|
+
"ymm18": unicorn.x86_const.UC_X86_REG_YMM18,
|
280
|
+
"xmm18": unicorn.x86_const.UC_X86_REG_XMM18,
|
281
|
+
"zmm19": unicorn.x86_const.UC_X86_REG_ZMM19,
|
282
|
+
"ymm19": unicorn.x86_const.UC_X86_REG_YMM19,
|
283
|
+
"xmm19": unicorn.x86_const.UC_X86_REG_XMM19,
|
284
|
+
"zmm20": unicorn.x86_const.UC_X86_REG_ZMM20,
|
285
|
+
"ymm20": unicorn.x86_const.UC_X86_REG_YMM20,
|
286
|
+
"xmm20": unicorn.x86_const.UC_X86_REG_XMM20,
|
287
|
+
"zmm21": unicorn.x86_const.UC_X86_REG_ZMM21,
|
288
|
+
"ymm21": unicorn.x86_const.UC_X86_REG_YMM21,
|
289
|
+
"xmm21": unicorn.x86_const.UC_X86_REG_XMM21,
|
290
|
+
"zmm22": unicorn.x86_const.UC_X86_REG_ZMM22,
|
291
|
+
"ymm22": unicorn.x86_const.UC_X86_REG_YMM22,
|
292
|
+
"xmm22": unicorn.x86_const.UC_X86_REG_XMM22,
|
293
|
+
"zmm23": unicorn.x86_const.UC_X86_REG_ZMM23,
|
294
|
+
"ymm23": unicorn.x86_const.UC_X86_REG_YMM23,
|
295
|
+
"xmm23": unicorn.x86_const.UC_X86_REG_XMM23,
|
296
|
+
"zmm24": unicorn.x86_const.UC_X86_REG_ZMM24,
|
297
|
+
"ymm24": unicorn.x86_const.UC_X86_REG_YMM24,
|
298
|
+
"xmm24": unicorn.x86_const.UC_X86_REG_XMM24,
|
299
|
+
"zmm25": unicorn.x86_const.UC_X86_REG_ZMM25,
|
300
|
+
"ymm25": unicorn.x86_const.UC_X86_REG_YMM25,
|
301
|
+
"xmm25": unicorn.x86_const.UC_X86_REG_XMM25,
|
302
|
+
"zmm26": unicorn.x86_const.UC_X86_REG_ZMM26,
|
303
|
+
"ymm26": unicorn.x86_const.UC_X86_REG_YMM26,
|
304
|
+
"xmm26": unicorn.x86_const.UC_X86_REG_XMM26,
|
305
|
+
"zmm27": unicorn.x86_const.UC_X86_REG_ZMM27,
|
306
|
+
"ymm27": unicorn.x86_const.UC_X86_REG_YMM27,
|
307
|
+
"xmm27": unicorn.x86_const.UC_X86_REG_XMM27,
|
308
|
+
"zmm28": unicorn.x86_const.UC_X86_REG_ZMM28,
|
309
|
+
"ymm28": unicorn.x86_const.UC_X86_REG_YMM28,
|
310
|
+
"xmm28": unicorn.x86_const.UC_X86_REG_XMM28,
|
311
|
+
"zmm29": unicorn.x86_const.UC_X86_REG_ZMM29,
|
312
|
+
"ymm29": unicorn.x86_const.UC_X86_REG_YMM29,
|
313
|
+
"xmm29": unicorn.x86_const.UC_X86_REG_XMM29,
|
314
|
+
"zmm30": unicorn.x86_const.UC_X86_REG_ZMM30,
|
315
|
+
"ymm30": unicorn.x86_const.UC_X86_REG_YMM30,
|
316
|
+
"xmm30": unicorn.x86_const.UC_X86_REG_XMM30,
|
317
|
+
"zmm31": unicorn.x86_const.UC_X86_REG_ZMM31,
|
318
|
+
"ymm31": unicorn.x86_const.UC_X86_REG_YMM31,
|
319
|
+
"xmm31": unicorn.x86_const.UC_X86_REG_XMM31,
|
325
320
|
}
|
326
321
|
)
|