dd-wrt的设置有几种,
1.nvram
导出单条 nvram get openvpn_key
设置单条 nvram set openvpn_key="xxdasdas";nvram commit
导出全部 nvram show >/tmp/nvram.txt
2.web界面备份出来的config.bin
格式: 2进制文件 开头8字节的标志 "DD-WRT?",4
从第9个字节开始,是内容, 内容的第一个字节是key长度, 后面跟着key的字符, 然后是value的长度(2字节高位在后,getc(in)|getc(in)>>8),然后是下一个key,然后是下一个value....
3.恢复缺省设置的配置文件.
在dd-wrt的内部,/etc/defaults.bin
格式:2进制文件 开头4个字节是设置的条数, 从第五个字节开始是内容, 内容的第一个字节是key长度, 后面跟着key的字符,然后是value 的长度,长度的最高位如果是1, 说明value的长度大于127字节, 需要2个字节表示长度, 如果最高位是0, 则value的长度小于127字节,需要1个字节表示长度,dd-wrt的源码中解析的部分如下:
vl = (unsigned int)getc(in);
if (vl & 128) {
vl &= 127;
vl |= (unsigned int)getc(in) << 7;
}
在长度后面就是value的内容.
defaults.bin的最后,用2个0作为结束.