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
|
@@ -12,299 +11,289 @@ class AArch64MachineDef(UnicornMachineDef):
|
|
12
11
|
uc_arch = unicorn.UC_ARCH_ARM64
|
13
12
|
uc_mode = unicorn.UC_MODE_ARM
|
14
13
|
|
15
|
-
cs_arch = capstone.CS_ARCH_ARM64
|
16
|
-
cs_mode = capstone.CS_MODE_ARM
|
17
|
-
|
18
|
-
pc_reg = "pc"
|
19
|
-
|
20
14
|
_registers = {
|
21
15
|
# *** General Purpose Registers ***
|
22
|
-
"x0":
|
23
|
-
"w0":
|
24
|
-
"x1":
|
25
|
-
"w1":
|
26
|
-
"x2":
|
27
|
-
"w2":
|
28
|
-
"x3":
|
29
|
-
"w3":
|
30
|
-
"x4":
|
31
|
-
"w4":
|
32
|
-
"x5":
|
33
|
-
"w5":
|
34
|
-
"x6":
|
35
|
-
"w6":
|
36
|
-
"x7":
|
37
|
-
"w7":
|
38
|
-
"x8":
|
39
|
-
"w8":
|
40
|
-
"x9":
|
41
|
-
"w9":
|
42
|
-
"x10":
|
43
|
-
"w10":
|
44
|
-
"x11":
|
45
|
-
"w11":
|
46
|
-
"x12":
|
47
|
-
"w12":
|
48
|
-
"x13":
|
49
|
-
"w13":
|
50
|
-
"x14":
|
51
|
-
"w14":
|
52
|
-
"x15":
|
53
|
-
"w15":
|
54
|
-
"x16":
|
55
|
-
"w16":
|
56
|
-
"x17":
|
57
|
-
"w17":
|
58
|
-
"x18":
|
59
|
-
"w18":
|
60
|
-
"x19":
|
61
|
-
"w19":
|
62
|
-
"x20":
|
63
|
-
"w20":
|
64
|
-
"x21":
|
65
|
-
"w21":
|
66
|
-
"x22":
|
67
|
-
"w22":
|
68
|
-
"x23":
|
69
|
-
"w23":
|
70
|
-
"x24":
|
71
|
-
"w24":
|
72
|
-
"x25":
|
73
|
-
"w25":
|
74
|
-
"x26":
|
75
|
-
"w26":
|
76
|
-
"x27":
|
77
|
-
"w27":
|
78
|
-
"x28":
|
79
|
-
"w28":
|
80
|
-
"x29":
|
81
|
-
"w29":
|
82
|
-
"x30":
|
83
|
-
"w30":
|
16
|
+
"x0": unicorn.arm64_const.UC_ARM64_REG_X0,
|
17
|
+
"w0": unicorn.arm64_const.UC_ARM64_REG_W0,
|
18
|
+
"x1": unicorn.arm64_const.UC_ARM64_REG_X1,
|
19
|
+
"w1": unicorn.arm64_const.UC_ARM64_REG_W1,
|
20
|
+
"x2": unicorn.arm64_const.UC_ARM64_REG_X2,
|
21
|
+
"w2": unicorn.arm64_const.UC_ARM64_REG_W2,
|
22
|
+
"x3": unicorn.arm64_const.UC_ARM64_REG_X3,
|
23
|
+
"w3": unicorn.arm64_const.UC_ARM64_REG_W3,
|
24
|
+
"x4": unicorn.arm64_const.UC_ARM64_REG_X4,
|
25
|
+
"w4": unicorn.arm64_const.UC_ARM64_REG_W4,
|
26
|
+
"x5": unicorn.arm64_const.UC_ARM64_REG_X5,
|
27
|
+
"w5": unicorn.arm64_const.UC_ARM64_REG_W5,
|
28
|
+
"x6": unicorn.arm64_const.UC_ARM64_REG_X6,
|
29
|
+
"w6": unicorn.arm64_const.UC_ARM64_REG_W6,
|
30
|
+
"x7": unicorn.arm64_const.UC_ARM64_REG_X7,
|
31
|
+
"w7": unicorn.arm64_const.UC_ARM64_REG_W7,
|
32
|
+
"x8": unicorn.arm64_const.UC_ARM64_REG_X8,
|
33
|
+
"w8": unicorn.arm64_const.UC_ARM64_REG_W8,
|
34
|
+
"x9": unicorn.arm64_const.UC_ARM64_REG_X9,
|
35
|
+
"w9": unicorn.arm64_const.UC_ARM64_REG_W9,
|
36
|
+
"x10": unicorn.arm64_const.UC_ARM64_REG_X10,
|
37
|
+
"w10": unicorn.arm64_const.UC_ARM64_REG_W10,
|
38
|
+
"x11": unicorn.arm64_const.UC_ARM64_REG_X11,
|
39
|
+
"w11": unicorn.arm64_const.UC_ARM64_REG_W11,
|
40
|
+
"x12": unicorn.arm64_const.UC_ARM64_REG_X12,
|
41
|
+
"w12": unicorn.arm64_const.UC_ARM64_REG_W12,
|
42
|
+
"x13": unicorn.arm64_const.UC_ARM64_REG_X13,
|
43
|
+
"w13": unicorn.arm64_const.UC_ARM64_REG_W13,
|
44
|
+
"x14": unicorn.arm64_const.UC_ARM64_REG_X14,
|
45
|
+
"w14": unicorn.arm64_const.UC_ARM64_REG_W14,
|
46
|
+
"x15": unicorn.arm64_const.UC_ARM64_REG_X15,
|
47
|
+
"w15": unicorn.arm64_const.UC_ARM64_REG_W15,
|
48
|
+
"x16": unicorn.arm64_const.UC_ARM64_REG_X16,
|
49
|
+
"w16": unicorn.arm64_const.UC_ARM64_REG_W16,
|
50
|
+
"x17": unicorn.arm64_const.UC_ARM64_REG_X17,
|
51
|
+
"w17": unicorn.arm64_const.UC_ARM64_REG_W17,
|
52
|
+
"x18": unicorn.arm64_const.UC_ARM64_REG_X18,
|
53
|
+
"w18": unicorn.arm64_const.UC_ARM64_REG_W18,
|
54
|
+
"x19": unicorn.arm64_const.UC_ARM64_REG_X19,
|
55
|
+
"w19": unicorn.arm64_const.UC_ARM64_REG_W19,
|
56
|
+
"x20": unicorn.arm64_const.UC_ARM64_REG_X20,
|
57
|
+
"w20": unicorn.arm64_const.UC_ARM64_REG_W20,
|
58
|
+
"x21": unicorn.arm64_const.UC_ARM64_REG_X21,
|
59
|
+
"w21": unicorn.arm64_const.UC_ARM64_REG_W21,
|
60
|
+
"x22": unicorn.arm64_const.UC_ARM64_REG_X22,
|
61
|
+
"w22": unicorn.arm64_const.UC_ARM64_REG_W22,
|
62
|
+
"x23": unicorn.arm64_const.UC_ARM64_REG_X23,
|
63
|
+
"w23": unicorn.arm64_const.UC_ARM64_REG_W23,
|
64
|
+
"x24": unicorn.arm64_const.UC_ARM64_REG_X24,
|
65
|
+
"w24": unicorn.arm64_const.UC_ARM64_REG_W24,
|
66
|
+
"x25": unicorn.arm64_const.UC_ARM64_REG_X25,
|
67
|
+
"w25": unicorn.arm64_const.UC_ARM64_REG_W25,
|
68
|
+
"x26": unicorn.arm64_const.UC_ARM64_REG_X26,
|
69
|
+
"w26": unicorn.arm64_const.UC_ARM64_REG_W26,
|
70
|
+
"x27": unicorn.arm64_const.UC_ARM64_REG_X27,
|
71
|
+
"w27": unicorn.arm64_const.UC_ARM64_REG_W27,
|
72
|
+
"x28": unicorn.arm64_const.UC_ARM64_REG_X28,
|
73
|
+
"w28": unicorn.arm64_const.UC_ARM64_REG_W28,
|
74
|
+
"x29": unicorn.arm64_const.UC_ARM64_REG_X29,
|
75
|
+
"w29": unicorn.arm64_const.UC_ARM64_REG_W29,
|
76
|
+
"x30": unicorn.arm64_const.UC_ARM64_REG_X30,
|
77
|
+
"w30": unicorn.arm64_const.UC_ARM64_REG_W30,
|
84
78
|
# *** Program Counter ***
|
85
|
-
"pc":
|
79
|
+
"pc": unicorn.arm64_const.UC_ARM64_REG_PC,
|
86
80
|
# *** Stack Pointer ***
|
87
|
-
"sp":
|
88
|
-
"wsp":
|
81
|
+
"sp": unicorn.arm64_const.UC_ARM64_REG_SP,
|
82
|
+
"wsp": unicorn.arm64_const.UC_ARM64_REG_WSP,
|
89
83
|
# *** Frame Pointer ***
|
90
|
-
"fp":
|
84
|
+
"fp": unicorn.arm64_const.UC_ARM64_REG_FP,
|
91
85
|
# *** Link Register ***
|
92
|
-
"lr":
|
86
|
+
"lr": unicorn.arm64_const.UC_ARM64_REG_LR,
|
93
87
|
# *** Zero Register ***
|
94
|
-
"xzr":
|
95
|
-
"wzr":
|
88
|
+
"xzr": unicorn.arm64_const.UC_ARM64_REG_INVALID,
|
89
|
+
"wzr": unicorn.arm64_const.UC_ARM64_REG_INVALID,
|
96
90
|
# *** System Control Registers ***
|
97
91
|
# NOTE: "_elX" indicates that only exception level X or greater can access this register.
|
98
92
|
# NOTE: This list is far from complete; it only covers what Unicorn supports
|
99
93
|
# Condition Code Register
|
100
|
-
"fpcr":
|
94
|
+
"fpcr": unicorn.arm64_const.UC_ARM64_REG_FPCR,
|
101
95
|
# Floating Point Status Register
|
102
|
-
"fpsr":
|
96
|
+
"fpsr": unicorn.arm64_const.UC_ARM64_REG_FPSR,
|
103
97
|
# Banked stack pointers for exception handlers
|
104
|
-
"sp_el0":
|
105
|
-
"sp_el1":
|
106
|
-
"sp_el2":
|
107
|
-
"sp_el3":
|
98
|
+
"sp_el0": unicorn.arm64_const.UC_ARM64_REG_SP_EL0,
|
99
|
+
"sp_el1": unicorn.arm64_const.UC_ARM64_REG_SP_EL1,
|
100
|
+
"sp_el2": unicorn.arm64_const.UC_ARM64_REG_SP_EL2,
|
101
|
+
"sp_el3": unicorn.arm64_const.UC_ARM64_REG_SP_EL3,
|
108
102
|
# Banked link registers for exception handlers
|
109
103
|
# NOTE: Unicorn thinks there's an elr_el0; according to docs, it doesn't exist
|
110
|
-
"elr_el1":
|
111
|
-
"elr_el2":
|
112
|
-
"elr_el3":
|
104
|
+
"elr_el1": unicorn.arm64_const.UC_ARM64_REG_ELR_EL1,
|
105
|
+
"elr_el2": unicorn.arm64_const.UC_ARM64_REG_ELR_EL2,
|
106
|
+
"elr_el3": unicorn.arm64_const.UC_ARM64_REG_ELR_EL3,
|
113
107
|
# Banked exception syndrome registers for exception handlers
|
114
108
|
# NOTE: Unicorn thinks there's a far_el0; according to docs, it doesn't exist
|
115
|
-
"far_el1":
|
116
|
-
"far_el2":
|
117
|
-
"far_el3":
|
109
|
+
"far_el1": unicorn.arm64_const.UC_ARM64_REG_FAR_EL1,
|
110
|
+
"far_el2": unicorn.arm64_const.UC_ARM64_REG_FAR_EL2,
|
111
|
+
"far_el3": unicorn.arm64_const.UC_ARM64_REG_FAR_EL3,
|
118
112
|
# Banked vector base address registers for exception handlers
|
119
113
|
# NOTE: vbar_el0 and vbar_el1 are aliases for each other.
|
120
114
|
# Since vbar_el0 doesn't exist in angr, vbar_el1 has to be the "real" copy.
|
121
|
-
"vbar_el1":
|
122
|
-
"vbar_el0":
|
123
|
-
"vbar_el2":
|
124
|
-
"vbar_el3":
|
115
|
+
"vbar_el1": unicorn.arm64_const.UC_ARM64_REG_VBAR_EL1,
|
116
|
+
"vbar_el0": unicorn.arm64_const.UC_ARM64_REG_VBAR_EL0,
|
117
|
+
"vbar_el2": unicorn.arm64_const.UC_ARM64_REG_VBAR_EL2,
|
118
|
+
"vbar_el3": unicorn.arm64_const.UC_ARM64_REG_VBAR_EL3,
|
125
119
|
# Coprocessor access control register
|
126
|
-
"cpacr_el1":
|
120
|
+
"cpacr_el1": unicorn.arm64_const.UC_ARM64_REG_CPACR_EL1,
|
127
121
|
# Memory Attribute Indirection Register
|
128
|
-
"mair_el1":
|
122
|
+
"mair_el1": unicorn.arm64_const.UC_ARM64_REG_MAIR_EL1,
|
129
123
|
# Physical Address Register
|
130
|
-
"par_el1":
|
124
|
+
"par_el1": unicorn.arm64_const.UC_ARM64_REG_PAR_EL1,
|
131
125
|
# Translation Table Zero Base Register
|
132
|
-
"ttbr0_el1":
|
126
|
+
"ttbr0_el1": unicorn.arm64_const.UC_ARM64_REG_TTBR0_EL1,
|
133
127
|
# Translation Table One Base Register
|
134
|
-
"ttbr1_el1":
|
128
|
+
"ttbr1_el1": unicorn.arm64_const.UC_ARM64_REG_TTBR1_EL1,
|
135
129
|
# Thread ID Register
|
136
130
|
# NOTE: According to docs, there should be an el2 and el3 copy, too.
|
137
|
-
"tpidr_el0":
|
138
|
-
"tpidr_el1":
|
131
|
+
"tpidr_el0": unicorn.arm64_const.UC_ARM64_REG_TPIDR_EL0,
|
132
|
+
"tpidr_el1": unicorn.arm64_const.UC_ARM64_REG_TPIDR_EL1,
|
139
133
|
# Userspace-visible Thread ID register
|
140
|
-
"tpidrro_el0":
|
141
|
-
unicorn.arm64_const.UC_ARM64_REG_TPIDRRO_EL0,
|
142
|
-
"tpidrro_el0",
|
143
|
-
8,
|
144
|
-
0,
|
145
|
-
),
|
134
|
+
"tpidrro_el0": unicorn.arm64_const.UC_ARM64_REG_TPIDRRO_EL0,
|
146
135
|
# *** Floating Point Registers ***
|
147
136
|
# Scalar Floating Point Registers
|
148
|
-
"q0":
|
149
|
-
"d0":
|
150
|
-
"s0":
|
151
|
-
"h0":
|
152
|
-
"b0":
|
153
|
-
"q1":
|
154
|
-
"d1":
|
155
|
-
"s1":
|
156
|
-
"h1":
|
157
|
-
"b1":
|
158
|
-
"q2":
|
159
|
-
"d2":
|
160
|
-
"s2":
|
161
|
-
"h2":
|
162
|
-
"b2":
|
163
|
-
"q3":
|
164
|
-
"d3":
|
165
|
-
"s3":
|
166
|
-
"h3":
|
167
|
-
"b3":
|
168
|
-
"q4":
|
169
|
-
"d4":
|
170
|
-
"s4":
|
171
|
-
"h4":
|
172
|
-
"b4":
|
173
|
-
"q5":
|
174
|
-
"d5":
|
175
|
-
"s5":
|
176
|
-
"h5":
|
177
|
-
"b5":
|
178
|
-
"q6":
|
179
|
-
"d6":
|
180
|
-
"s6":
|
181
|
-
"h6":
|
182
|
-
"b6":
|
183
|
-
"q7":
|
184
|
-
"d7":
|
185
|
-
"s7":
|
186
|
-
"h7":
|
187
|
-
"b7":
|
188
|
-
"q8":
|
189
|
-
"d8":
|
190
|
-
"s8":
|
191
|
-
"h8":
|
192
|
-
"b8":
|
193
|
-
"q9":
|
194
|
-
"d9":
|
195
|
-
"s9":
|
196
|
-
"h9":
|
197
|
-
"b9":
|
198
|
-
"q10":
|
199
|
-
"d10":
|
200
|
-
"s10":
|
201
|
-
"h10":
|
202
|
-
"b10":
|
203
|
-
"q11":
|
204
|
-
"d11":
|
205
|
-
"s11":
|
206
|
-
"h11":
|
207
|
-
"b11":
|
208
|
-
"q12":
|
209
|
-
"d12":
|
210
|
-
"s12":
|
211
|
-
"h12":
|
212
|
-
"b12":
|
213
|
-
"q13":
|
214
|
-
"d13":
|
215
|
-
"s13":
|
216
|
-
"h13":
|
217
|
-
"b13":
|
218
|
-
"q14":
|
219
|
-
"d14":
|
220
|
-
"s14":
|
221
|
-
"h14":
|
222
|
-
"b14":
|
223
|
-
"q15":
|
224
|
-
"d15":
|
225
|
-
"s15":
|
226
|
-
"h15":
|
227
|
-
"b15":
|
228
|
-
"q16":
|
229
|
-
"d16":
|
230
|
-
"s16":
|
231
|
-
"h16":
|
232
|
-
"b16":
|
233
|
-
"q17":
|
234
|
-
"d17":
|
235
|
-
"s17":
|
236
|
-
"h17":
|
237
|
-
"b17":
|
238
|
-
"q18":
|
239
|
-
"d18":
|
240
|
-
"s18":
|
241
|
-
"h18":
|
242
|
-
"b18":
|
243
|
-
"q19":
|
244
|
-
"d19":
|
245
|
-
"s19":
|
246
|
-
"h19":
|
247
|
-
"b19":
|
248
|
-
"q20":
|
249
|
-
"d20":
|
250
|
-
"s20":
|
251
|
-
"h20":
|
252
|
-
"b20":
|
253
|
-
"q21":
|
254
|
-
"d21":
|
255
|
-
"s21":
|
256
|
-
"h21":
|
257
|
-
"b21":
|
258
|
-
"q22":
|
259
|
-
"d22":
|
260
|
-
"s22":
|
261
|
-
"h22":
|
262
|
-
"b22":
|
263
|
-
"q23":
|
264
|
-
"d23":
|
265
|
-
"s23":
|
266
|
-
"h23":
|
267
|
-
"b23":
|
268
|
-
"q24":
|
269
|
-
"d24":
|
270
|
-
"s24":
|
271
|
-
"h24":
|
272
|
-
"b24":
|
273
|
-
"q25":
|
274
|
-
"d25":
|
275
|
-
"s25":
|
276
|
-
"h25":
|
277
|
-
"b25":
|
278
|
-
"q26":
|
279
|
-
"d26":
|
280
|
-
"s26":
|
281
|
-
"h26":
|
282
|
-
"b26":
|
283
|
-
"q27":
|
284
|
-
"d27":
|
285
|
-
"s27":
|
286
|
-
"h27":
|
287
|
-
"b27":
|
288
|
-
"q28":
|
289
|
-
"d28":
|
290
|
-
"s28":
|
291
|
-
"h28":
|
292
|
-
"b28":
|
293
|
-
"q29":
|
294
|
-
"d29":
|
295
|
-
"s29":
|
296
|
-
"h29":
|
297
|
-
"b29":
|
298
|
-
"q30":
|
299
|
-
"d30":
|
300
|
-
"s30":
|
301
|
-
"h30":
|
302
|
-
"b30":
|
303
|
-
"q31":
|
304
|
-
"d31":
|
305
|
-
"s31":
|
306
|
-
"h31":
|
307
|
-
"b31":
|
137
|
+
"q0": unicorn.arm64_const.UC_ARM64_REG_Q0,
|
138
|
+
"d0": unicorn.arm64_const.UC_ARM64_REG_D0,
|
139
|
+
"s0": unicorn.arm64_const.UC_ARM64_REG_S0,
|
140
|
+
"h0": unicorn.arm64_const.UC_ARM64_REG_H0,
|
141
|
+
"b0": unicorn.arm64_const.UC_ARM64_REG_B0,
|
142
|
+
"q1": unicorn.arm64_const.UC_ARM64_REG_Q1,
|
143
|
+
"d1": unicorn.arm64_const.UC_ARM64_REG_D1,
|
144
|
+
"s1": unicorn.arm64_const.UC_ARM64_REG_S1,
|
145
|
+
"h1": unicorn.arm64_const.UC_ARM64_REG_H1,
|
146
|
+
"b1": unicorn.arm64_const.UC_ARM64_REG_B1,
|
147
|
+
"q2": unicorn.arm64_const.UC_ARM64_REG_Q2,
|
148
|
+
"d2": unicorn.arm64_const.UC_ARM64_REG_D2,
|
149
|
+
"s2": unicorn.arm64_const.UC_ARM64_REG_S2,
|
150
|
+
"h2": unicorn.arm64_const.UC_ARM64_REG_H2,
|
151
|
+
"b2": unicorn.arm64_const.UC_ARM64_REG_B2,
|
152
|
+
"q3": unicorn.arm64_const.UC_ARM64_REG_Q3,
|
153
|
+
"d3": unicorn.arm64_const.UC_ARM64_REG_D3,
|
154
|
+
"s3": unicorn.arm64_const.UC_ARM64_REG_S3,
|
155
|
+
"h3": unicorn.arm64_const.UC_ARM64_REG_H3,
|
156
|
+
"b3": unicorn.arm64_const.UC_ARM64_REG_B3,
|
157
|
+
"q4": unicorn.arm64_const.UC_ARM64_REG_Q4,
|
158
|
+
"d4": unicorn.arm64_const.UC_ARM64_REG_D4,
|
159
|
+
"s4": unicorn.arm64_const.UC_ARM64_REG_S4,
|
160
|
+
"h4": unicorn.arm64_const.UC_ARM64_REG_H4,
|
161
|
+
"b4": unicorn.arm64_const.UC_ARM64_REG_B4,
|
162
|
+
"q5": unicorn.arm64_const.UC_ARM64_REG_Q5,
|
163
|
+
"d5": unicorn.arm64_const.UC_ARM64_REG_D5,
|
164
|
+
"s5": unicorn.arm64_const.UC_ARM64_REG_S5,
|
165
|
+
"h5": unicorn.arm64_const.UC_ARM64_REG_H5,
|
166
|
+
"b5": unicorn.arm64_const.UC_ARM64_REG_B5,
|
167
|
+
"q6": unicorn.arm64_const.UC_ARM64_REG_Q6,
|
168
|
+
"d6": unicorn.arm64_const.UC_ARM64_REG_D6,
|
169
|
+
"s6": unicorn.arm64_const.UC_ARM64_REG_S6,
|
170
|
+
"h6": unicorn.arm64_const.UC_ARM64_REG_H6,
|
171
|
+
"b6": unicorn.arm64_const.UC_ARM64_REG_B6,
|
172
|
+
"q7": unicorn.arm64_const.UC_ARM64_REG_Q7,
|
173
|
+
"d7": unicorn.arm64_const.UC_ARM64_REG_D7,
|
174
|
+
"s7": unicorn.arm64_const.UC_ARM64_REG_S7,
|
175
|
+
"h7": unicorn.arm64_const.UC_ARM64_REG_H7,
|
176
|
+
"b7": unicorn.arm64_const.UC_ARM64_REG_B7,
|
177
|
+
"q8": unicorn.arm64_const.UC_ARM64_REG_Q8,
|
178
|
+
"d8": unicorn.arm64_const.UC_ARM64_REG_D8,
|
179
|
+
"s8": unicorn.arm64_const.UC_ARM64_REG_S8,
|
180
|
+
"h8": unicorn.arm64_const.UC_ARM64_REG_H8,
|
181
|
+
"b8": unicorn.arm64_const.UC_ARM64_REG_B8,
|
182
|
+
"q9": unicorn.arm64_const.UC_ARM64_REG_Q9,
|
183
|
+
"d9": unicorn.arm64_const.UC_ARM64_REG_D9,
|
184
|
+
"s9": unicorn.arm64_const.UC_ARM64_REG_S9,
|
185
|
+
"h9": unicorn.arm64_const.UC_ARM64_REG_H9,
|
186
|
+
"b9": unicorn.arm64_const.UC_ARM64_REG_B9,
|
187
|
+
"q10": unicorn.arm64_const.UC_ARM64_REG_Q10,
|
188
|
+
"d10": unicorn.arm64_const.UC_ARM64_REG_D10,
|
189
|
+
"s10": unicorn.arm64_const.UC_ARM64_REG_S10,
|
190
|
+
"h10": unicorn.arm64_const.UC_ARM64_REG_H10,
|
191
|
+
"b10": unicorn.arm64_const.UC_ARM64_REG_B10,
|
192
|
+
"q11": unicorn.arm64_const.UC_ARM64_REG_Q11,
|
193
|
+
"d11": unicorn.arm64_const.UC_ARM64_REG_D11,
|
194
|
+
"s11": unicorn.arm64_const.UC_ARM64_REG_S11,
|
195
|
+
"h11": unicorn.arm64_const.UC_ARM64_REG_H11,
|
196
|
+
"b11": unicorn.arm64_const.UC_ARM64_REG_B11,
|
197
|
+
"q12": unicorn.arm64_const.UC_ARM64_REG_Q12,
|
198
|
+
"d12": unicorn.arm64_const.UC_ARM64_REG_D12,
|
199
|
+
"s12": unicorn.arm64_const.UC_ARM64_REG_S12,
|
200
|
+
"h12": unicorn.arm64_const.UC_ARM64_REG_H12,
|
201
|
+
"b12": unicorn.arm64_const.UC_ARM64_REG_B12,
|
202
|
+
"q13": unicorn.arm64_const.UC_ARM64_REG_Q13,
|
203
|
+
"d13": unicorn.arm64_const.UC_ARM64_REG_D13,
|
204
|
+
"s13": unicorn.arm64_const.UC_ARM64_REG_S13,
|
205
|
+
"h13": unicorn.arm64_const.UC_ARM64_REG_H13,
|
206
|
+
"b13": unicorn.arm64_const.UC_ARM64_REG_B13,
|
207
|
+
"q14": unicorn.arm64_const.UC_ARM64_REG_Q14,
|
208
|
+
"d14": unicorn.arm64_const.UC_ARM64_REG_D14,
|
209
|
+
"s14": unicorn.arm64_const.UC_ARM64_REG_S14,
|
210
|
+
"h14": unicorn.arm64_const.UC_ARM64_REG_H14,
|
211
|
+
"b14": unicorn.arm64_const.UC_ARM64_REG_B14,
|
212
|
+
"q15": unicorn.arm64_const.UC_ARM64_REG_Q15,
|
213
|
+
"d15": unicorn.arm64_const.UC_ARM64_REG_D15,
|
214
|
+
"s15": unicorn.arm64_const.UC_ARM64_REG_S15,
|
215
|
+
"h15": unicorn.arm64_const.UC_ARM64_REG_H15,
|
216
|
+
"b15": unicorn.arm64_const.UC_ARM64_REG_B15,
|
217
|
+
"q16": unicorn.arm64_const.UC_ARM64_REG_Q16,
|
218
|
+
"d16": unicorn.arm64_const.UC_ARM64_REG_D16,
|
219
|
+
"s16": unicorn.arm64_const.UC_ARM64_REG_S16,
|
220
|
+
"h16": unicorn.arm64_const.UC_ARM64_REG_H16,
|
221
|
+
"b16": unicorn.arm64_const.UC_ARM64_REG_B16,
|
222
|
+
"q17": unicorn.arm64_const.UC_ARM64_REG_Q17,
|
223
|
+
"d17": unicorn.arm64_const.UC_ARM64_REG_D17,
|
224
|
+
"s17": unicorn.arm64_const.UC_ARM64_REG_S17,
|
225
|
+
"h17": unicorn.arm64_const.UC_ARM64_REG_H17,
|
226
|
+
"b17": unicorn.arm64_const.UC_ARM64_REG_B17,
|
227
|
+
"q18": unicorn.arm64_const.UC_ARM64_REG_Q18,
|
228
|
+
"d18": unicorn.arm64_const.UC_ARM64_REG_D18,
|
229
|
+
"s18": unicorn.arm64_const.UC_ARM64_REG_S18,
|
230
|
+
"h18": unicorn.arm64_const.UC_ARM64_REG_H18,
|
231
|
+
"b18": unicorn.arm64_const.UC_ARM64_REG_B18,
|
232
|
+
"q19": unicorn.arm64_const.UC_ARM64_REG_Q19,
|
233
|
+
"d19": unicorn.arm64_const.UC_ARM64_REG_D19,
|
234
|
+
"s19": unicorn.arm64_const.UC_ARM64_REG_S19,
|
235
|
+
"h19": unicorn.arm64_const.UC_ARM64_REG_H19,
|
236
|
+
"b19": unicorn.arm64_const.UC_ARM64_REG_B19,
|
237
|
+
"q20": unicorn.arm64_const.UC_ARM64_REG_Q20,
|
238
|
+
"d20": unicorn.arm64_const.UC_ARM64_REG_D20,
|
239
|
+
"s20": unicorn.arm64_const.UC_ARM64_REG_S20,
|
240
|
+
"h20": unicorn.arm64_const.UC_ARM64_REG_H20,
|
241
|
+
"b20": unicorn.arm64_const.UC_ARM64_REG_B20,
|
242
|
+
"q21": unicorn.arm64_const.UC_ARM64_REG_Q21,
|
243
|
+
"d21": unicorn.arm64_const.UC_ARM64_REG_D21,
|
244
|
+
"s21": unicorn.arm64_const.UC_ARM64_REG_S21,
|
245
|
+
"h21": unicorn.arm64_const.UC_ARM64_REG_H21,
|
246
|
+
"b21": unicorn.arm64_const.UC_ARM64_REG_B21,
|
247
|
+
"q22": unicorn.arm64_const.UC_ARM64_REG_Q22,
|
248
|
+
"d22": unicorn.arm64_const.UC_ARM64_REG_D22,
|
249
|
+
"s22": unicorn.arm64_const.UC_ARM64_REG_S22,
|
250
|
+
"h22": unicorn.arm64_const.UC_ARM64_REG_H22,
|
251
|
+
"b22": unicorn.arm64_const.UC_ARM64_REG_B22,
|
252
|
+
"q23": unicorn.arm64_const.UC_ARM64_REG_Q23,
|
253
|
+
"d23": unicorn.arm64_const.UC_ARM64_REG_D23,
|
254
|
+
"s23": unicorn.arm64_const.UC_ARM64_REG_S23,
|
255
|
+
"h23": unicorn.arm64_const.UC_ARM64_REG_H23,
|
256
|
+
"b23": unicorn.arm64_const.UC_ARM64_REG_B23,
|
257
|
+
"q24": unicorn.arm64_const.UC_ARM64_REG_Q24,
|
258
|
+
"d24": unicorn.arm64_const.UC_ARM64_REG_D24,
|
259
|
+
"s24": unicorn.arm64_const.UC_ARM64_REG_S24,
|
260
|
+
"h24": unicorn.arm64_const.UC_ARM64_REG_H24,
|
261
|
+
"b24": unicorn.arm64_const.UC_ARM64_REG_B24,
|
262
|
+
"q25": unicorn.arm64_const.UC_ARM64_REG_Q25,
|
263
|
+
"d25": unicorn.arm64_const.UC_ARM64_REG_D25,
|
264
|
+
"s25": unicorn.arm64_const.UC_ARM64_REG_S25,
|
265
|
+
"h25": unicorn.arm64_const.UC_ARM64_REG_H25,
|
266
|
+
"b25": unicorn.arm64_const.UC_ARM64_REG_B25,
|
267
|
+
"q26": unicorn.arm64_const.UC_ARM64_REG_Q26,
|
268
|
+
"d26": unicorn.arm64_const.UC_ARM64_REG_D26,
|
269
|
+
"s26": unicorn.arm64_const.UC_ARM64_REG_S26,
|
270
|
+
"h26": unicorn.arm64_const.UC_ARM64_REG_H26,
|
271
|
+
"b26": unicorn.arm64_const.UC_ARM64_REG_B26,
|
272
|
+
"q27": unicorn.arm64_const.UC_ARM64_REG_Q27,
|
273
|
+
"d27": unicorn.arm64_const.UC_ARM64_REG_D27,
|
274
|
+
"s27": unicorn.arm64_const.UC_ARM64_REG_S27,
|
275
|
+
"h27": unicorn.arm64_const.UC_ARM64_REG_H27,
|
276
|
+
"b27": unicorn.arm64_const.UC_ARM64_REG_B27,
|
277
|
+
"q28": unicorn.arm64_const.UC_ARM64_REG_Q28,
|
278
|
+
"d28": unicorn.arm64_const.UC_ARM64_REG_D28,
|
279
|
+
"s28": unicorn.arm64_const.UC_ARM64_REG_S28,
|
280
|
+
"h28": unicorn.arm64_const.UC_ARM64_REG_H28,
|
281
|
+
"b28": unicorn.arm64_const.UC_ARM64_REG_B28,
|
282
|
+
"q29": unicorn.arm64_const.UC_ARM64_REG_Q29,
|
283
|
+
"d29": unicorn.arm64_const.UC_ARM64_REG_D29,
|
284
|
+
"s29": unicorn.arm64_const.UC_ARM64_REG_S29,
|
285
|
+
"h29": unicorn.arm64_const.UC_ARM64_REG_H29,
|
286
|
+
"b29": unicorn.arm64_const.UC_ARM64_REG_B29,
|
287
|
+
"q30": unicorn.arm64_const.UC_ARM64_REG_Q30,
|
288
|
+
"d30": unicorn.arm64_const.UC_ARM64_REG_D30,
|
289
|
+
"s30": unicorn.arm64_const.UC_ARM64_REG_S30,
|
290
|
+
"h30": unicorn.arm64_const.UC_ARM64_REG_H30,
|
291
|
+
"b30": unicorn.arm64_const.UC_ARM64_REG_B30,
|
292
|
+
"q31": unicorn.arm64_const.UC_ARM64_REG_Q31,
|
293
|
+
"d31": unicorn.arm64_const.UC_ARM64_REG_D31,
|
294
|
+
"s31": unicorn.arm64_const.UC_ARM64_REG_S31,
|
295
|
+
"h31": unicorn.arm64_const.UC_ARM64_REG_H31,
|
296
|
+
"b31": unicorn.arm64_const.UC_ARM64_REG_B31,
|
308
297
|
# Vector registers
|
309
298
|
# TODO: Figure out how to model these
|
310
299
|
}
|