版权声明:
版权所有©;;2005,analyst
本文为analyst原创,只要承认作者的版权,允许任意转载,但是不得用于商业目的。
本文版权归analyst所有,如需转载,请保留该声明,谢谢!
m0n0wall是一款基于FreeBSD内核的防火墙软件,国内bsder大多用于网关接入,完成nat功能。由于
http://m0n0.ch仅提供了映像文件的下载,且部分玩家有改造m0n0wall的需求,本文就如何完成m0n0wall映像文件的解包作一些必要的说明。
一、准备工作:
mini安装的FreeBSD4.11
m0n0wall1.11版映像文件(generic-pc-1.11.img)
二、解包、封包过程:
1.测试映像文件类型,为解包作准备。
代码:
# file generic-pc-1.11.img
generic-pc-1.11.img: gzip compressed data, was "generic-pc-1.11", from Unix, max compression
2.将generic-pc-1.11.img改名为generic-pc-1.11.img.gz。
代码:
# mv generic-pc-1.11.img generic-pc-1.11.img.gz
3.用gunzip解压缩。
代码:
# gunzip generic-pc-1.11.img.gz
gunzip: generic-pc-1.11.img.gz: decompression OK, trailing garbage ignored
4.解包。
代码:
# file generic-pc-1.11.img
generic-pc-1.11.img: x86 boot sector, code offset 0x3c, reserved sectors 0, Media descriptor 0x0, reserved 0x16, dos < 4.0 BootSector (0x1f), BSD disklabel
# vnconfig -s labels -c vn0 ./generic-pc-1.11.img
# mount /dev/vn0a /mnt
# ls -l /mnt
total 4906
drwxr-xr-x 3 root wheel 512 Apr 6 2003 boot
drwxr-xr-x 2 root wheel 512 Aug 22 2004 conf
-rwxr-xr-x 1 root wheel 1777364 Aug 6 2004 kernel.gz
-rw-r--r-- 1 root wheel 3220504 Nov 12 06:03 mfsroot.gz
此时,/mnt下就是解开的generic-pc-1.11.img文件系统,也就是玩家用写盘工具写到硬盘、cf卡上的内容。如果你有写好的cf卡,同样可以mount出此目录结构。这时可以把mfsroot.gz文件cp出备用(修改mfsroot.gz的方法基本相同,不在复述)。
5.修改完成后封包。
代码:
# umount /mnt
# vnconfig -u vn0
# gzip -9 generic-pc-1.11.img
# mv generic-pc-1.11.img.gz generic-pc-1.11.img
参考文章:
http://m0n0.ch/wall/hack
analyst 完成于2005-03-23 23:20