Hasty Briefsbeta

双语

Linux is an interpreter

2 months ago
  • #initrd
  • #linux
  • #kexec
  • 作者分析了一个神秘命令'curl https://astrid.tech/rkx.gz | gunzip | sudo sh',揭示它是一个通过base64和cpio提取内核与初始内存盘(initrd)的Shell脚本。
  • 该初始内存盘脚本递归使用kexec将当前内核替换为新内核,其行为类似于经过尾调用优化的递归函数。
  • 文章将Linux描述为一种解释initrd的解释器,类似于Shell或Python解释器的工作方式,同时提到ELF文件也通过ld.so进行解释执行。
  • 文章探讨了通过binfmt_misc注册自定义解释器(如QEMU或基于kexec的脚本)来直接执行cpio文件的方法。
  • 文中展示了一个修改版的initrd,它注册了cpio解释器并执行自身,从而形成一个解释器成为下次重启时内核的循环。