./devel/py-capstone, Python bindings for capstone

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


Branch: CURRENT, Version: 5.0.1, Package name: py311-capstone-5.0.1, Maintainer: pkgsrc-users

Capstone is a disassembly framework with the target of becoming
the ultimate disasm engine for binary analysis and reversing in
the security community.

Capstone supports multiple hardware architectures, including ARM,
ARM64 (ARMv8), Mips, PPC, Sparc, SystemZ, XCore and X86 (including
X86_64).

This package ships with Python bindings.


Required to run:
[devel/py-setuptools] [lang/python27] [devel/capstone]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 7474.8 KB

Version history: (Expand)


CVS history: (Expand)


   2024-02-07 10:46:36 by Adam Ciarcinski | Files touched by this commit (8) | Package updated
Log message:
capstone py-capstone: updated to 5.0.1

Version 5.0.1

[ARM] Fix VFP feature check
Restore the ARM register naming from v4.
Use OS independent printf formatting.
Cherry-pick from next for v5.0.1
Add Python bindings for WASM
Sync Python bindings for x86, m68k, and mos65xx
Add Python bindings for SH
Update Python binding constants
Fixing TriCore disasm instructions
allow absolute CMAKE_INSTALL_*DIR

Version 5.0

[workflows] Remove deprecated image versions
Fix capstone_test.c
Support repz prefix on X86 ret instructions
fix for msvc static lib, dll build error and warnings
use calloc for cs_insn instead of malloc
Fix access bug for TEST op
Update Cython bindings
Use Intel register syntax for Tricore
Add # prefix to tricore imm operand
Revert "Mark cs_* as thread local to avoid race condition in multithreads"
Replace strncpy with memcpy to fix compiler warning.
Remove outdated and irrelevant TODO
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2020-08-18 22:20:46 by Taylor R Campbell | Files touched by this commit (7) | Package updated
Log message:
devel/capstone: Update to 4.0.2

3.0.5
July 18, 2018

Release 3.0.5 is a stable release version, with important fixes in the core \ 
& several bindings against v3.0.5-rc3.
Library

    Fix the include path for Android builds when building cstool.
    Add posibility to disable universal build for Mac OS.
    cstool: Separate instruction bytes by spaces.
    Fix code path of pkg-config in Cmake.
    Update XCode project for XCode 9.1.
    Add Cortex-M support to cstool.
    Cmake forces to be build using MT with MSVC.
    Better support for Mac OS kernel.

X86

    Fix some issues in handling EVEX & VEX3 instructions.
    Fix immediate operand for AND instruction in ATT mode.
    Fix ATT syntax when imm operand is 0.
    Better handle XACQUIRE/XRELEASE.
    Fix imm operand of RETF.

Arm

    Fix an integer overlow bug.

Arm64

    Bug fix for incorrect operand type in certain load/store instructions.

Mips

    Mode CS_MODE_MIPS32R6 automatically sets CS_MODE_32

PowerPC

    Fix endian check.

Sparc

    Fix an integer overlow bug.

SystemZ

    Fix an integer overlow bug.

Python binding

    Raise error on accessing irrelevant data fields if skipdata & detail \ 
modes are enable.

4.0
December 18, 2018

Release 4.0 is a stable release version, with important fixes in the core & \ 
several bindings against v3.0.5.
Core

    New APIs: cs_regs_access()
    Add new options for cs_option(): CS_OPT_MNEMONIC & CS_OPT_UNSIGNED & \ 
CS_OPT_SYNTAX_MASM.
    Various updates & bugfixes for all architectures.
    Add 4 new architectures: EVM, M68K, M680X & TMS320C64x.
    Add new group types: CS_GRP_PRIVILEGE & CS_GRP_BRANCH_RELATIVE.
    Add new error types: CS_ERR_X86_MASM.

X86

    Add XOP code condition type in x86_xop_cc.
    Add some info on encoding to cs_x86 in cs_x86_encoding.
    Add register flags update in cs_x86.{eflags, fpu_flags}
    Change cs_x86.disp type from int32_t to int64_t.
    Add new groups: X86_GRP_VM & X86_GRP_FPU.
    Lots of new instructions (AVX)

Arm64

    Add instruction ARM64_INS_NEGS & ARM64_INS_NGCS.

Mips

    Add mode CS_MODE_MIPS2.

PowerPC

    Change cs_ppc_op.imm type from int32_t to int64_t.
    Add new groups: PPC_GRP_ICBT, PPC_GRP_P8ALTIVEC, PPC_GRP_P8VECTOR & \ 
PPC_GRP_QPX.
    Lots of new instructions (QPX among them)

Sparc

    Change cs_sparc_op.imm type from int32_t to int64_t.

