makin项目编译与部署指南:从源码到可执行文件的完整构建流程
makin项目编译与部署指南从源码到可执行文件的完整构建流程【免费下载链接】makinmakin - reveal anti-debugging and anti-VM tricks [This project is not maintained anymore]项目地址: https://gitcode.com/gh_mirrors/ma/makinmakin是一个强大的反调试和反虚拟机检测工具专门设计用于揭示恶意软件样本中使用的各种调试器检测技术。 这个开源项目通过注入自定义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配置编译平台根据您的目标系统选择相应的平台配置配置类型平台用途Debugx8632位调试版本Debugx6464位调试版本Releasex8632位发布版本Releasex6464位发布版本 专业建议: 对于大多数现代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:ConfigurationRelease /p:Platformx64 # 编译32位Release版本 msbuild makin.sln /p:ConfigurationRelease /p:PlatformWin32 # 编译64位Debug版本 msbuild makin.sln /p:ConfigurationDebug /p:Platformx64 部署与配置文件部署结构成功编译后您需要将以下文件部署到同一目录工作目录/ ├── 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-300KBRelease版本asho.dll: 约100-200KBRelease版本依赖检查: 使用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),仅供参考