4.2 KiB
4.2 KiB
SimpleRemoter 编译脚本
命令行编译脚本,支持完整编译和增量编译。
环境要求
- Visual Studio 2019 或 2022
- v142 工具集 (MSVC v142 - VS 2019 C++ build tools)
- MFC 库 (C++ MFC for v142 build tools)
脚本自动检测以下 VS 安装路径:
C:\Program Files\Microsoft Visual Studio\18\*(VS2019 Insiders)C:\Program Files*\Microsoft Visual Studio\2019\*C:\Program Files*\Microsoft Visual Studio\2022\*
脚本文件
| 文件 | 说明 |
|---|---|
build.ps1 |
PowerShell 主脚本 |
build.cmd |
批处理快捷入口 |
命令参数
PowerShell (build.ps1)
.\build.ps1 [-Config <配置>] [-Platform <平台>] [-ServerOnly] [-Clean] [-Publish]
| 参数 | 可选值 | 默认值 | 说明 |
|---|---|---|---|
-Config |
Release, Debug |
Release |
编译配置 |
-Platform |
x64, x86, all |
x64 |
目标平台 |
-ServerOnly |
开关 | 否 | 仅编译主控程序,跳过依赖项 |
-Clean |
开关 | 否 | 清理后重新编译 |
-Publish |
开关 | 否 | 发版模式:重编译所有 + UPX 压缩 |
批处理 (build.cmd)
build [release|debug] [x64|x86|all] [server|clean|publish]
- 参数顺序任意
- 不区分大小写
使用示例
PowerShell
# 完整编译 (Release x64)
.\build.ps1
# 编译 x86 + x64 两个平台
.\build.ps1 -Platform all
# Debug 模式编译
.\build.ps1 -Config Debug
# 仅编译主控程序 (跳过依赖项,适合快速重编译)
.\build.ps1 -ServerOnly
# 清理后重新编译
.\build.ps1 -Clean
# 组合使用
.\build.ps1 -Config Debug -Platform all -Clean
批处理
build # 完整编译 Release x64
build server # 仅主控程序
build debug x86 # Debug x86
build release all clean # 清理后编译所有平台
build publish # 发版模式
编译流程
完整编译 (默认)
Step 1: 编译客户端项目 (始终 Release, x86 + x64)
├── ServerDll.dll ← ClientDll_vs2015.vcxproj
├── ghost.exe ← ghost_vs2015.vcxproj
├── TestRun.exe ← TestRun_vs2015.vcxproj
├── TinyRun.dll ← TinyRun.vcxproj
└── SCLoader.exe ← SCLoader.vcxproj
Step 2: 编译主控程序 (使用 -Config 指定的配置)
└── Yama.exe ← 2015Remote_vs2015.vcxproj
注意: 客户端项目始终使用 Release 模式编译,因为主控程序资源中引用的是 Release\ 目录下的文件。-Config Debug 只影响主控程序本身。
主控程序 Yama 会将 Step 1 编译的 DLL/EXE 内嵌到资源中,因此首次编译必须执行完整编译。
发版模式 (-Publish)
Step 1: 重新编译所有客户端项目 (Release x86 + x64)
Step 2: 重新编译主控程序 (Release x64)
Step 3: UPX 压缩 (upx --best Yama_x64.exe)
发版模式会:
- 强制 Release x64 配置
- 强制 Clean 重新编译(确保所有文件是最新的)
- 使用 UPX 压缩最终输出(约 70% 压缩率)
UPX 路径:server/2015Remote/res/3rd/upx.exe
仅主控 (-ServerOnly)
跳过 Step 1,直接编译 Yama。适用于:
- 依赖项已编译完成
- 仅修改了主控程序代码
输出文件
| 平台 | 输出路径 |
|---|---|
| x64 | Bin\Yama_x64.exe |
| x86 | Bin\Yama_x86.exe |
客户端项目输出:
| 项目 | x86 输出 | x64 输出 |
|---|---|---|
| ServerDll | Release\ServerDll.dll |
x64\Release\ServerDll.dll |
| ghost | Release\ghost.exe |
x64\Release\ghost.exe |
| TestRun | Release\TestRun.exe |
x64\Release\TestRun.exe |
| TinyRun | Release\TinyRun.dll |
x64\Release\TinyRun.dll |
| SCLoader | Release\SCLoader.exe |
x64\Release\SCLoader.exe |
常见问题
v142 build tools cannot be found
安装 VS2019 构建工具:
- 打开 Visual Studio Installer
- 修改 VS2022 或安装 VS2019
- 勾选
MSVC v142 - VS 2019 C++ x64/x86 build tools
MFC libraries are required
安装 MFC 库:
- 打开 Visual Studio Installer
- 勾选
C++ MFC for v142 build tools (x86 and x64)
MSBuild not found
确保安装了 Visual Studio 2019 或 2022,且包含 C++ 桌面开发工作负载。