Edward Larson 4f5401601b Fix for issue #427 (#429)
* Add support for MSP430

* Fix test-all.sh

* Use corrected TableGen output files

* Fix bindings for EVM and MSP430

* Remove LLVM_CONSTEXPR (like upstream LLVM did) and fix Java binding

See https://github.com/llvm-mirror/llvm/commit/6feedc56f7855aa24baf759f3bc17112ecbf5699#diff-d14f03e012a2bdbf93486dc1c4ce95ec

* Revert bindings

* Remove added files as well

* Add back changes for bindings created by const_gnerator

* Add back changes for other bindings

* Update CREDITS.TXT

* Fix ADRP instruction encoding

* Trigger checks on PR again, it failed for some reason unrelated to my code

* Add correct offset checks back in

* added llvm support post jan 2

* Remove bounds check on ppc branch instructions target address (fix issue 423)

* Fix vm address reset in aliased PPC instructions

* Fix vm address reset in aliased PPC instructions

(cherry picked from commit 06425a32f3)

* Remove bounds check on ppc branch instructions target address (fix issue 423)

(cherry picked from commit 06afb493e0)

* Clean up test for issue #427

Co-authored-by: Trey Keown <trey@redballoonsecurity.com>
Co-authored-by: Dan Pesce <dan@redballoonsecurity.com>
Co-authored-by: Trey Keown <jfktrey@gmail.com>
Co-authored-by: Nguyen Anh Quynh <aquynh@gmail.com>
2020-06-14 16:04:10 +08:00
2020-06-14 01:45:32 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 16:04:10 +08:00
2016-05-02 01:48:57 +08:00
2020-06-14 16:04:10 +08:00
2020-06-14 11:14:29 +08:00
2016-04-28 21:06:49 +08:00
2020-06-13 18:28:03 +08:00
2016-04-28 21:06:49 +08:00
2020-06-14 16:04:10 +08:00
2016-04-28 21:06:49 +08:00
2016-05-31 09:13:53 +08:00
2016-05-24 18:23:20 +02:00
2020-06-14 16:04:10 +08:00
2020-06-10 16:02:14 +08:00
2016-04-28 21:06:49 +08:00

Keystone Engine

Build Status Build Status Build status

Keystone is a lightweight multi-platform, multi-architecture assembler framework. It offers some unparalleled features:

  • Multi-architecture, with support for Arm, Arm64 (AArch64/Armv8), Ethereum Virtual Machine, Hexagon, Mips, MSP430, PowerPC, Sparc, SystemZ & X86 (include 16/32/64bit).
  • Clean/simple/lightweight/intuitive architecture-neutral API.
  • Implemented in C/C++ languages, with bindings for Java, Masm, C#, PowerShell, Perl, Python, NodeJS, Ruby, Go, Rust, Haskell, VB6 & OCaml available.
  • Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris confirmed).
  • Thread-safe by design.
  • Open source - with a dual license.

Keystone is based on LLVM, but it goes much further with a lot more to offer.

Further information is available at http://www.keystone-engine.org

License

Keystone is available under a dual license:

  • Version 2 of the GNU General Public License (GPLv2). (I.e. Without the "any later version" clause.). License information can be found in the COPYING file and the EXCEPTIONS-CLIENT file.

    This combination allows almost all of open source projects to use Keystone without conflicts.

  • For commercial usage in production environments, contact the authors of Keystone to buy a royalty-free license.

    See LICENSE-COM.TXT for more information.

Compilation & Docs

See COMPILE.md file for how to compile and install Keystone.

More documentation is available in docs/README.md.

Contact

Contact us via mailing list, email or twitter for any questions.

Contribute

Keystone is impossible without generous support from our sponsors. We cannot thank them enough!

CREDITS.TXT records other important contributors of our project.

If you want to contribute, please pick up something from our Github issues.

We also maintain a list of more challenged problems in a TODO list.

S
Description
Automated archival mirror of github.com/keystone-engine/keystone
Readme 17 MiB
Languages
C++ 93.3%
OCaml 1.6%
CMake 1.2%
Python 1.2%
C 1%
Other 1.2%