- Jun 13, 2020
-
-
jan2642 authored
-
el poto rico authored
* Add binary output option (-b) to kstool Using -b option, kstool will print the encoded instructions to stdout in binary format. For example: ``` kstool -b arm64 "CCMP X0, X1, 4, EQ" 0xcafebaba | xxd 00000000: 0400 41fa ..A. ``` For `getopt`, this commit reuse the getopt.c from capstone-engine. * Fix build for MSVC
-
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
-
Nguyen Anh Quynh authored
-
Nguyen Anh Quynh authored
-
chfl4gs authored
* Travis-CI build & nmake batch file updates * PyPI packaging
-
Nguyen Anh Quynh authored
-
- Jun 09, 2020
-
-
chfl4gs authored
-
- May 07, 2020
-
-
kj.xwings.l authored
* quick fix for pip and python binding isntall * better fix
-
- Apr 13, 2020
-
-
Sean authored
-
- Feb 15, 2020
-
-
Edward Larson authored
(cherry picked from commit 06afb493e09cb7591fedf17cc5b06f9a865b385c)
-
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.
-
Phoebe authored
-
- Dec 31, 2019
-
-
Nguyen Anh Quynh authored
-
- Nov 22, 2019
-
-
Michael Mohr authored
-
- Aug 02, 2019
-
-
brendabrandy authored
-
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
-
- Feb 08, 2019
-
-
Catena cyber authored
* Sets a default radix * Default radix is 16
-
- Jan 21, 2019
-
-
Trey Keown authored
* Fix ADRP instruction encoding * Trigger checks on PR again, it failed for some reason unrelated to my code * Add correct offset checks back in
-
- Dec 08, 2018
-
-
mike-au-451 authored
-
- Sep 24, 2018
-
-
Catena cyber authored
-
- Sep 17, 2018
-
-
Catena cyber authored
-
@tkmru authored
-
- Sep 16, 2018
-
-
Tasuku SUENAGA a.k.a. gunyarakun authored
-
- Sep 13, 2018
-
-
Catena cyber authored
For fuzzing
-
Catena cyber authored
* Only frees instruction if allocated * Avoids memory leak in ks_close for EVM
-
- Sep 11, 2018
-
-
Catena cyber authored
-
Ta Thanh Dinh 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 25, 2018
-
-
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.
-
- Jul 18, 2018
-
-
Nguyen Anh Quynh authored
-
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.
-
- May 10, 2018
-
-
Michael Mohr authored
-