20个版本 (6个破坏性更新)
0.7.4 | 2023年11月25日 |
---|---|
0.7.3 | 2023年9月27日 |
0.6.3 | 2023年9月25日 |
0.5.2 | 2023年9月20日 |
0.1.0 | 2023年8月21日 |
#198 在 操作系统 类别
每月下载量162次
40KB
522 行代码(不包括注释)
raminspect
raminspect
是一个crate,允许检查和操作Linux系统上运行进程的内存和代码。它提供在进程内存中查找和替换搜索词的功能,为进程分配新内存的功能,以及允许在进程上下文中注入任意shellcode的接口。所有这些都需要root权限,这是显而易见的。
功能演示
运行示例
如果你已经安装了Firefox,你应该能够运行firefox_search
示例。要做到这一点,首先打开一个Firefox实例,并在搜索栏中键入"旧搜索文本"。如果一切顺利,当你以root身份使用以下命令运行示例时,它应该被替换为"新搜索文本",尽管你可能需要再次点击搜索栏才能使其显示新文本:sudo cargo run --example firefox_search --release
关于内存分配和shellcode注入的注意事项
查找和替换功能在有或没有内核模块的情况下都可用,但如果你要注入shellcode或分配新缓冲区,你必须首先构建和加载必需的内核模块。你可以通过安装你发行版的内核头文件包,执行 git clone
并在存储库的 kern_module
子目录中运行以下命令来完成此操作(如果由于某些原因构建失败,请提交问题)
make all
sudo insmod raminspect.ko
请注意,shellcode注入部分目前设计为在任何架构上工作(尽管实际的shellcode本身必须是平台特定的),但任意内存分配部分目前仅限于x86-64。欢迎提交PR以添加对更多CPU架构的任意分配支持。
依赖关系
~190KB