
Unicorn engine bindings for VB6 

A sample class for the 32bit x86 emulator is provided.

Contributed by: FireEye FLARE team
Author:         David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
License:        Apache 2.0

' supported api: 
'        ucs_version
'        ucs_arch_supported
'        ucs_open
'        ucs_close
'        uc_reg_write
'        uc_reg_read
'        uc_mem_write
'        UC_MEM_READ
'        uc_emu_start
'        uc_emu_stop
'        ucs_hook_add
'        uc_mem_map
'        uc_hook_del
'        uc_mem_regions
'        uc_mem_map_ptr
'        uc_context_alloc
'        uc_free
'        uc_context_save
'        uc_context_restore
'        uc_mem_unmap
'        uc_mem_protect
'        uc_strerror
'        uc_errno
'
' supported hooks:
'        UC_HOOK_CODE
'        UC_HOOK_BLOCK
'        memory READ/WRITE/FETCH
'        invalid memory access
'        interrupts
'
' bonus:
'        disasm_addr     (conditional compile - uses libdasm)
'        mem_write_block (map and write data auto handles alignment)
'        get_memMap      (wrapper for uc_mem_regions)
'

dependancies: (all in same directory or unicorn package in %windir%)
   vb6Test.exe
     ucvbshim.dll           _
       unicorn.dll           -
         libgcc_s_dw2-1.dll   \
         libiconv-2.dll        \__ unicorn package
         libintl-8.dll         /
         libpcre-1.dll        /
         libwinpthread-1.dll_-

Notes:

   c dll was built using VS2008
   build notes are included at the top of main.c
   this dll serves as a stdcall shim so vb6 can access the cdecl api and receive data from the callbacks.
 
   huge thanks to the unicorn and qemu authors who took on a gigantic task to create this library!


   

   


