Skip to content
Snippets Groups Projects
  1. Sep 17, 2018
  2. Sep 16, 2018
  3. Sep 13, 2018
  4. Sep 11, 2018
  5. Aug 02, 2018
  6. Jul 25, 2018
    • bsharet's avatar
      Don't build universal binaries by default (#366) · 3ea06c9e
      bsharet authored
      * Don't build universal binaries by default
      
      Starting Xcode 10 beta, there's no support for i386.
      This commit changes the default build on iOS to regular libraries
      instead of universal binaries.
      Build of universal binaries is still supported with macos-universal.
      
      * Add macos-no-universal option (compatibility)
      
      Keep the default to be macos-no-universal, but add it as an option as
      well for backward compatibility.
      3ea06c9e
  7. Jul 18, 2018
    • Nguyen Anh Quynh's avatar
      add Java binding to README · e4d73ee0
      Nguyen Anh Quynh authored
      e4d73ee0
    • Jämes Ménétrey's avatar
      Introduction of the Java bindings (#364) · 097dca27
      Jämes Ménétrey authored
      * Add the structure for the Java Bindings
      
      Set up the structure hosting the Java bindings using JNA,
      and provides a binding for the function ks_version.
      
      * Ignore the compiled extension of macOS libraries.
      
      * Add infrastructure to open and close Keystone handles.
      
      Keystone enumerations have been added, as well as the required
      wrappers for JNA to convert the enumerations to and from the
      native library.
      
      Create exceptions for handling issues related to Keystone.
      
      Implement a cleaner that automatically collect any opened
      Keystone handles when a Keystone instance is garbage collected.
      
      * The close method of Keystone is now thread-safe.
      
      * Rename the exception KeystoneOpenFailedException into OpenFailedKeystoneException.
      
      * Add the assemble function into the wrapper of Keystone.
      
      * Enhance the exceptions thrown by Keystone using ks_strerror.
      
      The exception classes have been refactored to shorten hardcoded
      error messages into the wrapper and instead, rely on the error
      messages generated by the native library, thanks to the function
      ks_strerror.
      
      * Add the ability to check with a given architecture is supported.
      
      Enhance the wrapper to map the function function ks_arch_supported
      in order to determine whether a given architecture is supported.
      
      * Add the features the change the assembly syntax and resolve symbols.
      
      Enhance the wrapper in order to support the changes of options.
      
      * Document the class KeystoneEncoded.
      
      * Add additional unit tests for a better coverage.
      
      * Reorder the native functions import and document the native functions prototype.
      
      * Optimize the code.
      
      * Add the target folder to the gitignore.
      
      * Add missing Javadoc annotations for the exceptions.
      
      * Add a gitkeep for the folder hosting the Keystone library for macOS.
      
      * Update the Maven configuration for version and dependencies.
      
      Use the version convention defined in the README, add a couple
      of testing dependencies and plugins to package the bindings in
      a fat JAR and enable Maven to use jUnit 5.
      
      * Use JNA Direct Mapping for better performances on native function calls.
      
      * Add the README.
      
      * Add myself to the credits :)
      
      * Use the syntax highlighting of Java in the README.
      
      * Fix a typo.
      
      * Optimize imports.
      
      * Add predefined folders hosting the library Keystone on Windows.
      
      * Add the Java bindings to the README of the bindings summary.
      097dca27
  8. May 10, 2018
  9. Apr 01, 2018
    • gmorenz's avatar
      Fix use after free in Rust bindings (#334) · 28292239
      gmorenz authored
      28292239
    • Christian Sharpsten's avatar
      Auto-detect install libdir to enable multi-arch debian builds (#345) · 3e67c1d4
      Christian Sharpsten authored
      When compiling on linux, use GNUInstallDirs to automatically determine
      the appropriate libdir path for multi-arch builds instead of hardcoding
      lib/ or lib64/. GNUInstallDirs should follow the FHS appropriately for
      non-debian platforms that place libs in lib64/. This also removes the
      need to specify `lib64` on the command line when building for a
      non-debian system that follows the linux FHS.
      
      When compiling with cmake directly on debian and specifying
      `-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_LIBRARY_ARCHITECTURE=<arch>`, the
      libdir should be set to /usr/lib/<arch>/.
      3e67c1d4
  10. Mar 31, 2018
  11. Mar 30, 2018
  12. Mar 15, 2018
  13. Mar 13, 2018
  14. Mar 12, 2018
  15. Feb 20, 2018
  16. Jan 24, 2018
  17. Jan 23, 2018
    • Nguyen Anh Quynh's avatar
      add Masm binding to README · 52accc6b
      Nguyen Anh Quynh authored
      52accc6b
    • fearless's avatar
      Include bindings for masm x86 and other x64 assemblers (#320) · 2c659e9d
      fearless authored
      * Include bindings for masm x86 and other x64 assemblers
      
      * Added examples RadASM projects for x86 and x64 assembler
      Removed stub lib files
      Added readme.md
      
      * removed stub lib files
      
      * Fixed passing address parameter of ks_asm as qword size.
      Added unzipped source folders for examples
      Removed extra lines in text files
      
      * Removed additional extra lines at end of text files
      
      * Renamed readme.md to README.md, removed additional binaries.
      
      * Rename readme.md to README.md
      
      * Removed additional non-required files. Have to leave .dlg files as they are required for the main dialog examples and examples wont compile without them.
      
      * Updated bindings to add masm binding by mrfealress
      2c659e9d
    • Peter Matula's avatar
      rename namespace "llvm" to "llvm_ks" (#333) · 1815d79b
      Peter Matula authored
      This prevents symbol collisions when the Keystone library is linked with the LLVM libraries.
      
      Renaming was done by the following repository-wide substitutions:
      * `namespace llvm` -> `namespace llvm_ks`
      * `llvm::` -> `llvm_ks::`
      1815d79b
  18. Dec 21, 2017
  19. Nov 29, 2017
  20. Nov 05, 2017
  21. Oct 26, 2017
  22. Oct 24, 2017
    • hongxu's avatar
      fix python bindings shared library directory issue (#301) · 5bcff118
      hongxu authored
      using `data_files` dict prefixed with
      `SITE_PACKAGES = os.path.join(get_python_lib(), "keystone")` is not
      portable, see #235 and #297 for details. Regular setup configuration does
      not work, e.g., specifying `package_data` etc, since that only affects
      `sdist`.
      
      The fix is a hack: customize `install_lib` to explicitly copy the file
      into keystone install dir.
      5bcff118
  23. Oct 07, 2017
  24. Jul 14, 2017
  25. Jun 01, 2017
  26. May 09, 2017
  27. Apr 17, 2017
Loading