Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. (bloaty 依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Nguyen Anh Quynh b3e26fdaa6 x86: add prefix constant REPE 10 years ago
..
Makefile Makefile: add 'check' target 10 years ago
README ocaml: update README 11 years ago
arm.ml java & ocaml: update these bindings following the addition of lshift field to arm_op_mem of Arm engine 10 years ago
arm64.ml ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 10 years ago
arm64_const.ml java/ocaml/python: update bindings after the last change on generic instruction groups 10 years ago
arm_const.ml x86: add prefix constant REPE 10 years ago
capstone.ml ocaml: update Mips modes to CS_MODE_MIPS32 & CS_MODE_MIPS64 10 years ago
mips.ml ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 10 years ago
mips_const.ml java/ocaml/python: update bindings after the last change on generic instruction groups 10 years ago
ocaml.c java & ocaml: update these bindings following the addition of lshift field to arm_op_mem of Arm engine 10 years ago
ppc.ml ocaml: update after the latest change on PPC in the core 10 years ago
ppc_const.ml java/ocaml/python: update bindings after the last change on generic instruction groups 10 years ago
sparc.ml ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 10 years ago
sparc_const.ml java/ocaml/python: update bindings after the last change on generic instruction groups 10 years ago
systemz.ml ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 10 years ago
sysz_const.ml java/ocaml/python: update bindings after the last change on generic instruction groups 10 years ago
test.ml ocaml: update Mips modes to CS_MODE_MIPS32 & CS_MODE_MIPS64 10 years ago
test_arm.ml java & ocaml: update these bindings following the addition of lshift field to arm_op_mem of Arm engine 10 years ago
test_arm64.ml Ocaml: major update 10 years ago
test_detail.ml ocaml: update Mips modes to CS_MODE_MIPS32 & CS_MODE_MIPS64 10 years ago
test_mips.ml ocaml: update Mips modes to CS_MODE_MIPS32 & CS_MODE_MIPS64 10 years ago
test_ppc.ml ocaml: typo (CS_MODE_32) in test_ppc.ml 10 years ago
test_sparc.ml Ocaml: major update 10 years ago
test_systemz.ml Ocaml: major update 10 years ago
test_x86.ml Ocaml: major update 10 years ago
test_xcore.ml Ocaml: major update 10 years ago
x86.ml ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 10 years ago
x86_const.ml x86: add prefix constant REPE 10 years ago
xcore.ml ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 10 years ago
xcore_const.ml java/ocaml/python: update bindings after the last change on generic instruction groups 10 years ago

README

To compile Ocaml binding, Ocaml toolchain is needed. On Ubuntu Linux,
you can install Ocaml with:

$ sudo apt-get install ocaml-nox

To compile Ocaml binding, simply run "make" on the command line.


This directory also contains some test code to show how to use Capstone API.

- test.ml
This code shows the most simple form of API where we only want to get basic
information out of disassembled instruction, such as address, mnemonic and
operand string.

- test_detail.ml:
This code shows how to access to architecture-neutral information in disassembled
instructions, such as implicit registers read/written, or groups of instructions
that this instruction belong to.

- test_<arch>.ml
These code show how to access architecture-specific information for each
architecture.