Bindings

    New bindings: PowerShell & VB6

4.0.1
January 10, 2019

Release 4.0.1 is a stable release version, with minor bugfixes in the core & \ 
Python binding.
Core

    Fix some issues for packaging (Debian, Gentoo, etc).
    Better support for building with Mingw.
    cstool has new option -s to turn on skipdata mode.
    cstool -v now report build settings of the core.
    Add suite/capstone_get_setup.c so users can integrate with their own code to \ 
retrieve Capstone settings at build time.

Arm

    Fix 4.0 regression: the tbh [r0, r1, lsl #1] instruction sets the \ 
operand.shift.value back again.
    Remove ARM_REG_PC group for BX instruction.

X86

    endbr32 and endbr64 instructions are now properly decoded in both CS_MODE_32 \ 
and CS_MODE_64.

M680X

    Fix some issues reported by clang-analyzer.

Python binding

    Fix skipdata setup.
    Add getter/setter for skipdata_mnem & skipdata_callback.

4.0.2
May 8, 2020

Release 4.0.2 is a stable release version, with minor bugfixes in the core & \ 
some bindings.
Core

    Windows kernel-mode driver support
    Fix installation path on FreeBSD and DragonFly

Cstool

    Add armv8, ppc32 & thumbv8 modes
    Print instruction ID

X86

    Support CS_OPT_UNSIGNED for ATT syntax
    Fix operand size for some instructions
    Fix LOCK prefixes
    Recognize xacquire/xrelease prefix
    Fix call/jmp access mode of mem operand
    Add ENDBR32, ENDBR64 to reduce mode
    Other minor fixes

Arm

    Update writeback for STR_POST_REG

ARM64

    Support CS_OPT_UNSIGNED
    Fix register access flags for memory instructions
    Fix UMOV vess

M68K

    Store correct register value in op.reg_pair

PowerPC

    BDZLA is absolute branch

SystemZ

    Fix truncated 64bit imm operand
    Fix base/index printing

Python binding

    Fix skipdata struct being destroyed
    Add repr for capstone.CsInsn

Java binding

    Fix Java bindings to use pointers instead of longs

Ocaml binding

    Fix x86_op record
   2018-03-24 18:10:42 by Joerg Sonnenberger | Files touched by this commit (6)
Log message:
Don't build capstone locally in the Python binding.
   2018-02-23 03:42:06 by Pierre Pronchery | Files touched by this commit (8)
Log message:
Update devel/capstone to version 3.0.5-rc2

This provides important fixes in the core & several bindings:

Library

    Fix build for Visual Studio 2012
    Fix X86_REL_ADDR macro
    Add CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA
    Better support for embedding Capstone into Windows kernel drivers
    Support to embedded Capstone into MacOS kernel
    Support MacOS 10.11 and up
    Better support for Cygwin
    Support build packages for FreeBSD & DragonflyBSD
    Add a command-line tool "cstool"
    Properly handle switching to Endian mode at run-time for Arm, Arm64, Mips \ 
& Sparc

X86

    Some random 16-bit code can be handled wrongly.
    Remove abundant operand type X86_OP_FP
    Fix instructions MOVQ, LOOP, LOOPE, LOOPNE, CALL/JMP rel16, REPNE LODSD, MOV \ 
*AX, MOFFS, FAR JMP/CALL
    Add X86_REG_EFLAGS for STC and STD
    Fix instruction attributes for SYSEXIT, MOVW, ROL, LGS, SLDT
    Rename registers ST0-ST7 to be consistent with asm output

Arm

    Properly handle IT instruction
    Fix LDRSB
    Fix writeback for LDR
    Fix Thumb BigEndian setup

Arm

    Fix arith extender
    Fix writeback for LDR
    Rename enum arm64_mrs_reg to arm64_sysreg

PowerPC

    Print 0 offset for memory operand

Sparc

    Fix POPC instruction

Python binding

    Better PyPy support
    Add __version__
    Better support for Python 3
    Fix CS_SKIPDATA_CALLBACK prototype
    Cast skipdata function inside binding to simplify the API

Java binding

    Better handle input with invalid code

PowerShell binding

    New binding

Build-tested with devel/ropper and devel/{py-,}radare2 on NetBSD/amd64.
   2016-06-13 03:56:18 by Kamil Rytarowski | Files touched by this commit (3)
Log message:
Import Python bindings of devel/capstone 3.0.4 as devel/py-capstone

Capstone is a disassembly framework with the target of becoming
the ultimate disasm engine for binary analysis and reversing in
the security community.

Capstone supports multiple hardware architectures, including ARM,
ARM64 (ARMv8), Mips, PPC, Sparc, SystemZ, XCore and X86 (including
X86_64).

This package ships with Python bindings.