vmlinuz文件解压缩

[root@centos boot]# od -t x1 -A d vmlinuz | grep "1f 8b 08"

0013408 ff e0 1f 8b 08 00 ea 80 b9 52 02 03 ec 5b 7f 74

[root@centos boot]# dd if=vmlinuz bs=1 skip=0013410 | zcat > vmlinux

gzip: stdin: decompression OK, trailing garbage ignored

记录了9195934+0 的读入

记录了9195934+0 的写出

9195934字节(9.2 MB)已复制,51.5023 秒,179 kB/秒

注:skip=0013410这个数是怎么算出来的呢?其实很简单,就是0013408这个数加上0013408到1f 8b 08 00这个数间隔了多少个数字,然后得出结果

根据上述方法可以算出0013410=0013408+2

为了更好的明白上面的话,我再举下面一个例子

[root@centos boot]# od -t x1 -A d vmlinuz-2.6.32-358.el6.x86_64 | grep "1f 8b 08"

0014432 48 8d 83 e0 3e 3d 00 ff e0 1f 8b 08 00 78 bc 26

根据可以得出skip=0014441,计算方法为:0014432+9=001441

猜你喜欢

转载自blog.csdn.net/smilesundream/article/details/86514313