什么是.xsh文件?如何看它的内容?

发布日期:2026-06-21 01:10:46 分类:bet28365365官网 浏览:7850

这些是“自解压缩”档案;我发现的第一个档案的顶部有以下代码:

代码语言:javascript复制#!/bin/sh

echo "Optware Bootstrap for syno-i686."

echo "Extracting archive... please wait"

dd if=$0 bs=205 skip=1 | tar xzv

cd bootstrap && sh bootstrap.sh && cd .. && rm -r bootstrap

exec /bin/sh --login..。这表明它基本上是一个(大型) shell脚本,其中有趣的部分是dd ... | tar xzv行;其他行是特定于该特定包的。

dd命令从$0 (当前文件)中读取--跳过正确的字节数;然后将输出发送给tar,后者需要一个压缩的存档。在xsh文件中的那个位置插入了一个压缩的tar文件。

要自己查看/提取它,只需遵循相同的说明-这将随xsh文件的不同而变化-即:

代码语言:javascript复制$ dd if=syno-i686-bootstrap_1.2-7_i686.xsh bs=205 skip=1 > bootstrap.tgz

$ gunzip bootstrap.tgz ## for example

$ tar tf bootstrap.tar ## for example

bootstrap/

bootstrap/bootstrap.sh

bootstrap/ipkg-opt.ipk

bootstrap/ipkg.sh

...作为提取档案的一般规则,您可以查找dd签名,告诉grep在这个“二进制”文件中输出匹配是可以的:

代码语言:javascript复制$ grep -a '^dd if=$0' syno-i686-bootstrap_1.2-7_i686.xsh

dd if=$0 bs=205 skip=1 | tar xzv..。然后,您可以复制/粘贴以查看或提取您喜欢的内容。您还可能对正在执行的其他命令感兴趣;同样地,请使用-查看这些命令

代码语言:javascript复制$ dd if=syno-i686-bootstrap_1.2-7_i686.xsh bs=205 count=1

#!/bin/sh

echo "Optware Bootstrap for syno-i686."

echo "Extracting archive... please wait"

dd if=$0 bs=205 skip=1 | tar xzv

cd bootstrap && sh bootstrap.sh && cd .. && rm -r bootstrap

exec /bin/sh --login

1+0 records in

1+0 records out

205 bytes (205 B) copied, 4.7985e-05 s, 4.3 MB/s