Skip to main content

A Python interface to libVEX and VEX IR

Project description

PyVEX

Latest Release Python Version PyPI Statistics License

PyVEX is Python bindings for the VEX IR.

Project Links

Project repository: https://github.com/angr/pyvex

Documentation: https://api.angr.io/projects/pyvex/en/latest/

Installing PyVEX

PyVEX can be pip-installed:

pip install pyvex

Using PyVEX

import pyvex
import archinfo

# translate an AMD64 basic block (of nops) at 0x400400 into VEX
irsb = pyvex.lift(b"\x90\x90\x90\x90\x90", 0x400400, archinfo.ArchAMD64())

# pretty-print the basic block
irsb.pp()

# this is the IR Expression of the jump target of the unconditional exit at the end of the basic block
print(irsb.next)

# this is the type of the unconditional exit (i.e., a call, ret, syscall, etc)
print(irsb.jumpkind)

# you can also pretty-print it
irsb.next.pp()

# iterate through each statement and print all the statements
for stmt in irsb.statements:
    stmt.pp()

# pretty-print the IR expression representing the data, and the *type* of that IR expression written by every store statement
import pyvex
for stmt in irsb.statements:
    if isinstance(stmt, pyvex.IRStmt.Store):
        print("Data:", end="")
        stmt.data.pp()
        print("")

        print("Type:", end="")
        print(stmt.data.result_type)
        print("")

# pretty-print the condition and jump target of every conditional exit from the basic block
for stmt in irsb.statements:
    if isinstance(stmt, pyvex.IRStmt.Exit):
        print("Condition:", end="")
        stmt.guard.pp()
        print("")

        print("Target:", end="")
        stmt.dst.pp()
        print("")

# these are the types of every temp in the IRSB
print(irsb.tyenv.types)

# here is one way to get the type of temp 0
print(irsb.tyenv.types[0])

Keep in mind that this is a syntactic representation of a basic block. That is, it'll tell you what the block means, but you don't have any context to say, for example, what actual data is written by a store instruction.

VEX Intermediate Representation

