G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

渗透技巧 1个月前 admin
128 0 0

先盗一张图

G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

https://news.ycombinator.com/item?id=18400204

有这么一则江湖传说——Emacs是伪装成编辑器的操作系统,在这一点上,Emacs的粉丝针对Vim找到许多优越感。但是粉丝群体相互攻击的力量是无穷的,真的有一些极客,把Vim做成了操作系统,今天我们就要来看看Vim社区是如何扳回一城的~

G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

上面这幅图看起来很酷炫,但是它并不是当前流行的libraryOS这种封装,而是——不卖关子了——基于特定的启动流程的封装。我们先来看看来自荷兰的这位作者——Remy van Elst——的技巧。

https://raymii.org/s/

首先,作者带领大家做的第一件事是编译一个纯静态链接的Vim,这可以让Vim不依赖于特定的库就能运行起来,免除了操作系统运行环境的局限。

https://raymii.org/s/blog/Statically_cross_compiled_vim_for_x86_x86-64_and_mips.html

可能你以为静态链接的Vim很大,实际上,它只有1.4M大小(请你们这些VS Code的支持者站出来摸着自己的良心说一下,浪费存储空间可耻不可耻!)

G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

有了静态的Vim加持,接下来,作者利用了Tiny Core Linux这个超轻量级发行版,对其发布的ISO文件进行偷梁换柱:把刚刚编译的静态链接版本的Vim放进去,然后设置inittab

G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

最后重新打包ISO就好了~~~

哈哈哈,你是不是有一种“就给我看这”的愤怒?


G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

别急!接下来才是正餐:接下要来请出我们的主角——cosmopolitan libc,一个同时支持 Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS 的libc!这个libc能够让可执行文件变成跨平台的“αcτµαlly pδrταblε εxεcµταblε”格式(ape格式),具体的技术黑魔法参见:

https://justine.lol/ape.html

在这个神奇的libc的支持下,作者自己弄了个viless版本,是从 BusyBox 的 Vi 实现里面fork出来,但是不需要 BusyBox 就能运行了。

https://github.com/RaymiiOrg/viless

最后就是基于cosmopolitan libc制作一个通用的vi.com,然后用QEMU可以加载起来运行了~看到这个.com扩展名,老DOS用户热泪盈眶!

G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

好了,正餐结束~ 祝大家五一节快乐,当一个合格的旅游特种兵!


原文:https://raymii.org/s/blog/Bare_Metal_Boot_to_Vi.html


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统?

版权声明:admin 发表于 2023年4月28日 下午8:02。
转载请注明:G.O.S.S.I.P 阅读推荐 2023-04-28 Vim操作系统? | CTF导航

相关文章

暂无评论

暂无评论...