tree: 0e4cc10e8c934ee574977c5a617b370480db658d [path history] [tgz]
  1. Apache_2.0_License.txt
  2. CDisassembler.cls
  3. CInstDetails.cls
  4. CInstruction.cls
  5. CX86Inst.cls
  6. CX86Operand.cls
  7. CX86OpMem.cls
  8. Form1.frm
  9. Form1.frx
  10. mMisc.bas
  11. Module1.bas
  12. mx86.bas
  13. Project1.vbp
  14. Project1.vbw
  15. README.md
  16. screenshot.png
  17. vbCapstone.cpp
  18. vbCapstone.sln
  19. vbCapstone.vcproj
bindings/vb6/README.md

Capstone Disassembly Engine bindings for VB6 Contributed by FireEye FLARE Team Author: David Zimmer david.zimmer@fireeye.com, dzzie@yahoo.com License: Apache 2.0 Copyright: FireEye 2017

This is a sample for using the capstone disassembly engine with VB6.

All of the capstone API are implemented, so this lib supports basic disassembly of all of the processor architectures that capstone implements.

In the vb code, full instruction details are currently only supported for the x86 processor family.

This sample was built against Capstone 3.0 rc4. Note that if the capstone structures change in the future this code will have to be adjusted to match.

The vbCapstone.dll is written in C. Project files are provided for VS2008. It is a small shim to give VB6 access to a stdcall API to access capstone. You could also modify capstone itself so its exports were stdcall.

The C project has an additional include directory set to ./../../include/ for <capstone.h>. This is for the /capstone/bindings/vb6/ directory structure