pyvex 9.2.192__cp312-cp312-win_amd64.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.

Files changed (60) hide show
  1. pyvex/__init__.py +92 -0
  2. pyvex/_register_info.py +1800 -0
  3. pyvex/arches.py +94 -0
  4. pyvex/block.py +697 -0
  5. pyvex/const.py +426 -0
  6. pyvex/const_val.py +26 -0
  7. pyvex/data_ref.py +55 -0
  8. pyvex/enums.py +156 -0
  9. pyvex/errors.py +31 -0
  10. pyvex/expr.py +974 -0
  11. pyvex/include/libvex.h +1029 -0
  12. pyvex/include/libvex_basictypes.h +236 -0
  13. pyvex/include/libvex_emnote.h +142 -0
  14. pyvex/include/libvex_guest_amd64.h +252 -0
  15. pyvex/include/libvex_guest_arm.h +224 -0
  16. pyvex/include/libvex_guest_arm64.h +203 -0
  17. pyvex/include/libvex_guest_mips32.h +175 -0
  18. pyvex/include/libvex_guest_mips64.h +173 -0
  19. pyvex/include/libvex_guest_offsets.h +941 -0
  20. pyvex/include/libvex_guest_ppc32.h +298 -0
  21. pyvex/include/libvex_guest_ppc64.h +343 -0
  22. pyvex/include/libvex_guest_riscv64.h +148 -0
  23. pyvex/include/libvex_guest_s390x.h +201 -0
  24. pyvex/include/libvex_guest_tilegx.h +149 -0
  25. pyvex/include/libvex_guest_x86.h +322 -0
  26. pyvex/include/libvex_ir.h +3113 -0
  27. pyvex/include/libvex_s390x_common.h +123 -0
  28. pyvex/include/libvex_trc_values.h +99 -0
  29. pyvex/include/pyvex.h +96 -0
  30. pyvex/lib/pyvex.dll +0 -0
  31. pyvex/lib/pyvex.lib +0 -0
  32. pyvex/lifting/__init__.py +18 -0
  33. pyvex/lifting/gym/README.md +7 -0
  34. pyvex/lifting/gym/__init__.py +5 -0
  35. pyvex/lifting/gym/aarch64_spotter.py +40 -0
  36. pyvex/lifting/gym/arm_spotter.py +427 -0
  37. pyvex/lifting/gym/x86_spotter.py +129 -0
  38. pyvex/lifting/libvex.py +117 -0
  39. pyvex/lifting/lift_function.py +304 -0
  40. pyvex/lifting/lifter.py +124 -0
  41. pyvex/lifting/post_processor.py +16 -0
  42. pyvex/lifting/util/__init__.py +14 -0
  43. pyvex/lifting/util/instr_helper.py +422 -0
  44. pyvex/lifting/util/lifter_helper.py +154 -0
  45. pyvex/lifting/util/syntax_wrapper.py +312 -0
  46. pyvex/lifting/util/vex_helper.py +301 -0
  47. pyvex/lifting/zerodivision.py +71 -0
  48. pyvex/native.py +63 -0
  49. pyvex/py.typed +1 -0
  50. pyvex/stmt.py +740 -0
  51. pyvex/types.py +48 -0
  52. pyvex/utils.py +63 -0
  53. pyvex/vex_ffi.py +1452 -0
  54. pyvex-9.2.192.dist-info/METADATA +181 -0
  55. pyvex-9.2.192.dist-info/RECORD +60 -0
  56. pyvex-9.2.192.dist-info/WHEEL +5 -0
  57. pyvex-9.2.192.dist-info/licenses/LICENSE +24 -0
  58. pyvex-9.2.192.dist-info/licenses/pyvex_c/LICENSE +339 -0
  59. pyvex-9.2.192.dist-info/licenses/vex/LICENSE.GPL +340 -0
  60. pyvex-9.2.192.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.192"
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
+ ]