./devel/py-xdis, Python cross-version byte-code disassembler and marshal routines

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.0.11, Package name: py38-xdis-5.0.11, Maintainer: pkgsrc-users

The Python dis module allows you to disassemble bytecode from the same version
of Python that you are running on. But what about bytecode from different
versions?

That's what this package is for. It can "marshal load" Python bytecodes from
different versions of Python. The command-line routine pydisasm will show
disassembly output using Python 3.6 disassembly conventions.

Also, if you need to modfiy and write bytecode, the routines here can be of
help. There are routines to pack and unpack the read-only tuples in Python's
Code type. For interoperability between Python 2 and 3 we provide our own
versions of the Code type, and we provide routines to reduce the tedium in
writing a bytecode file.

This package also has an extensive knowledge of Python bytecode magic numbers,
including Pypy and others, and how to translate from sys.sys_info major, minor,
and release numbers to the corresponding magic value.

So If you want to write a cross-version assembler, or a bytecode-level
optimizer this package may also be useful. In addition to the kinds of
instruction categorization that dis offers, we have additional categories for
things that would be useful in such a bytecode optimizer.


Required to run:
[devel/py-setuptools] [lang/py-six] [devel/py-click] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: bc5a5c67bd385cf58efc30462e6f2909be4f3296
RMD160: babd854eb5ad58793699f0c3fd690b4ddf68d10e
Filesize: 230.438 KB

Version history: (Expand)


CVS history: (Expand)


   2021-07-07 12:11:47 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-xdis: updated to 5.0.11

5.0.11:
Add Python versions 3.9.6, 3.7.11, 3.8.11, and 3.6.14
Format Python various files using black. (Not completely done yet though)
   2021-06-23 22:11:31 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-xdis: updated to 5.0.10

5.0.10:

Fix incorrect variable name in marshaller dump
Add Python 3.8.10 as a 3.8.x release
xdis/magics.py: Add 3.9.5
   2021-04-22 18:07:43 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 5.0.9

5.0.9:
Improve 3.9 IS_OP and CONTAINS_OP operand formatting
Correct disassembly of 3.9 bytecode from other bytecode
Accept 3.9.3 and 3.9.4 as a valid 3.9 version
Accept 3.8.9 as a valid 3.8 version
   2021-03-14 09:25:02 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 5.0.8

5.0.8:

Allow an alternate opmap - adds the capability to disassemble python bytecode \ 
that has
been frozen with a custom opcode mapping. This is particularly useful for \ 
disassembling
malware that uses custom opcode mappings in an attempt to hinder disassembly \ 
with standard
tools. The updates in this pull request are used by pydecipher, a tool to \ 
unfreeze and deob fuscate frozen python code.

Add Python versions 3.8.8 and 3.9.2
   2021-01-11 08:17:06 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-xdis: updated to 5.0.7

5.0.7:
Add Python 3.8.7

5.0.6:
Add Python 3.9.1
   2020-10-27 23:33:37 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-xdis: updated to 5.0.5

5.0.5:
Add support for Python2.7 on Ubuntu 20.04
Bump versions for Python 3.8.6 and 3.5.10
Release instructions moved to wiki
VERSION -> __version__ because Python prefers it that way
   2020-09-10 11:25:02 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 5.0.4

5.0.4:
Add python versions 3.6.12, 3.7.9
extended arg disassembly handling for {LOAD,STORE}_ATTR

5.0.3:
Add versions 3.8.5, 3.7.8, and 3.6.11
Clarify changes to 3.8 ROT_FOUR
Update 3.9 magics and opcodes

5.0.2:
Add Python 3.8.4 as a 3.8 release
pydisasm.py Python 3.3 tolerance
Make pydoc's version reporting show xdis's version

5.0.1:
Two small improvements that are usefil in the forthcoming trepan3k release:

interpret RAISE_VARARGS's argc parameter. Some other formatting was extended too
check_object_path() is more leanient in the path name (it doesn't have to end in \ 
.py anymore), but it is
more stringent about what constitutes Python source (it compiles the text to \ 
determine validity)
In the above is_python_source() and is_bytecode_extension() are used. They are \ 
also exported.

5.0.0:
Disassembly format and options have simplified and improved.
   2020-06-20 18:21:38 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 4.7.0

4.7.0:
Routines for extracting line and offset information from code objects was added.