Jellyfish 项目使用教程
1. 项目目录结构及介绍
Jellyfish 项目是一个基于 Linux 的用户态 GPU rootkit 证明概念项目,它使用 LD_PRELOAD 技术和 OpenCL API 来实现 GPU 上恶意代码的存储和执行。以下是项目的目录结构及其说明:
jellyfish/
├── build/ # 构建目录,存放编译生成的文件
├── rootkit/ # 根kit 相关代码
├── server/ # 服务器端代码
├── .gitignore # Git 忽略文件列表
├── LICENSE # 项目许可证文件
└── readme.md # 项目说明文件
build/:构建目录,用于存放编译过程中产生的文件。rootkit/:包含 rootkit 的核心代码,负责 GPU 上恶意代码的加载和执行。server/:服务器端代码,负责监听客户端的连接和数据传输。.gitignore:指定 Git 忽略跟踪的文件和目录。LICENSE:项目的开源许可证,本项目采用 GPL-2.0 许可。readme.md:项目说明文件,包含项目的简要介绍和基本使用说明。
2. 项目的启动文件介绍
项目的启动主要涉及服务器端和客户端的代码。以下是一些关键的启动文件:
server/server.c:服务器端主程序文件,负责启动监听服务和处理客户端连接。rootkit/rootkit.c:rootkit 主程序文件,负责在 GPU 上加载和执行恶意代码。
启动服务器
首先,确保你的系统已经安装了 OpenCL 驱动程序,然后编译服务器端代码:
cd server
gcc server.c -o server -lOpenCL
启动服务器:
./server
启动 rootkit
编译 rootkit 代码:
cd rootkit
gcc rootkit.c -o rootkit -lOpenCL
运行 rootkit:
./rootkit
3. 项目的配置文件介绍
本项目没有专门的配置文件。所有的配置都是通过编译时的参数或者代码中的宏定义来实现的。如果需要修改配置,可以直接在源代码中找到相应的宏定义或者参数,并按照需求进行修改。
例如,服务器端的监听端口和 rootkit 的行为参数都可以在代码中找到并修改。
请确保在使用前正确配置并编译项目,以避免运行时出现错误。
以上是 Jellyfish 项目的使用教程,希望对您有所帮助。在使用过程中,请遵守法律法规,仅用于教育目的。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



