thesecretclub/riscy-business
GitHub: thesecretclub/riscy-business
基于LLVM的RISC-V虚拟机工具链,可将Windows程序转译为RISC-V指令并在自定义虚拟机中执行,实现跨架构代码保护。
Stars: 282 | Forks: 230
# riscy-business

**文章:[RISC-Y Business:对抗精简指令集机器](https://secret.club/2023/12/24/riscy-business.html).**
## 前置条件
- Visual Studio 2022 及 `C++ Clang Compiler for Windows (16.0.5)` 组件
- CMake 3.26(早期版本可能可行,但不推荐)
## riscvm
此文件夹包含 VM 主机(`rv64i` 解释器)。
构建:
```
cd riscvm
cmake -B build -T ClangCL
cmake --build build --config RelWithDebInfo
```
## transpiler
此文件夹包含负责修改 LLVM Bitcode (.bc) 文件以使其兼容 `riscv64` 目标编译的项目。此工具是我们的神奇之处,它允许我们使用 `clang-cl` 构建常规 Windows 项目,然后将其转换为兼容 `riscvm` 主机的 payload。
构建:
```
cd transpiler
cmake -B build -DCMAKE_PREFIX_PATH=c:/llvm-install
cmake --build build --config RelWithDebInfo
```
`llvm-install` 是一个标准的 LLVM 安装目录。其版本应与 Visual Studio 使用的 Clang 版本匹配(有时可以更新)。如果您想节省编译 LLVM 的时间,可以使用预编译的 [llvm-17.0.2-win64.7z](https://github.com/thesecretclub/riscy-business/releases/download/transpiler-v0.3/llvm-17.0.2-win64.7z)。
## payload
此文件夹包含一个示例 payload 项目。
构建:
```
cd payload
cmake -B build -T ClangCL
cmake --build build --config Release
```
这应该会生成一个 `payload.bin`,可以作为参数传递给 `riscvm` 执行。
标签:Bash脚本, Bitcode, C++, Clang, CMake, DNS 反向解析, LLVM, RISC-V, Transpiler, Windows开发, 二进制分析, 云安全运维, 代码保护, 代码混淆, 安全测试, 客户端加密, 攻击性安全, 数据擦除, 沙箱逃逸, 混淆引擎, 生成式AI安全, 自定义指令集, 虚拟机, 解释器, 跨平台编译, 转译器, 防逆向