a*o 发帖数: 19981 | 1 用telnet hack或者SSH进入shell,把这个script和new_cfe.bin一起放在U盘上或者scp
到/tmp上去,运行一下就完事儿。然后就是清nvram,进入recovery用mini CFE刷那个
扩容的firmware,之后就是海阔天空随便玩了。
#!/bin/sh
nvram get bl_version
cat /dev/mtd0 > ./old_cfe.bin
echo
echo Old CFE content:
strings old_cfe.bin | grep -e mac -e secret
echo
replace()
{
KEYWORD=$1
SIZE=$2
echo replacing $KEYWORD with $SIZE bytes
I_OFFSET="`strings -o old_cfe.bin | grep $KEYWORD | awk '{print $1}'`"
O_OFFSET="`strings -o new_cfe.bin | grep $KEYWORD | awk '{print $1}'`"
let I_OFFSET="0$I_OFFSET"
let O_OFFSET="0$O_OFFSET"
I_OFFSET=`expr $I_OFFSET + ${#KEYWORD} + 1`
O_OFFSET=`expr $O_OFFSET + ${#KEYWORD} + 1`
echo "Offsets: $I_OFFSET -> $O_OFFSET"
dd if=old_cfe.bin of=new_cfe.bin bs=1 count=$SIZE conv=notrunc skip=$I_
OFFSET seek=$O_OFFSET 2>/dev/null
}
replace et0macaddr 17
replace 0:macaddr 17
replace 1:macaddr 17
replace secret_code 8
echo
echo New CFE content:
strings old_cfe.bin | grep -e mac -e secret
echo
./mtd-write -i new_cfe.bin -d boot
mtd-erase2 nvram
reboot
哥已经成功刷了一个。 |
a*o 发帖数: 19981 | |
k****e 发帖数: 2758 | 3 不错, cfe是唯一有风险的一步
scp
【在 a*o 的大作中提到】 : 用telnet hack或者SSH进入shell,把这个script和new_cfe.bin一起放在U盘上或者scp : 到/tmp上去,运行一下就完事儿。然后就是清nvram,进入recovery用mini CFE刷那个 : 扩容的firmware,之后就是海阔天空随便玩了。 : #!/bin/sh : nvram get bl_version : cat /dev/mtd0 > ./old_cfe.bin : echo : echo Old CFE content: : strings old_cfe.bin | grep -e mac -e secret : echo
|
P****8 发帖数: 678 | |
w********6 发帖数: 12977 | |
m*d 发帖数: 7658 | 6 牛
scp
【在 a*o 的大作中提到】 : 用telnet hack或者SSH进入shell,把这个script和new_cfe.bin一起放在U盘上或者scp : 到/tmp上去,运行一下就完事儿。然后就是清nvram,进入recovery用mini CFE刷那个 : 扩容的firmware,之后就是海阔天空随便玩了。 : #!/bin/sh : nvram get bl_version : cat /dev/mtd0 > ./old_cfe.bin : echo : echo Old CFE content: : strings old_cfe.bin | grep -e mac -e secret : echo
|
k****e 发帖数: 2758 | 7 有typo, 至少最后check 应该是 new cfe...
scp
new: #!/bin/sh
【在 a*o 的大作中提到】 : 用telnet hack或者SSH进入shell,把这个script和new_cfe.bin一起放在U盘上或者scp : 到/tmp上去,运行一下就完事儿。然后就是清nvram,进入recovery用mini CFE刷那个 : 扩容的firmware,之后就是海阔天空随便玩了。 : #!/bin/sh : nvram get bl_version : cat /dev/mtd0 > ./old_cfe.bin : echo : echo Old CFE content: : strings old_cfe.bin | grep -e mac -e secret : echo
|
a*o 发帖数: 19981 | 8 还真是,呵呵。还有胆小的同学可以吧最后这几行删掉手动检查之后执行。
./mtd-write -i new_cfe.bin -d boot
mtd-erase2 nvram
reboot |
b*****e 发帖数: 2511 | |
c*****e 发帖数: 3226 | 10 把script 放 github
scp
【在 a*o 的大作中提到】 : 用telnet hack或者SSH进入shell,把这个script和new_cfe.bin一起放在U盘上或者scp : 到/tmp上去,运行一下就完事儿。然后就是清nvram,进入recovery用mini CFE刷那个 : 扩容的firmware,之后就是海阔天空随便玩了。 : #!/bin/sh : nvram get bl_version : cat /dev/mtd0 > ./old_cfe.bin : echo : echo Old CFE content: : strings old_cfe.bin | grep -e mac -e secret : echo
|
|
|
g**********y 发帖数: 423 | 11 MARK.
这种会变砖的怎么测试script? |
f**x 发帖数: 738 | 12 diff 最后处理过的cfe 和 1.20的cfe,看看是不是只有mac地址不一样
【在 g**********y 的大作中提到】 : MARK. : 这种会变砖的怎么测试script?
|
a*o 发帖数: 19981 | 13 弄到github里了,写了个简单的步骤,这个真的应该是不能再简单了。
https://github.com/maxdad/TM-AC1900
现在script里又加了点sanity check,如果提取数据制作新CFE有问题会自动abort。 |
s*********e 发帖数: 2076 | |
k****e 发帖数: 2758 | 15 同事里有叫max的, 考虑是否发个link给他
【在 a*o 的大作中提到】 : 弄到github里了,写了个简单的步骤,这个真的应该是不能再简单了。 : https://github.com/maxdad/TM-AC1900 : 现在script里又加了点sanity check,如果提取数据制作新CFE有问题会自动abort。
|
a*o 发帖数: 19981 | 16 哈哈,发!
【在 k****e 的大作中提到】 : 同事里有叫max的, 考虑是否发个link给他
|
P**H 发帖数: 1897 | 17 我神游上没有tee这个命令。
【在 a*o 的大作中提到】 : 弄到github里了,写了个简单的步骤,这个真的应该是不能再简单了。 : https://github.com/maxdad/TM-AC1900 : 现在script里又加了点sanity check,如果提取数据制作新CFE有问题会自动abort。
|
f*****g 发帖数: 736 | |