pyvex 9.2.189__cp313-cp313-musllinux_1_2_aarch64.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.
Potentially problematic release.
This version of pyvex might be problematic. Click here for more details.
- pyvex/__init__.py +92 -0
- pyvex/_register_info.py +1800 -0
- pyvex/arches.py +94 -0
- pyvex/block.py +697 -0
- pyvex/const.py +426 -0
- pyvex/const_val.py +26 -0
- pyvex/data_ref.py +55 -0
- pyvex/enums.py +156 -0
- pyvex/errors.py +31 -0
- pyvex/expr.py +974 -0
- pyvex/include/libvex.h +1029 -0
- pyvex/include/libvex_basictypes.h +236 -0
- pyvex/include/libvex_emnote.h +142 -0
- pyvex/include/libvex_guest_amd64.h +252 -0
- pyvex/include/libvex_guest_arm.h +224 -0
- pyvex/include/libvex_guest_arm64.h +203 -0
- pyvex/include/libvex_guest_mips32.h +175 -0
- pyvex/include/libvex_guest_mips64.h +173 -0
- pyvex/include/libvex_guest_offsets.h +941 -0
- pyvex/include/libvex_guest_ppc32.h +298 -0
- pyvex/include/libvex_guest_ppc64.h +343 -0
- pyvex/include/libvex_guest_riscv64.h +148 -0
- pyvex/include/libvex_guest_s390x.h +201 -0
- pyvex/include/libvex_guest_tilegx.h +149 -0
- pyvex/include/libvex_guest_x86.h +322 -0
- pyvex/include/libvex_ir.h +3113 -0
- pyvex/include/libvex_s390x_common.h +123 -0
- pyvex/include/libvex_trc_values.h +99 -0
- pyvex/include/pyvex.h +96 -0
- pyvex/lib/libpyvex.so +0 -0
- pyvex/lifting/__init__.py +18 -0
- pyvex/lifting/gym/README.md +7 -0
- pyvex/lifting/gym/__init__.py +5 -0
- pyvex/lifting/gym/aarch64_spotter.py +40 -0
- pyvex/lifting/gym/arm_spotter.py +427 -0
- pyvex/lifting/gym/x86_spotter.py +129 -0
- pyvex/lifting/libvex.py +117 -0
- pyvex/lifting/lift_function.py +304 -0
- pyvex/lifting/lifter.py +124 -0
- pyvex/lifting/post_processor.py +16 -0
- pyvex/lifting/util/__init__.py +14 -0
- pyvex/lifting/util/instr_helper.py +422 -0
- pyvex/lifting/util/lifter_helper.py +154 -0
- pyvex/lifting/util/syntax_wrapper.py +312 -0
- pyvex/lifting/util/vex_helper.py +301 -0
- pyvex/lifting/zerodivision.py +71 -0
- pyvex/native.py +63 -0
- pyvex/py.typed +1 -0
- pyvex/stmt.py +740 -0
- pyvex/types.py +48 -0
- pyvex/utils.py +63 -0
- pyvex/vex_ffi.py +1453 -0
- pyvex-9.2.189.dist-info/METADATA +181 -0
- pyvex-9.2.189.dist-info/RECORD +59 -0
- pyvex-9.2.189.dist-info/WHEEL +5 -0
- pyvex-9.2.189.dist-info/licenses/LICENSE +24 -0
- pyvex-9.2.189.dist-info/licenses/pyvex_c/LICENSE +339 -0
- pyvex-9.2.189.dist-info/licenses/vex/LICENSE.GPL +340 -0
- pyvex-9.2.189.dist-info/licenses/vex/LICENSE.README +23 -0
pyvex/__init__.py
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"""
|
|
2
|
+
PyVEX provides an interface that translates binary code into the VEX intermediate representation (IR).
|
|
3
|
+
For an introduction to VEX, take a look here: https://docs.angr.io/advanced-topics/ir
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
__version__ = "9.2.189"
|
|
7
|
+
|
|
8
|
+
from . import const, expr, stmt
|
|
9
|
+
from .arches import (
|
|
10
|
+
ARCH_AMD64,
|
|
11
|
+
ARCH_ARM64_BE,
|
|
12
|
+
ARCH_ARM64_LE,
|
|
13
|
+
ARCH_ARM_BE,
|
|
14
|
+
ARCH_ARM_BE_LE,
|
|
15
|
+
ARCH_ARM_LE,
|
|
16
|
+
ARCH_MIPS32_BE,
|
|
17
|
+
ARCH_MIPS32_LE,
|
|
18
|
+
ARCH_MIPS64_BE,
|
|
19
|
+
ARCH_MIPS64_LE,
|
|
20
|
+
ARCH_PPC32,
|
|
21
|
+
ARCH_PPC64_BE,
|
|
22
|
+
ARCH_PPC64_LE,
|
|
23
|
+
ARCH_RISCV64_LE,
|
|
24
|
+
ARCH_S390X,
|
|
25
|
+
ARCH_X86,
|
|
26
|
+
)
|
|
27
|
+
from .block import IRSB, IRTypeEnv
|
|
28
|
+
from .const import get_type_size, get_type_spec_size, tag_to_const_class
|
|
29
|
+
from .enums import (
|
|
30
|
+
IRCallee,
|
|
31
|
+
IRRegArray,
|
|
32
|
+
VEXObject,
|
|
33
|
+
default_vex_archinfo,
|
|
34
|
+
get_enum_from_int,
|
|
35
|
+
get_int_from_enum,
|
|
36
|
+
irop_enums_to_ints,
|
|
37
|
+
vex_endness_from_string,
|
|
38
|
+
)
|
|
39
|
+
from .errors import PyVEXError
|
|
40
|
+
from .expr import get_op_retty
|
|
41
|
+
from .lifting import lift, lifters
|
|
42
|
+
from .native import ffi, pvc
|
|
43
|
+
|
|
44
|
+
# aliases....
|
|
45
|
+
IRStmt = stmt
|
|
46
|
+
IRExpr = expr
|
|
47
|
+
IRConst = const
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
__all__ = [
|
|
51
|
+
"const",
|
|
52
|
+
"expr",
|
|
53
|
+
"stmt",
|
|
54
|
+
"IRSB",
|
|
55
|
+
"IRTypeEnv",
|
|
56
|
+
"get_type_size",
|
|
57
|
+
"get_type_spec_size",
|
|
58
|
+
"irop_enums_to_ints",
|
|
59
|
+
"tag_to_const_class",
|
|
60
|
+
"IRCallee",
|
|
61
|
+
"IRRegArray",
|
|
62
|
+
"VEXObject",
|
|
63
|
+
"default_vex_archinfo",
|
|
64
|
+
"get_enum_from_int",
|
|
65
|
+
"get_int_from_enum",
|
|
66
|
+
"vex_endness_from_string",
|
|
67
|
+
"PyVEXError",
|
|
68
|
+
"get_op_retty",
|
|
69
|
+
"lift",
|
|
70
|
+
"lifters",
|
|
71
|
+
"ffi",
|
|
72
|
+
"pvc",
|
|
73
|
+
"IRStmt",
|
|
74
|
+
"IRExpr",
|
|
75
|
+
"IRConst",
|
|
76
|
+
"ARCH_X86",
|
|
77
|
+
"ARCH_AMD64",
|
|
78
|
+
"ARCH_ARM_BE",
|
|
79
|
+
"ARCH_ARM_BE_LE",
|
|
80
|
+
"ARCH_ARM_LE",
|
|
81
|
+
"ARCH_ARM64_LE",
|
|
82
|
+
"ARCH_ARM64_BE",
|
|
83
|
+
"ARCH_PPC32",
|
|
84
|
+
"ARCH_PPC64_BE",
|
|
85
|
+
"ARCH_PPC64_LE",
|
|
86
|
+
"ARCH_S390X",
|
|
87
|
+
"ARCH_MIPS32_BE",
|
|
88
|
+
"ARCH_MIPS32_LE",
|
|
89
|
+
"ARCH_MIPS64_BE",
|
|
90
|
+
"ARCH_MIPS64_LE",
|
|
91
|
+
"ARCH_RISCV64_LE",
|
|
92
|
+
]
|