TitanEngine是Windows平台下轻量化高性能开源调试引擎,由ReversingLabs团队开发,于2012年HITB阿姆斯特丹黑客大会正式开源发布,也是主流逆向调试工具x64dbg的核心底层引擎。该引擎深度封装优化了Windows原生调试API,支持32/64位程序调试、硬件断点、异常捕获、畸形PE解析等专业逆向能力,开源可二次开发,广泛用于恶意软件分析与漏洞挖掘。本章将通过Visual Studio 2013来编译该引擎,并生成成品,成品可以是LIB库也可以是DLL文件。

去Github下载对应的引擎文件;

https://github.com/lyshark/TitanEngine

下载后直接解压并使用Visual Studio 2013打开项目,将编译模式改为Release然后直接在生成位置点击重新编译按钮。

image

此时会报错。

image

依次将编译器从v141_xp修改为v120

image

依次限定范围,并继续修改剩下的两个。

image

image

image

然后再次点击重新编译按钮,此时等待一段时间后会报错误

image

第一个问题C2144点击并跳转过去,替换 constexpr 为 const

VS2013 不支持 constexpr,将所有 constexpr 关键字替换为 const

image

静态断言错误,点击跳转过去,旧 SDK 的 ntdll.h 结构定义与引擎代码不兼容,可通过以下方式屏蔽掉:

// 注释掉这行静态断言
// static_assert(... , "Offset check");

image

打开 Global.Debugger.cpp,在文件顶部添加

// 兼容旧 SDK,添加缺失的 ARM64 架构定义
#ifndef IMAGE_FILE_MACHINE_ARM64
#define IMAGE_FILE_MACHINE_ARM64 0xAA64
#endif

image

然后解析点击重新编译按钮,等待程序编译完成。

image

至此,在win32目录下就可以找到TitanEngine.dll文件

image

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。