首页
社区
课程
招聘
[原创] IDA9.3 SP1 C++SDK 模块编译
发表于: 2026-4-23 18:41 1344

[原创] IDA9.3 SP1 C++SDK 模块编译

2026-4-23 18:41
1344

摘要:

        本文复现IDA-SDK 9.3 基础环境及相关模块的编译,此为后续C++开发相关模块基础参照。本文主要复现Windows平台部分。



一、ida-sdk源码

        github仓库有各版本源码: ida-skd ==> d9eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6t1k6i4S2d9j5i4W2K6f1@1q4Q4x3V1k6A6k6r3q4Q4x3X3c8K6k6r3D9`.


二、准备条件

        官仓已说明,需要支持C++ 17的编译器,Visual Studio C++ 2022后版本,Cygwin,CMake。


1、git拉取或更新代码库,并取最新版本

(1)如果没有下载过仓库代码:
git clone b90K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6t1k6i4S2d9j5i4W2K6f1@1q4Q4x3V1k6A6k6r3q4Q4x3X3c8K6k6r3E0Q4x3X3g2Y4K9i4b7`.

(2)如果以前下载过
cd ida-sdk
git pull

(3)列出版本分支
>>git tag
v9.2
v9.2.0-release
v9.2.0-sdk.1
v9.3
v9.3.0-release
v9.3.0-sdk.1
v9.3.0-sdk.2
v9.3.0-sdk.3

(4)取最新版本
>> git checkout v9.3.0-sdk.3


(5)更新子模块
git submodule update --init --recursive



2、安装64位Cygwin及要求工具

(1)安装好Cygwin后,其目录内容如下,注意到其中的【setup-x86_64.exe】
bin
Cygwin-Terminal.ico
Cygwin.bat
Cygwin.ico
dev
etc
home
lib
sbin
setup-x86_64.exe
tmp
usr
var

(2)命令行进入Cygwin目录,按要求装所需工具
.\setup-x86_64.exe -q -P make,strip,diffutils,binutils,gcc-g++,rsync --site "813K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2A6M7Y4u0G2M7Y4y4Q4x3X3g2C8k6i4u0F1k6h3I4Q4x3X3g2G2M7X3N6Q4x3V1k6K6L8%4g2J5j5$3g2%4j5i4u0W2i4K6u0r3j5%4W2Y4N6$3W2F1i4K6u0r3i4K6t1$3M7i4g2G2N6q4)9K6b7R3`.`.

(3)IDAPython需要,也可以安装可选工具

.\setup-x86_64.exe -q -P zip,unzip,swig --site "a44K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2A6M7Y4u0G2M7Y4y4Q4x3X3g2C8k6i4u0F1k6h3I4Q4x3X3g2G2M7X3N6Q4x3V1k6K6L8%4g2J5j5$3g2%4j5i4u0W2i4K6u0r3j5%4W2Y4N6$3W2F1i4K6u0r3i4K6t1$3M7i4g2G2N6q4)9K6b7R3`.`.


3、编译命令行环境配置

(1)先后顺序不能错,一般cygwin中也有cmake工具,其中的工具一般不兼容cygwin外的MSVC C++工具,所以用windows系统另外装的CMake覆盖掉(PATH中优先找到)
set path=d:\cygwin64\bin;%path%
set path=d:\CMake\bin;%path% 
d:\vstools\vs2022x64.bat


(2)d:\vstools\vs2022x64.bat 文件内容如下,按Visutal C++ 2022实际目录修改,会启动一个新的cmd交互窗口
@start "vs2022.x64" cmd /k "call ^"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat^"" x64 %*


4、cmake配置和qt代码额外准备

(1)再上面打开的配置好环境的cmd中,进入ida-sdk中的src目录,如下会编译qt无关的模块
cd src\
cmake -B build
cmake --build build --config Release


(2)qt相关模块
可以通过加速下载软件下载 3a4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5k6i4q4@1i4K6u0W2K9h3!0Q4x3V1k6S2M7X3y4Z5K9i4k6W2i4K6u0r3M7i4c8Q4x3V1j5$3i4K6u0W2z5q4)9J5c8U0k6Q4x3X3f1^5i4K6u0W2x3W2)9J5c8Y4y4A6L8X3N6D9k6g2)9J5c8Y4q4@1i4K6u0V1k6i4k6W2M7Y4W2%4K9r3g2J5k6g2)9J5k6s2y4J5j5#2)9J5k6o6k6Q4x3X3f1^5i4K6u0W2x3W2)9J5k6i4c8S2M7W2)9J5k6i4S2*7i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4q4!0n7b7W2!0n7y4W2!0q4c8W2!0n7b7#2)9^5z5q4!0q4z5q4!0n7c8W2)9&6x3e0q4s2i4@1g2r3i4@1u0o6i4K6R3&6
放置到 ida-sdk/src/build/qt-prefix/src/qt-everywhere-src-6.8.2.tar.xz
否则cmake脚本下载可能比较慢或中断,如果不是IDA9.3版本,参考ida-sdk\src\build\qt-prefix\src\qt6_external-stamp\download-qt6_external.cmake
下载好的qt源码要与其中的hash匹配。

cd src\
cmake -B build
cmake --build build --target build_qt          会编译并安装Qt

:: Qt is auto-detected and plugins rebuild automatically  会自动检测到Qt并编译Qt相关模块
cmake --build build --config Release


5、代码浏览


最后可通过Visual Studio 2022打开ida-sdk\src\build\idasdk.sln 进行代码检索参考。


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2026-4-23 18:44 被tritium编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回