makin项目编译与部署指南:从源码到可执行文件的完整构建流程
makin项目编译与部署指南:从源码到可执行文件的完整构建流程
【免费下载链接】makinmakin - reveal anti-debugging and anti-VM tricks [This project is not maintained anymore]项目地址: https://gitcode.com/gh_mirrors/ma/makin
makin是一个强大的反调试和反虚拟机检测工具,专门设计用于揭示恶意软件样本中使用的各种调试器检测技术。🔍 这个开源项目通过注入自定义DLL并钩住关键系统API,能够有效识别样本中的反调试和反虚拟机技术。对于安全研究人员和恶意软件分析师来说,掌握makin的编译与部署流程是进行有效分析的第一步。
📋 前置环境准备
在开始编译makin之前,您需要准备以下开发环境:
系统要求
- 操作系统: Windows 10或更高版本(推荐Windows 10 1809以上)
- 开发工具: Visual Studio 2017或更高版本(支持v141工具集)
- Windows SDK: 10.0.17763.0或更高版本
- 硬件要求: x86或x64架构处理器,至少4GB内存
依赖库准备
makin项目依赖于两个重要的第三方库:
- Zydis反汇编引擎- 用于指令解码和分析
- JSON for Modern C++- 用于配置文件解析
这些依赖已经包含在项目中的external/目录下,无需额外下载。
🔧 源码获取与项目结构
首先,您需要获取makin项目的源码:
git clone https://gitcode.com/gh_mirrors/ma/makin cd makin项目的主要目录结构如下:
makin/ ├── makin.sln # Visual Studio解决方案文件 ├── makin/ # 主程序源码 │ ├── makin.cpp # 主程序入口点 │ ├── makin.vcxproj # 项目配置文件 │ └── checks.json # 虚拟机检测配置 ├── asho/ # 注入DLL源码 │ ├── asho.cpp # DLL主模块 │ ├── hook.h # 钩子函数声明 │ └── utils.cpp # 工具函数 └── external/ # 第三方依赖 ├── json/ # JSON库 └── zydis/ # 反汇编引擎🛠️ Visual Studio编译步骤
步骤1:打开解决方案文件
使用Visual Studio 2017或更高版本打开makin.sln解决方案文件。这个解决方案包含两个项目:
- makin: 主调试器程序
- asho: 注入的DLL模块
步骤2:配置编译平台
根据您的目标系统选择相应的平台配置:
| 配置类型 | 平台 | 用途 |
|---|---|---|
| Debug | x86 | 32位调试版本 |
| Debug | x64 | 64位调试版本 |
| Release | x86 | 32位发布版本 |
| Release | x64 | 64位发布版本 |
💡 专业建议: 对于大多数现代Windows系统,建议使用x64 Release配置以获得最佳性能。
步骤3:设置编译选项
在项目属性中,确保以下设置正确:
- 平台工具集: v141 (Visual Studio 2017)
- Windows SDK版本: 10.0.17763.0
- 字符集: Unicode
- 包含目录: 自动包含external目录中的依赖
步骤4:编译项目
按F7或点击"生成解决方案"开始编译过程。编译完成后,您将在以下目录找到生成的可执行文件:
makin\x64\Release\makin.exe # 64位主程序 asho\x64\Release\asho.dll # 64位注入DLL makin\Win32\Release\makin.exe # 32位主程序 asho\Win32\Release\asho.dll # 32位注入DLL🚀 命令行编译方法
如果您更喜欢使用命令行工具,可以使用MSBuild进行编译:
# 编译64位Release版本 msbuild makin.sln /p:Configuration=Release /p:Platform=x64 # 编译32位Release版本 msbuild makin.sln /p:Configuration=Release /p:Platform=Win32 # 编译64位Debug版本 msbuild makin.sln /p:Configuration=Debug /p:Platform=x64📦 部署与配置
文件部署结构
成功编译后,您需要将以下文件部署到同一目录:
工作目录/ ├── makin.exe # 主程序 ├── asho.dll # 注入模块 └── checks.json # 检测配置文件(可选)配置文件说明
checks.json文件包含了虚拟机检测的配置规则,您可以根据需要自定义检测项:
{ "title": "VM checks", "Registry": { "KeyChecks": { "VMware": ["vmware"], "VirtualBox": ["virtualbox", "vbox"] } }, "FileSystem": { "Files": ["virtualbox", "vmware", "vmmouse.sys"] } }✨ 小贴士: 您可以编辑checks.json文件来添加或修改虚拟机检测规则,无需重新编译程序!
🧪 测试与验证
基本功能测试
编译完成后,您可以运行以下命令测试makin的基本功能:
# 查看帮助信息 makin.exe --help # 分析一个样本 makin.exe sample.exe验证编译结果
确保编译成功的几个关键检查点:
文件大小检查:
- makin.exe: 约200-300KB(Release版本)
- asho.dll: 约100-200KB(Release版本)
依赖检查: 使用Dependency Walker或类似工具检查是否有缺失的DLL依赖
功能测试: 运行makin分析一个简单的测试程序,验证是否能正确检测调试器
🔍 常见编译问题解决
问题1:找不到Windows SDK
症状: 编译错误提示"Windows SDK版本10.0.17763.0未找到"解决方案:
- 安装Windows 10 SDK (10.0.17763.0)
- 或修改项目属性中的Windows SDK版本为您已安装的版本
问题2:平台工具集不匹配
症状: 错误提示"未找到v141工具集"解决方案:
- 安装Visual Studio 2017
- 或升级到Visual Studio 2019/2022,并修改平台工具集为相应版本
问题3:外部依赖路径错误
症状: 编译时找不到zydis或json头文件解决方案: 检查makin.vcxproj文件中的包含路径设置,确保正确指向external/目录
🎯 高级编译选项
自定义编译标志
您可以在项目属性中调整以下编译选项:
| 选项 | 推荐设置 | 说明 |
|---|---|---|
| 优化 | /O2 | 最大优化速度 |
| 调试信息 | /Zi | 生成PDB文件 |
| 安全检查 | /GS | 启用缓冲区安全检查 |
| 数据执行保护 | /NXCOMPAT | 启用DEP保护 |
静态链接选项
为了简化部署,您可以考虑静态链接运行时库:
- 打开项目属性 → C/C++ → 代码生成
- 将"运行时库"设置为"多线程(/MT)"(Release)或"多线程调试(/MTd)"(Debug)
📊 性能优化建议
编译优化
- 使用Release配置进行最终构建
- 启用全程序优化(/GL)和链接时代码生成(/LTCG)
- 针对特定CPU架构优化(/arch:AVX2)
部署优化
- 将makin.exe和asho.dll放在同一目录
- 确保目标系统已安装必要的Visual C++运行时
- 对于批量分析,考虑编写脚本自动化流程
🔧 自定义开发与扩展
添加新的检测规则
makin的架构支持轻松扩展新的检测规则:
- 修改asho.dll: 在
asho/hook.h和asho/hookFunctions.h中添加新的钩子函数 - 更新消息处理: 在
makin/makin.cpp中处理新的检测消息 - 重新编译: 只需重新编译asho项目即可
集成到现有工作流
makin可以与其他安全工具集成:
- 与IDA Pro配合使用自动生成的脚本
- 与自动化沙箱系统集成
- 作为恶意软件分析流水线的一部分
🚨 安全注意事项
使用环境
- 在隔离的虚拟机环境中运行makin
- 避免在生产系统上分析未知样本
- 使用专用的恶意软件分析工作站
权限要求
- 以管理员权限运行以获得最佳检测效果
- 确保有足够的系统权限进行进程注入
📈 总结与最佳实践
通过本文的完整指南,您应该已经掌握了makin项目的编译与部署全流程。记住以下关键点:
- 环境准备是关键- 确保Visual Studio和Windows SDK正确安装
- 平台选择要匹配- 根据目标系统选择x86或x64架构
- 配置文件可定制- 利用
checks.json灵活调整检测规则 - 测试验证不可少- 编译后务必进行功能测试
makin作为一个专业的反调试检测工具,为安全研究人员提供了强大的分析能力。掌握其编译部署流程,您就能更好地利用这个工具进行恶意软件分析和安全研究。🔒
💪 现在就开始您的makin编译之旅吧!如果在编译过程中遇到任何问题,欢迎参考项目文档或社区讨论。祝您编译顺利,分析成功!
【免费下载链接】makinmakin - reveal anti-debugging and anti-VM tricks [This project is not maintained anymore]项目地址: https://gitcode.com/gh_mirrors/ma/makin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考