bindings: add cs_version() back for python & java
This commit is contained in:
parent
36df4bb6a7
commit
aa036eebc2
|
@ -203,6 +203,7 @@ public class Capstone {
|
|||
public byte cs_reg_read(NativeLong csh, Pointer insn, int id);
|
||||
public byte cs_reg_write(NativeLong csh, Pointer insn, int id);
|
||||
public int cs_errno(NativeLong csh);
|
||||
public void cs_version(IntByReference major, IntByReference minor);
|
||||
}
|
||||
|
||||
// capstone API version
|
||||
|
|
|
@ -1 +1 @@
|
|||
from capstone import Cs, CsError, cs_disasm_quick, CS_API_MAJOR, CS_API_MINOR, CS_ARCH_ARM, CS_ARCH_ARM64, CS_ARCH_MIPS, CS_ARCH_X86, CS_MODE_LITTLE_ENDIAN, CS_MODE_ARM, CS_MODE_THUMB, CS_OPT_SYNTAX, CS_OPT_SYNTAX_INTEL, CS_MODE_16, CS_MODE_32, CS_MODE_64, CS_OPT_SYNTAX_ATT, CS_MODE_BIG_ENDIAN, CS_MODE_MICRO, CS_MODE_N64
|
||||
from capstone import Cs, CsError, cs_disasm_quick, cs_version, CS_API_MAJOR, CS_API_MINOR, CS_ARCH_ARM, CS_ARCH_ARM64, CS_ARCH_MIPS, CS_ARCH_X86, CS_MODE_LITTLE_ENDIAN, CS_MODE_ARM, CS_MODE_THUMB, CS_OPT_SYNTAX, CS_OPT_SYNTAX_INTEL, CS_MODE_16, CS_MODE_32, CS_MODE_64, CS_OPT_SYNTAX_ATT, CS_MODE_BIG_ENDIAN, CS_MODE_MICRO, CS_MODE_N64
|
||||
|
|
|
@ -5,7 +5,9 @@ import arm, arm64, mips, x86
|
|||
__all__ = [
|
||||
'Cs',
|
||||
'CsInsn',
|
||||
|
||||
'cs_disasm_quick',
|
||||
'cs_version',
|
||||
|
||||
'CS_API_MAJOR',
|
||||
'CS_API_MINOR',
|
||||
|
@ -165,6 +167,7 @@ _setup_prototype(_cs, "cs_op_count", ctypes.c_int, ctypes.c_size_t, ctypes.POINT
|
|||
_setup_prototype(_cs, "cs_op_index", ctypes.c_int, ctypes.c_size_t, ctypes.POINTER(_cs_insn), ctypes.c_uint, ctypes.c_uint)
|
||||
_setup_prototype(_cs, "cs_errno", ctypes.c_int, ctypes.c_size_t)
|
||||
_setup_prototype(_cs, "cs_option", ctypes.c_int, ctypes.c_size_t, ctypes.c_int, ctypes.c_size_t)
|
||||
_setup_prototype(_cs, "cs_version", None, ctypes.POINTER(ctypes.c_int), ctypes.POINTER(ctypes.c_int))
|
||||
|
||||
|
||||
# access to error code via @errno of CsError
|
||||
|
@ -184,6 +187,13 @@ class CsError(Exception):
|
|||
return messages[self.errno]
|
||||
|
||||
|
||||
def cs_version():
|
||||
major = ctypes.c_int()
|
||||
minor = ctypes.c_int()
|
||||
_cs.cs_version(ctypes.byref(major), ctypes.byref(minor))
|
||||
return (major.value, minor.value)
|
||||
|
||||
|
||||
# quick & dirty Python function to disasm raw binary code
|
||||
def cs_disasm_quick(arch, mode, code, offset, count = 0):
|
||||
csh = ctypes.c_size_t()
|
||||
|
|
Loading…
Reference in New Issue