#shell #script #elf-file #turns #sh #locally #attempt

app shelfie

shelfie 将 shell 脚本转换为 ELF 文件

2 个稳定版本

1.0.1 2022 年 11 月 29 日

#5#turns

MIT/Apache

11KB
220

shelfie 将 shell 脚本转换为 ELF 文件

类似于 shc,但没有尝试混淆脚本,恰恰相反。结果是文件不是最小化的,并且只在我的 dash 版本上进行了测试。优点在于它是 Rust 编写的,易于检查、验证等... 有关更多信息,请参阅 示例

用法

使用以下命令在本地安装工具

cargo install shelfie

然后你可以将 sh 转换为 ELF

shelfie your-fav.sh

有帮助可用

shelfie --help

如何

我考虑过精通 ELF-fu,但放弃了。相反,我们只是将脚本附加到 ELF 上并加上标记。在运行时,我们扫描可执行文件以查找标记的迹象,提取脚本并将其传递给 /bin/sh

为什么

拥有 ELF 文件对于设置 setuid、setguid、设置功能等根权限魔法很有用,因为你不能使用解释脚本做这些事情。而拥有 shell 脚本对于快速破解很有用,对吧?你可以使用 shc 或类似的工具做这件事。如果你选择了其他工具,请不要介意。这是一个 Rust 练习,使用内存映射文件。

依赖关系

~0.2–1MB
~16K SLoC