EagleVM 开源项目使用教程
EagleVM Native code virtualizer for x64 binaries 项目地址: https://gitcode.com/gh_mirrors/ea/EagleVM
1. 项目目录结构及介绍
EagleVM 是一个用于生成虚拟机保护 x64 汇编的开源项目。以下是项目的目录结构及其简要介绍:
EagleVM/
├── EagleVM.Core # 提供所有虚拟化和分析功能的静态库
├── EagleVM.Sandbox # 用于未来对完整二进制文件进行测试的项目
├── EagleVM.Stub # 用于需要被保护的项目中的 DLL,EagleVM 保护应用程序搜索 stub 导入以空壳标记的代码段并创建虚拟化代码
├── EagleVM.Tests # 项目的测试代码
├── deps # 项目依赖的外部库
├── .github/ # GitHub 使用的模板和配置文件
├── .clang-format # Clang 格式化配置文件
├── .editorconfig # 编辑器配置文件
├── .gitignore # Git 忽略文件列表
├── .gitmodules # 定义子模块的配置文件
├── CMakeLists.txt # CMake 构建文件
├── CMakePresets.json # CMake 预设配置文件
├── LICENSE # 项目许可证文件
├── README.md # 项目说明文件
├── clion-format.xml # CLion 格式化配置文件
├── cmake.toml # CMake 配置文件
└── cmkr.cmake # CMake 模块文件
2. 项目的启动文件介绍
EagleVM 项目的启动主要是通过 CMake 来进行构建。主要的启动文件是 CMakeLists.txt
。该文件定义了项目的构建过程、依赖库、编译选项等。
# 设置最小 CMake 版本
cmake_minimum_required(VERSION 3.10)
# 项目名称和版本
project(EagleVM VERSION 1.0)
# 设置 C++ 标准版本
set(CMAKE_CXX_STANDARD 11)
# 添加子目录
add_subdirectory(EagleVM.Core)
add_subdirectory(EagleVM.Sandbox)
add_subdirectory(EagleVM.Stub)
add_subdirectory(EagleVM.Tests)
# 定义安装规则
install(TARGETS EagleVM.Core EagleVM.Sandbox EagleVM.Stub EagleVM.Tests
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static)
# 其他配置...
3. 项目的配置文件介绍
项目的配置文件主要包括 CMakeLists.txt
中的相关配置部分,以及 .clang-format
和 .editorconfig
等编辑器配置文件。
-
CMakeLists.txt
:如上所述,该文件包含了项目构建的详细配置,包括添加子目录、定义安装规则等。 -
.clang-format
:这是 Clang 格式化工具的配置文件,用于指定代码的格式化规则。 -
.editorconfig
:这是编辑器配置文件,用于定义统一的代码风格和编辑器设置,适用于多种编辑器和IDE。
这些配置文件确保了项目的代码风格和构建流程的一致性,有助于维护和开发工作的进行。
EagleVM Native code virtualizer for x64 binaries 项目地址: https://gitcode.com/gh_mirrors/ea/EagleVM
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考