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)
|