- Jun 13, 2020
-
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
Bet4 authored
- Jun 12, 2020
-
-
Nguyen Anh Quynh authored
-
Andrew Benson authored
Some platforms split *.so into -devel, which then requires the python library to be patched to load libkeystone.so.0 instead of libkeystone.so.
-
- Jun 10, 2020
-
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
chfl4gs authored
* Travis-CI build & nmake batch file updates * PyPI packaging
-
Nguyen Anh Quynh authored
-
- May 07, 2020
-
-
kj.xwings.l authored
* quick fix for pip and python binding isntall * better fix
-
- Feb 15, 2020
-
-
turekt authored
When trying to execute `make install` inside the go binding sample, the output shows an error that is specified by guitmz in issue #363 Adding the missing cgo LDFLAGS resolves this issue.
-
Daniel Henry-Mantilla authored
- A bool coming from C cannot be trusted; functionally it is a c_int, and conversion to bool must be done by comparing to 0; - similarly, a `#[repr(C)]` enum cannot be trusted to be a `u32`; it is more often than not a `c_int`. This could cause breakage with the ABI of the C functions of the binding. So the signatures and enum definitions have been adapted based on the `include/keystone/keystone.h` definitions. - and most importantly: a ks_handle is a `ks_engine *` in C parlance, and using `size_t` to represent it is not the right way. Moreover, so doing prevents the `Sync` and `Send` traits from being auto-unimplemented, meaning that this is implicitly asserting that keystone is multithread-safe, even for the same instance. If that is the case, then a `unsafe impl Sync for Keystone {}` (ditto for `Send`) should be added to make such assertion explicit. That's why an opaque type using the classic Rust idiom of a zero_sized #[repr(C)] struct has been made (while waiting for Rust to feature external types), and `Option<ptr::NonNull<_>>` is being used as the pointer type (equivalent to *mut _), but it allows to communicate nullable / non-nullable invariants at the type-level. This has then been transposed to the internals of keystone-rs.
-
- Dec 31, 2019
-
-
Nguyen Anh Quynh authored
-
- Nov 22, 2019
-
-
Michael Mohr authored
-
- Aug 02, 2019
-
-
Banny authored
Bug fix for win32 jna access
-
Boris-Chengbiao Zhou authored
* Fix Rust bindings * Various small improvements for the Rust bindings * Remove unused dependencies * Use the cmake crate to compile keystone * Add Windows support to Rust bindings * Cleanup doc a bit * Fix symlink path * Link to C++ standard library * Build all keystone targets
-
Jinmo authored
-
- Sep 17, 2018
-
-
@tkmru authored
-
- Sep 16, 2018
-
-
Tasuku SUENAGA a.k.a. gunyarakun authored
-
- Aug 02, 2018
-
-
Grégoire Geis authored
* Refactor to target .NET Standard 1.1 * Added Nuget details to .csproj * Reviewed Engine methods and docs; added own Exception type. * Added migration guide for .NET bindings.
-
- Jul 18, 2018
-
-
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.
-
- Apr 01, 2018
-
-
gmorenz authored
-
- Mar 30, 2018
-
-
Nguyen Anh Quynh authored
-
- Mar 15, 2018
-
-
Ta Thanh Dinh authored
-
- Mar 12, 2018
-
-
Michael Mohr authored
-
- Jan 23, 2018
-
-
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
-
- Nov 29, 2017
-
-
Segev Finer authored
When enabled, the assembled code will be returned as bytes (str on Python 2) instead of a list of integers, this is more memory efficient, faster (It's created using ctypes.string_at instead of a loop in Python), and more convenient since that's the type that most code that works with bytes in Python expects (That includes capstone). Defaults to `False` for backwards compatibility, since changing the return type is a breaking change.
-
- Oct 26, 2017
-
-
Tasuku SUENAGA a.k.a. gunyarakun authored
-
- Oct 24, 2017
-
-
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.
-
- Jul 14, 2017
-
-
David Zimmer authored
* +vb6 bindings * vb6 bindings credits update
-
- Mar 21, 2017
-
-
Marco authored
-
- Mar 20, 2017
-
-
Marco authored
* Added support for CSharp * Minor changes to const_generator.py; Moved files according to the output of const_generator.py; Removed non-english comments; * Released keystone after tests
-
- Nov 10, 2016
-
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
FuzzySecurity authored
-
- Nov 07, 2016
-
-
FuzzySecurity authored
-