To deal with widely diverse architectures, it is useful to carry out analyses on an intermediate representation. An IR abstracts away several architecture differences when dealing with different architectures, allowing a single analysis to be run on all of them:

  • Register names. The quantity and names of registers differ between architectures, but modern CPU designs hold to a common theme: each CPU contains several general purpose registers, a register to hold the stack pointer, a set of registers to store condition flags, and so forth. The IR provides a consistent, abstracted interface to registers on different platforms. Specifically, VEX models the registers as a separate memory space, with integer offsets (i.e., AMD64's rax is stored starting at address 16 in this memory space).
  • Memory access. Different architectures access memory in different ways. For example, ARM can access memory in both little-endian and big-endian modes. The IR must abstract away these differences.
  • Memory segmentation. Some architectures, such as x86, support memory segmentation through the use of special segment registers. The IR understands such memory access mechanisms.
  • Instruction side-effects. Most instructions have side-effects. For example, most operations in Thumb mode on ARM update the condition flags, and stack push/pop instructions update the stack pointer. Tracking these side-effects in an ad hoc manner in the analysis would be crazy, so the IR makes these effects explicit.

There are lots of choices for an IR. We use VEX, since the uplifting of binary code into VEX is quite well supported. VEX is an architecture-agnostic, side-effects-free representation of a number of target machine languages. It abstracts machine code into a representation designed to make program analysis easier. This representation has five main classes of objects:

  • Expressions. IR Expressions represent a calculated or constant value. This includes memory loads, register reads, and results of arithmetic operations.
  • Operations. IR Operations describe a modification of IR Expressions. This includes integer arithmetic, floating-point arithmetic, bit operations, and so forth. An IR Operation applied to IR Expressions yields an IR Expression as a result.
  • Temporary variables. VEX uses temporary variables as internal registers: IR Expressions are stored in temporary variables between use. The content of a temporary variable can be retrieved using an IR Expression. These temporaries are numbered, starting at t0. These temporaries are strongly typed (i.e., "64-bit integer" or "32-bit float").
  • Statements. IR Statements model changes in the state of the target machine, such as the effect of memory stores and register writes. IR Statements use IR Expressions for values they may need. For example, a memory store IR Statement uses an IR Expression for the target address of the write, and another IR Expression for the content.
  • Blocks. An IR Block is a collection of IR Statements, representing an extended basic block (termed "IR Super Block" or "IRSB") in the target architecture. A block can have several exits. For conditional exits from the middle of a basic block, a special Exit IR Statement is used. An IR Expression is used to represent the target of the unconditional exit at the end of the block.

VEX IR is actually quite well documented in the libvex_ir.h file (https://github.com/angr/vex/blob/dev/pub/libvex_ir.h) in the VEX repository. For the lazy, we'll detail some parts of VEX that you'll likely interact with fairly frequently. To begin with, here are some IR Expressions:

IR Expression Evaluated Value VEX Output Example
Constant A constant value. 0x4:I32
Read Temp The value stored in a VEX temporary variable. RdTmp(t10)
Get Register The value stored in a register. GET:I32(16)
Load Memory The value stored at a memory address, with the address specified by another IR Expression. LDle:I32 / LDbe:I64
Operation A result of a specified IR Operation, applied to specified IR Expression arguments. Add32
If-Then-Else If a given IR Expression evaluates to 0, return one IR Expression. Otherwise, return another. ITE
Helper Function VEX uses C helper functions for certain operations, such as computing the conditional flags registers of certain architectures. These functions return IR Expressions. function_name()

These expressions are then, in turn, used in IR Statements. Here are some common ones:

IR Statement Meaning VEX Output Example
Write Temp Set a VEX temporary variable to the value of the given IR Expression. WrTmp(t1) = (IR Expression)
Put Register Update a register with the value of the given IR Expression. PUT(16) = (IR Expression)
Store Memory Update a location in memory, given as an IR Expression, with a value, also given as an IR Expression. STle(0x1000) = (IR Expression)
Exit A conditional exit from a basic block, with the jump target specified by an IR Expression. The condition is specified by an IR Expression. if (condition) goto (Boring) 0x4000A00:I32

An example of an IR translation, on ARM, is produced below. In the example, the subtraction operation is translated into a single IR block comprising 5 IR Statements, each of which contains at least one IR Expression (although, in real life, an IR block would typically consist of more than one instruction). Register names are translated into numerical indices given to the GET Expression and PUT Statement. The astute reader will observe that the actual subtraction is modeled by the first 4 IR Statements of the block, and the incrementing of the program counter to point to the next instruction (which, in this case, is located at 0x59FC8) is modeled by the last statement.

The following ARM instruction:

subs R2, R2, #8

Becomes this VEX IR:

t0 = GET:I32(16)
t1 = 0x8:I32
t3 = Sub32(t0,t1)
PUT(16) = t3
PUT(68) = 0x59FC8:I32

Cool stuff!

Citing PyVEX

If you use PyVEX in an academic work, please cite the paper for which it was developed:

@article{shoshitaishvili2015firmalice,
  title={Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware},
  author={Shoshitaishvili, Yan and Wang, Ruoyu and Hauser, Christophe and Kruegel, Christopher and Vigna, Giovanni},
  booktitle={NDSS},
  year={2015}
}

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvex-9.2.197.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyvex-9.2.197-cp314-cp314-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.14Windows x86-64

pyvex-9.2.197-cp314-cp314-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

pyvex-9.2.197-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pyvex-9.2.197-cp314-cp314-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyvex-9.2.197-cp314-cp314-macosx_10_15_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

pyvex-9.2.197-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pyvex-9.2.197-cp313-cp313-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyvex-9.2.197-cp313-cp313-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pyvex-9.2.197-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyvex-9.2.197-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pyvex-9.2.197-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyvex-9.2.197-cp313-cp313-macosx_10_13_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyvex-9.2.197-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pyvex-9.2.197-cp312-cp312-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyvex-9.2.197-cp312-cp312-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pyvex-9.2.197-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyvex-9.2.197-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pyvex-9.2.197-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyvex-9.2.197-cp312-cp312-macosx_10_13_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyvex-9.2.197-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pyvex-9.2.197-cp311-cp311-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyvex-9.2.197-cp311-cp311-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pyvex-9.2.197-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyvex-9.2.197-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pyvex-9.2.197-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyvex-9.2.197-cp311-cp311-macosx_10_12_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pyvex-9.2.197-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

pyvex-9.2.197-cp310-cp310-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyvex-9.2.197-cp310-cp310-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pyvex-9.2.197-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyvex-9.2.197-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pyvex-9.2.197-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyvex-9.2.197-cp310-cp310-macosx_10_12_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file pyvex-9.2.197.tar.gz.

File metadata

  • Download URL: pyvex-9.2.197.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvex-9.2.197.tar.gz
Algorithm Hash digest
SHA256 4af485bc020721f7a699f0a118c0584441d82db707e87e185fd0d228d927b36f
MD5 b21270fdb7cfcf0d2fab8412737dc26f
BLAKE2b-256 11b9c17e4856759768d90d9f157087de4c3354d32c52b9e3c2b6eed557ceb190

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197.tar.gz:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyvex-9.2.197-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvex-9.2.197-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 825bf8834a12246be6c8c81afe15c052c9370d0a6e6844a02f510ebd1ce3a956
MD5 ad50ed59ca8e527b9c060a539106aca4
BLAKE2b-256 64f65dd72e5a990390c49ea0b9be2223f209584ab086b493721525c523f6da3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp314-cp314-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 99508d4c42338402cc49c946c64bbd751e6726fb9802ec24df2d82a619309e68
MD5 4f97752495a42b4436714115081d55d4
BLAKE2b-256 e74b5d6abe843e576af51cd2b08733bcb236cda98772c544d35f34c2a266e3c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b5b5039b1589da8517ba070de36874bda96307a5711113680c5862dc125ecf50
MD5 c57bc47b2f05613d40d6df54437421d4
BLAKE2b-256 e2ef7c0252b391bc61a2be12d0357a43733a3ac8bc780a1f36e689088de19a48

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce2feb94d05462d3d2a6f040bfd9843dac80b0478e118dfbc7c65087d854f7c8
MD5 7475d515665545ab0d5e3b5260115865
BLAKE2b-256 4560ec87c7757c27331b54dc063274c999e298eba9e0fd1d95f9699233838fc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5a73379702bc619160c8434dd2e97c26dd606f1992c7877743273109f4ef7dde
MD5 4cb00cf152a4f6a82181f2ac75baf944
BLAKE2b-256 80193a857282646f105a4643b09ad13c8bb06d8387d2a29494b8ca1deb10274a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyvex-9.2.197-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5489a3fc65cdcdd3475c0f1f38821292da28be43673b9445c13a26b80b49a3ec
MD5 f6e8150f9a4c6d30bb80631883b75284
BLAKE2b-256 0864bbf105eb25fdc20e96ba92ea10aed03ca46b5d75bc92ed83a68341047b16

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4290819d4ca03cbca8dc3ce83924717ecbece46012a20186e9eca2cf8020644f
MD5 b6274173b7b439e25d0167b98616c4f4
BLAKE2b-256 ee540a185ab135dc3f249e5999cfd16890af7120ea57dba1b6a4eca6672bded5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fcc0a66ec9adc7d6ca17611079e56b706b8ae9dcbf062606b81cbcf196b7b550
MD5 425641f7d944c5737101dccf36286f16
BLAKE2b-256 054614ce4d3bc88ef32aa8a46680a61b51af8bccae9e6367ffe5eee9eb9fcd38

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f769046d01757bc7699b3aace2825906e94f85e145c4a23b91ad07367a9e8f7b
MD5 d6f049c91833bfdf125e92218f35b445
BLAKE2b-256 6080068f5460ae8d925555fced5e88b66a1bdf9024a3017ab3b7fb36d87ea1b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4552334dc738c0b18620e4ff29e8b2d4b9ff600a59beab1c7f1755ac900cc542
MD5 06829e2b83d671529d9d43ac174e5983
BLAKE2b-256 5e49ace5179b6b00c21421bfc4199c1ac53d1d9036288bbd3060d5b616b3e41a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7358a41579de728ce2e7548536da0fbbfe346ffdea2363d3be52b755c2da1822
MD5 b8d03f04c8162698e1710fba04218650
BLAKE2b-256 316409ceb0fba5cab707d9fd5c90e599b72bb313a0626d56e49de55e604f5956

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6b6f42eb3d6d332123e60bd15be1a59b874af01c0e240650194395760322c200
MD5 5bce5dd48c0226ac2a92708f2bb7f895
BLAKE2b-256 c672cf35125ac5763f4adcaa08186617c205f154f358bbaca003a9adb687a795

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyvex-9.2.197-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8ea65a08031d6ba6b7864fb374d3d57e463309b26ee25630600fcf3c61790f95
MD5 0c68e08eddb2787466da2e382aeee40e
BLAKE2b-256 adaa72b277135ebd1ba38a4142af75cc7b6d0c4301bfe768b1c90029d1627b87

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f27e145d0de9b88abc926cd2498c3671f1abac246a2925e265f17a1e271cde4c
MD5 b883fb95d5df9a5e766f8f388cb1c019
BLAKE2b-256 b2d74c4e9a5d2eda58b74b2625e80240bdf396aad6239d59365a7bd0876dbd9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f541d04b4f2df9c7f061ce9f91c9c11878b1533b751551841f80df37d2c12448
MD5 5c77e22ba95c47457e885510eb13f85b
BLAKE2b-256 04f5ae55ffcc644c6e24ff5c4a3731f21eb3c8d54572ef01a0199d5f3cc8ec6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55faf6b80c290455e0812dac3273cf64c9a1e2732f48d3a9bfb56b357e6f426a
MD5 c0adce06f6ae51a80aa2060de90c5f0c
BLAKE2b-256 083ff32826e3e8dce8ba761e7f92264a9925919d3aa207dfcc994a7f72e6abef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab993be476fb993fc5ffcf2d1fdbd578a70e06f94ca949bf2daddd2bb051a2c0
MD5 abb092e423ddbab2e2046512025fa422
BLAKE2b-256 aaa6473d8a5a4810620553de581ab80ba4e4266969816e454a531d2b69d74f05

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0e60156dbc7a4ccdee38892fb3330e0aff69a8117f773203d26cd217c87210c
MD5 957ecb9173bdd525184cc7db050aa6c7
BLAKE2b-256 fda248d8d43b73d17185ab810cb46630acc3cc722a1e796352b5e01721e9ea2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 14c11db4727d9c8baaf1ea7ae8113863edb5990a9791739e350fdf388b5a23ac
MD5 b415b5001ad4423e63c564cdb9870745
BLAKE2b-256 6ca4bf7ab6779e6a756b497b17de58b42805c24660bb4b5f83527e3f6344d41b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyvex-9.2.197-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0619d02339025bff39820e40c99685ea721a92971b7d83e384234917cfb574a9
MD5 3af359675384eafb81854a2738584d88
BLAKE2b-256 3917173b73206413c6a023a23657b67e1a92fe6bdab0203df9e21919b4324763

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a82e52daebc3c3059946a4be921b30aaf4c03dc1af16e76d4decb829e04b6d55
MD5 d23ad1645666d26e56fa4bedfed77a9c
BLAKE2b-256 6c2136b03777160e8dcf95ed4c638e8c56497eb8c6d97d13e13c0d25c9c4ef9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b21f486ba46b250a2f766b8e6d6a4cff08e2e72aabe42f97776e8cdee4ab108e
MD5 d8e952163e59b143bb82a9620e816622
BLAKE2b-256 c9764c1d6308fdb36765a1f89be6318b23733b9dc155537413b3559b4ea8b69e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e97ec896187f0131a8ee855cd156fb70d129ef60a3e8a1624cf9f342633eceb
MD5 c6941db480a09f93441346257a3e9120
BLAKE2b-256 dee96108620c04ca9a0cafcf65557cb2761a50a0f54f0cf71b852fcdeca0ef70

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 68ecf6f7ac446524c0485ce41fe87b36ed9c09b25ae31c523119595dc2a26adc
MD5 e558bf70cd0da2bd2ee9e8775c4af4a5
BLAKE2b-256 e8d6032148237d522609d1039bfc694adce7796bbaa26a4a7bcafe460ecf036e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2054e6fb4a4b91f9f06bebe0509511b70abdab2adef3f67dd09e90600b5a186
MD5 058532d6d17ef09c8ac86b4968aa7228
BLAKE2b-256 80be9d3923f61b870cff087d25af318d40919e6e72418ed2b10a0147d0ebb64f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80f148200e87f08806e5fd21c59465e5ec2d51ea10dbc467c0ab02481dcff827
MD5 c730b8b4ad69525f7b249355dedb913b
BLAKE2b-256 0836f4ee09b0fbca184b9958fdc63eb77cc268c4797cea88d824baec18dd2ed2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyvex-9.2.197-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 93837120ed8420a13a00bd622fb4800cd98855cc1735caea006c4883741f4fc3
MD5 c6747816388953a62ba045808a9727f7
BLAKE2b-256 41ed5a2ddc0536451559d669111aecad477c548834e03e12b5109d96154fd54c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 04ad5bca1fdbfe9855440ba0c69c312d02dbb581435b3ff23cabc8c7f5e13523
MD5 9f4aba8dc9d9abc9518e6d923adb07ca
BLAKE2b-256 9ef0d8b494cd3b83eb1bbcebb91b8d3ec0e7728d271cd5c637e0b3a0edf8b021

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f5e0029efeaac25ee6d53a6475451adf24199db36a4bac1ef1267444a696902f
MD5 1f4e4e192886d2a44259720e11a21364
BLAKE2b-256 df8aa31ac960a2f4f5791db4278757c71235ed76022247e259401b321b633fef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 767b88197b8e877f8903602b7d188bca56e426e0a0cb40b87671d51e310cb9c6
MD5 0d1f0d7d93f86d10563a8a391588f0bf
BLAKE2b-256 3da0541cbea6a576983504ffbac689102aec74c95d2639f0d4bc76188b924138

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0af84b2a4bf63bb20565f5e50ea96b8d5c044613239a5898e53b2b7fcb0d66b
MD5 522b9b951cbf6c9bb623cda1436c894a
BLAKE2b-256 8b46bfa9c659f6e5d3bae1f8861cc35a7d52c6b502d591a951d494f204dd0a7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36cea7671a1d105d7646bbf489205c77e98481df9b96f2498196003ab9cf9ae5
MD5 6151c0d4c3fa70f8a9f900fe82505b4c
BLAKE2b-256 fc998da3aed8905e00a858c8b2b95b065984703b8349c281b38305d59b817399

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvex-9.2.197-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyvex-9.2.197-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4d3517bc52dd34f7fb7222f1dcb1282b95c027f059cbe7668ef34085ed860115
MD5 fa84ce512aabb1e86a2ce1ef8a640a26
BLAKE2b-256 2629f9effb677e7a4a85a457ef148839fe74e8234cfbc08bbf869116454abd96

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvex-9.2.197-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page