#process-memory #linux-process #inspection #search #shellcode #running #root

raminspect

一个用于在Linux系统上对进程的内存和代码进行任意检查和操作的库

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操作系统 类别

Download history 1/week @ 2024-03-11 7/week @ 2024-04-01

每月下载量162次

GPL-3.0 许可证

40KB
522 行代码(不包括注释)

raminspect

raminspect 是一个crate,允许检查和操作Linux系统上运行进程的内存和代码。它提供在进程内存中查找和替换搜索词的功能,为进程分配新内存的功能,以及允许在进程上下文中注入任意shellcode的接口。所有这些都需要root权限,这是显而易见的。

功能演示

demo

运行示例

如果你已经安装了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