路由器的第三方固件有很多种,其中有一种是ubnt固件。大家都知道,在编程器使用过程中,很多固件的uboot的大小是128kb,(比如openwrt)但是ubnt的是256kb.256换算成字节是1024*256=262144.所以要截取ubnt的uboot就要截取ubnt固件的前262144字节,换算成16进制是40000.注意了,如果你截取40000就错了,应该是截取262143,换算成16进制是3ffff.具体方法如图,打开winhex然后点编辑,再点定义段,这里填写3ffff,意思是选择3ffff之前所有的内容。点确定,被选的uboot部分就被涂上深色。如图
然后再点编辑,点复制快,点到新文件,就保存好了。同样,如果想把提取的uboot嫁接到另一个固件上,也可以用winhex。首先,将一个有uboot的固件的uboot删除,方法是在定义块以后,点击编辑,再点移除。这样uboot就没有了。此时不要关闭这个没有uboot的固件。同时打开你提取的uboot文件,点击编辑,再点击全选,再点击复制块,再点击正常。下一步,点开没有uboot的固件,确保光标停留在第一个字节,也就是文件的开始位置。点击编辑,点击剪贴板数据,点击黏贴。这样就将uboot嫁接到了另一个固件上。 [ 此帖被fss800423在2013-06-26 10:23重新编辑 ]