idalib C++ CMake 项目配置

IDA Pro 9.0 引入了 idalib 强化了 IDA Headless ,可以使用 C++ 和 Python 操作 IDA 自动化对二进制程序进行静态分析,刚好最近项目有批量处理文件的需求,而且 BinaryNinja 试了一下来体验非常差劲,刚好体验一手。

官方SDK中提供的例子是基于Makefile的,但是我是 Jetbrains 家的🐶,我必须用 CLion 下面是一个 CMakeLists.txt 的例子。

cmake_minimum_required(VERSION 3.29)
project(idalib_test)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)

set(IDASDK "/Users/gaoyucan/Documents/idapro/idasdk90")
set(IDADIR "/Applications/IDA Professional 9.0.app/Contents/MacOS")

set(IDALIBLIB ${IDADIR}/libidalib.dylib)
set(IDALIB ${IDADIR}/libida.dylib)
set(IDAPROINCLUDE ${IDASDK}/include)

add_executable(idalib_test main.cpp)
target_link_libraries(idalib_test PRIVATE ${IDALIBLIB} ${IDALIB})
target_include_directories(idalib_test PRIVATE ${IDAPROINCLUDE})
target_compile_definitions(idalib_test PRIVATE __MAC__=1 __ARM__=1 __EA64__=1)