Wu ChenXu [Thu, 19 Jan 2023 04:15:47 +0000 (12:15 +0800)]
Merge pull request #1950 from vapier/master
update capstone-engine.org URIs to https://
Mike Frysinger [Tue, 17 Jan 2023 05:01:24 +0000 (00:01 -0500)]
update capstone-engine.org URIs to https://
Wu ChenXu [Sat, 13 Nov 2021 02:56:44 +0000 (10:56 +0800)]
Merge pull request #1794 from kabeor/master
Add Capstone Engine Documentation
Wu ChenXu [Sat, 13 Nov 2021 02:54:18 +0000 (10:54 +0800)]
Merge pull request #1792 from tmfink/master-deprecate
readme: mention master branch deprecation
kabeor [Sat, 13 Nov 2021 02:48:54 +0000 (10:48 +0800)]
update docs README
kabeor [Sat, 13 Nov 2021 02:37:39 +0000 (10:37 +0800)]
add Capstone Engine Documentation
kabeor [Sat, 13 Nov 2021 02:24:46 +0000 (10:24 +0800)]
Merge branch 'master' of https://github.com/kabeor/capstone
kabeor [Sat, 13 Nov 2021 02:24:21 +0000 (10:24 +0800)]
add Capstone Engine Documentation
Travis Finkenauer [Thu, 11 Nov 2021 07:06:36 +0000 (23:06 -0800)]
readme: mention master branch deprecation
Refers users to the next branch
syscl [Tue, 9 Nov 2021 16:21:21 +0000 (08:21 -0800)]
Fixed a small typo `Mac OSX` (#1777)
This corrected a small typo in the README.md
Nguyen Anh Quynh [Mon, 8 Nov 2021 15:56:07 +0000 (23:56 +0800)]
Update README.md
Nguyen Anh Quynh [Mon, 8 Nov 2021 02:11:07 +0000 (10:11 +0800)]
Update README.md
Nguyen Anh Quynh [Mon, 8 Nov 2021 02:10:47 +0000 (10:10 +0800)]
Update README.md
veritas501 [Sun, 13 Jun 2021 13:34:40 +0000 (21:34 +0800)]
fix inconsistent behavior of Mips_option() (#1744)
scribam [Sun, 13 Jun 2021 13:31:40 +0000 (15:31 +0200)]
Update cmake_minimum_required to version 2.8.12 (#1756)
wheremyfoodat [Sun, 13 Jun 2021 13:29:51 +0000 (16:29 +0300)]
Fixed typos in compilation steps. (#1762)
Jaysonicc [Sun, 13 Jun 2021 13:28:57 +0000 (21:28 +0800)]
fix build android (#1765)
* Update make.sh
fix build android
* Update Makefile
fix build android
Tomasz CEDRO [Sun, 23 May 2021 17:35:51 +0000 (19:35 +0200)]
Enable detection and build on all BSD systems. (#1753)
With FreeBSD, OpenBSD, NetBSD verified we can simply use "bsd".
Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
Tomasz CEDRO [Tue, 11 May 2021 15:32:09 +0000 (17:32 +0200)]
Fixes the (pip) Python Module build on FreeBSD. (#1750)
Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
StalkR [Fri, 19 Mar 2021 23:35:11 +0000 (23:35 +0000)]
ppc: fix registers overflow (#1687)
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22236
Hauke Jürgen Mönck [Sun, 7 Mar 2021 13:59:02 +0000 (14:59 +0100)]
MSVC tooling updates (#1651)
* Update solution, remove non-existent test_basic
* Add property sheet to set platform toolset correctly
* use property sheet in all projects
* cast explicitly to avoid warnings
* make property sheet optional
* Conflcting options "Edit and continue" and "optref" caused warnings
Co-authored-by: Hauke Mönck <>
notyourusualaccountname [Sun, 7 Mar 2021 13:58:01 +0000 (14:58 +0100)]
Fix bug introduced in https://github.com/aquynh/capstone/commit/
0932f167fd5620bba1619fc3fae90924292ebb2e (#1681)
Co-authored-by: Raffaele Meyer <Raffaele Meyer>
Matej Urbas [Sun, 7 Mar 2021 13:52:57 +0000 (13:52 +0000)]
add support for aarch64 distributions (#1720)
Nguyen Anh Quynh [Thu, 3 Dec 2020 07:32:37 +0000 (15:32 +0800)]
code style fix
Michal Schulz [Thu, 3 Dec 2020 07:30:35 +0000 (08:30 +0100)]
Honour direction bit in fmove instruction (#1709)
Co-authored-by: Michal Schulz <michal@Michals-iMac-Pro.local>
Catena cyber [Tue, 17 Nov 2020 14:47:27 +0000 (15:47 +0100)]
python: only use ascii character (#1704)
Otherwise python setup.py install from bindings/python
will fail with
SyntaxError: Non-ASCII character '\xe2' in file setup.py on line 223,
but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
chfl4gs [Sun, 15 Nov 2020 00:48:32 +0000 (08:48 +0800)]
PyPI workflow (#1645)
Keegan Saunders [Tue, 27 Oct 2020 04:00:05 +0000 (00:00 -0400)]
Option to generate install target (#1698)
Co-authored-by: meme <meme@users.noreply.github.com>
StalkR [Wed, 16 Sep 2020 09:05:55 +0000 (09:05 +0000)]
MCInst: fix uninitialized value in operand value (#1684)
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14912
Carlo Marcelo Arenas Belón [Tue, 15 Sep 2020 08:03:03 +0000 (01:03 -0700)]
include: avoid UB with signed overflow/shift (#1675)
if integer is 32-bit, and numeric literals default to int type,
the following applies (from The C Standard, 6.5.7, paragraph 4
[ISO/IEC 9899:2011]):
If E1 has a signed type and nonnegative value, and E1 × 2^E2 is
representable in the result type, then that is the resulting value;
otherwise, the behavior is undefined.
which means that the only way to safely shift is unsigned, so
use 1U to indicate the shifted bit is unsigned.
Carlo Marcelo Arenas Belón [Thu, 3 Sep 2020 08:49:29 +0000 (01:49 -0700)]
systemz: pad instruction width up to 6 bytes (#1679)
instructions could be 2, 4 or 6 bytes so pad accordingly as it
was done on the other CISC architecture.
junchao-loongson [Thu, 6 Aug 2020 01:36:30 +0000 (09:36 +0800)]
fix CS_ mips_ OP structure comment error (#1674)
Sergei Trofimovich [Sun, 19 Jul 2020 09:07:18 +0000 (10:07 +0100)]
capstone.pc.in: use CMAKE_INSTALL_LIBDIR for libdir (#1659)
On x86_64-linux gentoo system capstone was installing
it's files to 'lib64' libdir, but was referring 'lib' libdir:
```
$ cat /usr/lib64/pkgconfig/capstone.pc
...
libdir=${prefix}/lib
...
```
On radare2 built it means injecting -L/usr/lib into a 64-build
and pulling in 32-bit libraries. 'ld.lld' is not able to resolve
the ambiguity.
It happens because @LIBSUFFIX@ is not present in cmake-3.17.3.
Let's fix the paths by using @CMAKE_INSTALL_LIBDIR@.
This variable is already used in capstone's build system,
thus should be safe to rely on.
Reported-by: Agostino Sarubbo
Bug: https://bugs.gentoo.org/730722
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Nikita [Sat, 30 May 2020 02:51:02 +0000 (05:51 +0300)]
Allow to override PYTHON[23] in Makefiles (#1639)
$(PYTHON2) and/or $(PYTHON3) might differ from python and/or python3,
accordingly. Allow to override these variables by user choice.
Disconnect3d [Mon, 4 May 2020 17:53:17 +0000 (19:53 +0200)]
Add __repr__ for capstone.CsInsn (#1625)
* Add __repr__ for capstone.CsInsn
Currently, a `print(instruction)` displays a not very useful string like `<capstone.CsInsn object at 0x7f3759d88128>`.
This PR enhances adds a `__repr__` magic method to the `capstone.CsInsn` class so it displays as follows:
```
<cs.CsInsn: address=0x5555555545fa, size=1, mnemonic=push, op_str=rbp>
```
* Update __init__.py
Summus [Mon, 4 May 2020 17:11:16 +0000 (19:11 +0200)]
Fix Makefile CAPSTONE_BUILD_CORE_ONLY (#1617)
Co-authored-by: Romain Lesteven <romain.lesteven@armaturetech.com>
NancyLi1013 [Tue, 24 Mar 2020 08:27:30 +0000 (16:27 +0800)]
Add vcpkg installation instructions (#1602)
Eric Schulte [Mon, 23 Mar 2020 01:13:21 +0000 (21:13 -0400)]
Add Common Lisp bindings (#1605)
Morten Kristensen [Thu, 19 Mar 2020 01:18:18 +0000 (02:18 +0100)]
Fixed anon type in anon union error in m68k.h (#1597)
Apple Clang 11.0.0 error:
```
capstone/include/capstone/m68k.h:160:3: error: anonymous types declared in an anonymous union are an extension [-Werror,-Wnested-anon-types]
struct { ///< register pair in one operand
^
```
david942j [Tue, 10 Mar 2020 12:15:04 +0000 (20:15 +0800)]
Add Ruby binding by david942j (#1599)
Leo Neat [Mon, 24 Feb 2020 02:20:06 +0000 (18:20 -0800)]
CIFuzz action (#1590)
Nicolas Derumigny [Fri, 21 Feb 2020 01:58:32 +0000 (02:58 +0100)]
Bug solved: SSE variant of MOVSD incorrectly decoded as REPNE MOVSD (#1540)
Anton Kochkov [Wed, 19 Feb 2020 06:12:29 +0000 (14:12 +0800)]
Add Coverity Scan Action (#1573)
Mateusz Piotrowski [Wed, 19 Feb 2020 04:33:51 +0000 (05:33 +0100)]
Fix installation path on FreeBSD and DragonFly (#1589)
Nguyen Anh Quynh [Sun, 26 Jan 2020 05:26:58 +0000 (13:26 +0800)]
python: classifier Python3 for setup.py
c0rejump [Sat, 4 Jan 2020 15:43:06 +0000 (16:43 +0100)]
Update COMPILE_CMAKE.TXT file (#1580)
Correct supported archs description - fix TMS320C64X and EVM lines.
Additionally remove some tariling spaces.
c0rejump [Sat, 4 Jan 2020 15:42:35 +0000 (16:42 +0100)]
Add missing bracket in top-level README.md file (#1579)
Nguyen Anh Quynh [Thu, 2 Jan 2020 01:41:03 +0000 (09:41 +0800)]
Update .travis.yml
remove bionic gcc PPC (broken at Travis)
Anton Kochkov [Wed, 1 Jan 2020 02:14:18 +0000 (20:14 -0600)]
Add ARM64, System Z & PowerPC CI (#1574)
* Add ARM64, System Z & PowerPC CI
* Install unzip
c0rejump [Thu, 26 Dec 2019 04:28:08 +0000 (05:28 +0100)]
Update top-level COMPILE.TXT file (#1577)
Update section 2 - add missing mos65xx.h header and force
alphabetical order of core files.
meme [Mon, 23 Dec 2019 12:33:20 +0000 (07:33 -0500)]
Add missing ENDBR32, ENDBR64 in reduce (#1555)
hasherezade [Sun, 15 Dec 2019 16:35:00 +0000 (17:35 +0100)]
Fixed backward compatibility with C90 (#1572)
Schrijvers Luc [Sun, 15 Dec 2019 16:34:21 +0000 (17:34 +0100)]
Use GNUInstallDirs for the headers too (#1570)
Jiayi Zhao [Tue, 5 Nov 2019 03:48:06 +0000 (22:48 -0500)]
systemz: fix base/index printing (#1561)
- In cases where base is 0 but index is not, Capstone doesn't print anything
Tom Kelly [Thu, 26 Sep 2019 08:45:11 +0000 (09:45 +0100)]
Fix for x86_op record for ocaml bindings (#1539)
Wu ChenXu [Fri, 30 Aug 2019 15:00:00 +0000 (23:00 +0800)]
Update README (#1534)
Scott Knight [Wed, 28 Aug 2019 06:20:32 +0000 (02:20 -0400)]
Update Go binding information (#1532)
Cen Zhang [Mon, 29 Jul 2019 09:37:41 +0000 (17:37 +0800)]
fix for make clean fail (#1524)
* fix for make.sh for android
* remove commented line
* fix make clean fail issue
Cen Zhang [Fri, 26 Jul 2019 16:16:01 +0000 (00:16 +0800)]
fix for make.sh for android (#1523)
* fix for make.sh for android
* remove commented line
mquigley [Thu, 11 Jul 2019 09:34:06 +0000 (02:34 -0700)]
#1246 - Fix Java bindings to use pointers instead of longs (#1516)
Previously, a long was used instead of a pointer in the JNA binding library.
This would work until the allocated pointers exceeded 32-bits. On modern JVMs,
allocations may produce pointers in excess of 32-bits which would result in
invalid memory access errors.
This also updates the binding version to 5.0.
Jeremy Ng [Fri, 17 May 2019 01:40:05 +0000 (09:40 +0800)]
Update COMPILE.TXT (#1482)
there are clearly 7 options, not 5 options. just updating the numbers.
Ammar [Tue, 14 May 2019 15:10:28 +0000 (17:10 +0200)]
x86: fix call/jmp access mode of mem operand (#1479)
sets CS_AC_READ for memory operand of call and jmp instructions
Michael Bikovitsky [Thu, 9 May 2019 02:23:46 +0000 (05:23 +0300)]
Fix user data alignment in MEMBLOCK (#1471)
* Fix user data alignment in MEMBLOCK
Kernel memory allocations on Windows should be aligned on MEMORY_ALLOCATION_ALIGNMENT (16 bytes on x64 and 8 bytes on x86).
* Fix user data alignment in CS_WINKERNEL_MEMBLOCK
Nguyen Anh Quynh [Mon, 29 Apr 2019 13:15:17 +0000 (21:15 +0800)]
fix cmake.sh
Nguyen Anh Quynh [Mon, 29 Apr 2019 13:01:37 +0000 (21:01 +0800)]
fix cmake.sh
JornVernee [Mon, 29 Apr 2019 10:28:21 +0000 (12:28 +0200)]
Add cmake option to tell whether architectures should be included by default (#1463)
* Add cmake option to disable architectures by default
* Add cmake option to disable architectures by default
* Remove CAPSTONE_X86_ONLY cmake variable, and update build scripts to use the CAPSTONE_ARCHITECUTRE_DEFAULT option, which can be used with any architecture.
* Updated cmake and nmake files to replace cmake-x86 and nmake-x86
* Simplified cmake wrapper scripts
* Updated cmake build instructions
* Tab to space in doc
ChrisDenton [Wed, 3 Apr 2019 03:40:36 +0000 (04:40 +0100)]
Update __init__.py (#1453)
Pass bytearrays by reference instead of copying to bytes.
Travis Finkenauer [Mon, 1 Apr 2019 02:52:47 +0000 (22:52 -0400)]
Fix CS_ERR_X86_MASM doc typo (#1455)
Sebastian Macke [Sun, 24 Mar 2019 03:39:28 +0000 (04:39 +0100)]
MOS65XX: Use same output style as other archs (#1445)
Signed-off-by: Sebastian Macke <sebastian@macke.de>
hal-jones [Sat, 16 Mar 2019 16:37:55 +0000 (16:37 +0000)]
AArch64: Fix register access flags for memory instructions (#1423)
* AArch64: fixes register access flags for loads
* AArch64: fixes register access flags for ORR
* AArch64: fixes register access flags for stores
ceeac [Thu, 14 Mar 2019 15:26:52 +0000 (16:26 +0100)]
Fix #1420: Capstone 4 fails to build when targeting UWP (#1421)
Catena cyber [Mon, 11 Mar 2019 05:12:54 +0000 (06:12 +0100)]
Corpus generation is more robust (#1419)
Catena cyber [Tue, 5 Mar 2019 02:19:42 +0000 (03:19 +0100)]
Avoids type confusion in cpu12 for M680X (#1417)
Nguyen Anh Quynh [Mon, 4 Mar 2019 13:44:16 +0000 (21:44 +0800)]
Merge branch 'master' of github.com:aquynh/capstone
Nguyen Anh Quynh [Mon, 4 Mar 2019 07:08:57 +0000 (15:08 +0800)]
thumb: delete redundant code in _Thumb_getInstruction()
Nguyen Anh Quynh [Mon, 4 Mar 2019 07:08:57 +0000 (15:08 +0800)]
thumb: delete redundant code in _Thumb_getInstruction()
Đỗ Minh Tuấn [Sun, 3 Mar 2019 11:10:18 +0000 (18:10 +0700)]
normalize in issue mode (#1414)
* normalize tab character in cs
* normalize in issue mode
Đỗ Minh Tuấn [Sun, 3 Mar 2019 10:07:47 +0000 (17:07 +0700)]
normalize tab character in cs (#1413)
* normalize tab character in cs
z [Fri, 1 Mar 2019 01:54:14 +0000 (09:54 +0800)]
fix SystemZRegDesc&SystemZMCRegisterClasses number of SystemZ InitMCRegisterInfo (#1405)
Stephen [Fri, 1 Mar 2019 01:52:11 +0000 (17:52 -0800)]
add xenial tests (#1404)
* add xenial tests
* add cmocka remove reminder
Sebastian Macke [Wed, 27 Feb 2019 22:12:52 +0000 (23:12 +0100)]
MOS65XX: Fix instruction length for indirect addressing modes (#1402)
Signed-off-by: Sebastian Macke <sebastian@macke.de>
Đỗ Minh Tuấn [Tue, 26 Feb 2019 12:31:37 +0000 (19:31 +0700)]
fix mode "c" in report_cstest (#1398)
* fix mode "c" in report_cstest
Nguyen Anh Quynh [Thu, 21 Feb 2019 07:32:00 +0000 (15:32 +0800)]
X86: X86_insn_reg_att uses a wrong mapping array of Intel syntax
Anton Bolshakov [Wed, 20 Feb 2019 02:11:26 +0000 (10:11 +0800)]
respect libsuffix in pkgconfig (#1393)
* respect libsuffix in pkgconfig
discovered in https://bugs.gentoo.org/677946
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
david942j [Mon, 18 Feb 2019 11:52:51 +0000 (19:52 +0800)]
Fix typos of MOS65XX (#1390)
* Fix typos
* make test_mos65xx.py and test_mos65xx.c have same output format
* mox65xx -> mos65xx
Nguyen Anh Quynh [Mon, 18 Feb 2019 09:27:04 +0000 (17:27 +0800)]
x86: 8bit Imm operand has size = 1. this fixes issue #1389
Семён Марьясин [Sat, 16 Feb 2019 17:29:53 +0000 (20:29 +0300)]
Fix skipdata struct being destroyed (#1385)
Invincible [Sat, 16 Feb 2019 17:28:01 +0000 (01:28 +0800)]
For the benefit of mankind. (#1386)
For the peace and tranquility of the earth.
Catena cyber [Sat, 16 Feb 2019 02:33:21 +0000 (03:33 +0100)]
Fixes more undefined left shift of negative values (#1384)
Catena cyber [Sat, 16 Feb 2019 02:32:15 +0000 (03:32 +0100)]
Avoids overflow in getRegisterName for TMS320C64x (#1375)
* Avoids overflow in getRegisterName for TMS320C64x
* Revert "Avoids overflow in getRegisterName for TMS320C64x"
This reverts commit
18acee60cd4206f4340f5e8ad3ddd67eab1691f3.
* Checks register in DecodeMemOperandSc
Catena cyber [Fri, 15 Feb 2019 14:45:45 +0000 (15:45 +0100)]
Updates test_corpus to support new examples (#1383)
Catena cyber [Fri, 15 Feb 2019 14:35:04 +0000 (15:35 +0100)]
Multiply signed integer instead of left shift (#1382)
Nguyen Anh Quynh [Fri, 15 Feb 2019 00:58:46 +0000 (08:58 +0800)]
README: pypi downloads
Đỗ Minh Tuấn [Thu, 14 Feb 2019 16:12:18 +0000 (23:12 +0700)]
Another way to solve when compare with issue (#1379)
* cstest: partial details are supported in issues.cs
Đỗ Minh Tuấn [Thu, 14 Feb 2019 14:15:12 +0000 (21:15 +0700)]
Integrate into travis cli (#1378)
* Comment out all failed tests
* Integrate with Travis
Nguyen Anh Quynh [Thu, 14 Feb 2019 08:24:37 +0000 (16:24 +0800)]
Merge branch 'HarDToBelieve-master'
Nguyen Anh Quynh [Thu, 14 Feb 2019 08:24:22 +0000 (16:24 +0800)]
cstest: code style
Đỗ Minh Tuấn [Thu, 14 Feb 2019 08:23:18 +0000 (15:23 +0700)]
Fix bugs (#1377)
* fixing
* Done fixing
HarDToBelieve [Thu, 14 Feb 2019 07:13:45 +0000 (14:13 +0700)]
Done fixing
hardtobelieve [Thu, 14 Feb 2019 04:01:26 +0000 (20:01 -0800)]
fixing