当前位置:首页 » 编程软件 » 路由器固件反编译

路由器固件反编译

发布时间: 2023-01-15 12:12:31

‘壹’ 路由器固件如何打开源码

有时因为某种原因可能要把路由器恢复出厂设置,但忘了密码,路由器里面显示的是*号,当然我们可以把ADSL帐号记下来,然后打96861查,电信是要求提供一些申请资料的,但是有时宽带也许并不是你申请的,问来问去很麻烦,有可能还问不明白,还不如自己动手破解。
原理:宽带设备信息存储在路由器的固件里,用查看源代码的方法可以得到我们想要的密码。
步骤:1、备份备份系统设置信息,这个一般在路由器的管理工具里。
D-Link的DI-504的为pro
file.bin (工具 → 系统设定 → 备份目前设定值),SMC的为SMCrouter_backup.bin(TOOLS → Configuration Tools → Backup to SMCrouter_backup.bin),TP-Link的一般为xxx.cfg(系统工具 → 备份和载入配置 → 备份配置文件) !当然有的不一定是这个步骤,但都差不多,意思就是把路由器里的设置都备份出来!(有的是config.bin的)
2、用Word打开备份的文件(当然你也可以用记事本打开,但会看似乱码,不过也没关系,下面操作一样,就是不太好看)
你可以在Word中查找你的用户名(用户名在设置用WAN口中就有)找到用户名后在用户名后面的就是密码了!也可以按Ctrl+F搜索PASS来到POE_PASS=xxxxxxxx这里,附近还有个POE_USER=adxxxxxxxx
这两个就是密码和用户名了,你把它们记下来就可以了。
用户名:adxxxxxxxx
SMC的直接就可以看到密码和用户名,一般在一个£符号后面

‘贰’ 怎么反编译D-Link路由器固件程序并发现它的后门

这个有点难,毕竟程序的本源就是那样,不管你用什么手段,只要破解者有耐心最后都有可能被攻克的,目前这类问题的解决方法都是设置相关权限,加壳加密等,当然破解难度比较大的就是使用VM技术了,如果你们有足够的时间和足够的实力的话,可以自己开发一套指令系统用于你们的程序那么会加重反编译难度的~ 某种程度上说也是达到一种防止反编译的做法~

‘叁’ 路由器刷固件

破解路由器 刷入Breed引导
1/2 分步阅读
在开始前,我们来说一下整个刷入的流程:先通过Breed Web 助手给路由器刷入Breed引导,再通过Breed引导刷入第三方固件。Breed引导是相当于电脑的BIOS,只要给路由器刷入Breed引导后,可以随便刷入第三方固件。在操作前,需要下载好第三方固件(第三方固件有: Padavan,Tomato Phoenix ,PandoraBox,OpenWRT),大家根据自己喜好选择。至于Breed Web 助手大家可以自行搜索,下面开始操作。

2/2
将路由器通过网线连接到电脑,如果此前设置过路由器,请把路由器恢复出厂设置。在恢复出厂设置后,打开浏览器输入路由器默认IP地址(小编这里是:192.168.2.1),看看是否能正常登陆到路由器设置界面,如果能关闭浏览器,进行下一步。找到下载好的Breed Web 助手,右键选择“以管理员身份运行”(如果出现安全软件阻止,请添加为信任,以防操作失败),然后选择刷机方案,大家根据自己路由器的品牌和型号选择(小编选的是:k1,k1s,k2全自动方案),其他保持默认。接着点击“开始刷机”按钮,等待刷入完成。(一般都会一次性成功。如果中途出错,只有重头开始了)。当软件提示“刷机完成”后,等待两分钟断掉路由器的电源。

刷入固件
1.拔掉路由器电源,按住路由器重置按钮,插上电源,等待10秒钟左右。2.打开浏览器,输入“192.168.1.1"回车,进入了Breed Web 控制台了。3.在界面的左侧点击“恢复出厂设置”,在固件类型选择“Config区(公版)”然后点击“执行”,等待执行完成。

2/2
然后在左侧点击“固件更新”,在右侧常规固件下,勾选固件复选框,点击“选择文件”,添加准备好的固件。接着点击“上传”,确认上传固件信息,点击“更新”,等待完成(在完成之前,不要断开路由器电源,不然路由器有变砖的可能)

‘肆’ 路由器怎么刷固件

路由器刷固件的方法(以TP-LINK为例):

1、打开浏览器,输入192.168.1.1(即路由器的IP地址)回车,输入路由器帐号和密码,点击登录(参见路由器盒子上的标签或说明书)。

2、进入路由器管理界面后,在运行状态中查看路由器当前的硬件版本。

‘伍’ 腾达路由器固件逆向

1、在浏览器 中输入路由器的管理地址:192.168.0.1按回车键,在跳转的页面中输入密码 admin点击“确定”;

2、点击“高级设置”;

3、点击“系统设置”-“升级”-“当前系统版本”即为路由器当前的软件版本信息,确定路由器的当前系统版本是否可以升级你下载的软件;

4、点击“浏览”-选中正确的升级文件(事先下载解压好的)-“升级”;

5、升级完成后路由器会进入自动重启状态;

6、升级完成后,参考第二步查看路由器当前系统版本是否已改变,若已经改变则证明升级已成功。

‘陆’ 路由器刷机dd-wrt固件方法有哪些

路由器系统构成了基于TCP/IP 的国际互联网络Internet 的主体脉络,也可以说,路由器构成了Internet的骨架。这篇文章主要介绍了dd-wrt固件怎么刷 路由器刷机dd-wrt固件两种方法分享,需要的朋友可以参考下

dd-wrt固件怎么刷?路由器刷机dd-wrt固件两种方法讲解

用路由器自带的Web配置界面刷新,也可以使用Tftp方法刷新。具体使用何种方法,根据路由器的不同请参照DD硬件支持列表选择方法或者在网上看看网友的选择。一般我优先使用Web刷新的方法,毕竟方便性第一。

顺带提一下,在网上购买支持DD的路由器可以要求卖家帮忙刷新路由器,不收费或者只是象征性的收一点钱。例如贝尔金的路由器,从原厂固件到DD那是需要使用TFTP刷新的,菜鸟操作可能会麻烦些。

不过一旦升级到了DD,以后更新的时候可以通过Web界面进行。

采用Web刷新方法

请一定确认自己的路由器可否使用Web方式刷新,当然大部分路由器都可以这样做。Web方式刷新其实就是路由器设置菜单里面的“更新路由器固件”功能。虽然不是更新同厂的固件,但是也是可以用的,这种升级方式最为方便。

第一步: 确认路由器支持DD、没有特别刷新方法的说明。本文以Linksys最廉价的WRH54G路由器为例子进行说明。很多人都说这么便宜的路由器不能刷DD,其实不对,2M的Flash和8M的RAM还是可以刷Micro版的,核心功能都有了,就是语言包和一些不常用到的功能没有而已。

第二步:dd-wrtv3/dd-wrt/downloads.html下载适合路由器的固件。

依次展开V24 Sp1→Linksys→WRH-54G→点击“dd-wrt.v24_micro_WRH54G.bin”下载(图3)。同时最好准备一份路由器的原厂固件,以备恢复使用。

第三步:登录Linksys的管理界面→固件升级,点击“浏览”找到下载的DD-WRT固件。这款路由器提供两种升级方式,一种是常规的“升级”,一种是“安全升级”(图4)。

后者将进入Boot模式将新的固件加载到路由器上,可以避免内存不足而造成的失败

如果提示刷新失败,建议重启路由器再进行刷新。如果重启后还是失败,那么就得分析具体原因了,看看是不是版本不合适引起的。例如是不是固件太大了,超过路由器的容量;例如是不是更新程序不认这种固件格式等。

温馨小贴士:下载的DD固件是bin为扩展名的,如果路由器升级不支持这种格式,试试看修改扩展名为支持的类型;建议使用有线方式连接路由器刷新;刷新期间不要干涉路由器,不要手动关闭路由器电源,一直等刷新结束再操作。也祈祷不要停电,呵呵。

采用TFTP刷新法

TFTP是Windows内置的一个命令提示符下运行的软件。使用当然要在命令提示符下进行。使用TFTP刷新请使用网线把电脑和路由器的LAN口相连接。

第一步:确认路由器支持DD,且只能用TFTP的刷新方法。然后根据路由器型号、版本下载对应的DD固件。某些路由器刷DD使用TFTP有特别说明,例如华硕WL-500系列,请一定要仔细看DD官方主页。

第二步:在开始菜单的运行中输入CMD并回车进入命令提示符(XP为例)。输入ipconfig /all了解当前的路由器的IP地址,一般默认都是192.168.1.1。建议手动分配一个地址,修改IP地址可以在控制面板→网络连接→本地连接→属性→TCP/IP协议属性中进行修改(图5)。如果是手动设置IP地址,请设置和路由器同一个网段,例如使用192.168.1.2。

第三步:假设路由器IP是192.168.1.1,输入命令ping -t 192.168.1.1 -t并回车。然后重启路由器(通过Web界面),看看到有形如“Reply from 192.168.1.1 bytes=32 time=<1ms TTL=64”中断回应之间大致需要多少秒的时间(图6)。这个时间可以为下面步骤作参考。

第四步:因为需要在刚刚启动的时候刷新,所以先输入tftp -i 192.168.1.1 put dd-wrt.bin,但是不要按下回车。192.168.1.1是路由器IP,dd-wrt.bin是固件名称。如果固件不在当前目录下,需要使用全路径,例如C:XXXXXXX.bin之类的路径。如果路径有空格,请使用“括号”把路径括起来。

重启路由器(有的路由器非要使用Reset按钮才能进入TFTP模式),约莫到了时间(参看STEP3:的步骤),按下回车。也有一种说法是看路由器指示灯,当所有指示灯一闪而灭的瞬间,按下回车输入命令。成功之后会出现successful的提示,如果失败请再来一遍。出现successful之后,需要耐心等待几分钟,不要进行任何操作,记住哦。

相关阅读:路由器安全特性关键点

由于路由器是网络中比较关键的设备,针对网络存在的各种安全隐患,路由器必须具有如下的安全特性:

(1)可靠性与线路安全 可靠性要求是针对故障恢复和负载能力而提出来的。对于路由器来说,可靠性主要体现在接口故障和网络流量增大两种情况下,为此,备份是路由器不可或缺的手段之一。当主接口出现故障时,备份接口自动投入工作,保证网络的正常运行。当网络流量增大时,备份接口又可承当负载分担的任务。

(2)身份认证路由器中的身份认证主要包括访问路由器时的身份认证、对端路由器的身份认证和路由信息的身份认证。

(3)访问控制对于路由器的访问控制,需要进行口令的分级保护。有基于IP地址的访问控制和基于用户的访问控制。

(4)信息隐藏与对端通信时,不一定需要用真实身份进行通信。通过地址转换,可以做到隐藏网内地址,只以公共地址的方式访问外部网络。除了由内部网络首先发起的连接,网外用户不能通过地址转换直接访问网内资源。

(5)数据加密

为了避免因为数据窃听而造成的信息泄漏,有必要对所传输的信息进行加密,只有与之通信的对端才能对此密文进行解密。通过对路由器所发送的报文进行加密,即使在Internet上进行传输,也能保证数据的私有性、完整性以及报文内容的真实性。

(6)攻击探测和防范

路由器作为一个内部网络对外的接口设备,是攻击者进入内部网络的第一个目标。如果路由器不提供攻击检测和防范,则也是攻击者进入内部网络的一个桥梁。在路由器上提供攻击检测,可以防止一部分的攻击。

(7)安全管理

‘柒’ 路由器的固件可以自己修改并刷进去么比如只改他管理页面的一个字。

用OpenWRT,代码开源,官网可下载,允许用户自己修改、编译、增减附加功能。

‘捌’ 怎么反编译D-Link路由器固件程序并发现它的后门

基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:

明泰科技的自定义函数
这个alpha_auth_check函数看起来很有意思!
这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:

调用alpha_auth_check函数
我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。
寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL:

$s2是一个指向一个数据结构体的指针
我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子:
struct http_request_t
{
char unknown[0xB8];
char *url; // At offset 0xB8 into the data structure
};

int alpha_auth_check(struct http_request_t *request);

alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1;

alpha_auth_check函数代码片段
这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。
然而,这最后一个strcmp却是相当的吸引眼球:

alpha_auth_check函数中一个非常有趣的字符串比较
这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。
我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。
那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数:

事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的:

检查HTTP头信息中的User-Agent值

将http_request_t + 0xD0指针指向头信息User-Agent字符串
这代码实际上就是:
if(strstr(header, "User-Agent:") != NULL)
{
http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t");
}

知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构:
#define AUTH_OK 1
#define AUTH_FAIL -1

int alpha_auth_check(struct http_request_t *request)
{
if(strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
{
return AUTH_OK;
}
else
{
// These arguments are probably user/pass or session info
if(check_login(request->0xC, request->0xE0) != 0)
{
return AUTH_OK;
}
}

return AUTH_FAIL;
}

换句话说,如果浏览器的User-Agent值是 “xmlset_roodkcableoj28840ybtide”(不带引号),你就可以不经任何认证而能访问web控制界面,能够查看/修改路由器的 设置(下面是D-Link路由器(DI-524UP)的截图,我没有 DIR-100型号的,但DI-524UP型号使用的是相同的固件):

访问型号DI-524UP路由器的主界面
基于HTML页上的源代码信息和Shodan搜索结果,差不多可以得出这样的结论:下面的这些型号的D-Link路由器将会受到影响:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,几款Planex路由器显然也是用的同样的固件程序:
BRL-04UR
BRL-04CW

‘玖’ 刷了OpenWrt固件的TL-WR703N路由器如何刷回原固件

看你自己的领悟能力啦。!!!!!!!!!
我的机型是。W941.TP一般这种方法都是通用的。
网上你找不到的。信我的没错。
1.准备好固件并且在DOS下让路由能访问到
2.准备FTP(WinSCP),上传你的官厂固件!在TFTP上!tmp目录!
3.开始菜单
运行CMD
,打开dos界面。
输入telnet
192.168.1.1
(win7下如果telnet出错,是因为没有telnet服务,控制面板里打开就行了,具体的可以网络下,推荐在XP下进行,虚拟机也可以哦!)
4.(显示用户名密码
输入
root
admin
或者自己的密码)
5.登陆成功后cd
/tmp切换到路由器的
tmp文件夹
6.执行
mtd
-r
write
xxxxxxxx.bin
linux
(xxxxxxx.bin
是你官方固件文件名:这个名字最好改短点啦。1.bin都行。)
如果出现错误Linux可能要改成firmware
(也就是
mtd
-r
write
xxxx.bin
firmware)
7.第一个。Linux错误的话。可能要强制复位。之后,再用每2个方法。
固件很快就提示刷好了,等待它自己重启,1分钟左右就够了,OK刷固件成功!!!!!
其实,我用DD-WRT也不错。openwrt我刷了一天就刷回来了。不好用。懂linux的用就不错。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:647
制作脚本网站 发布:2025-10-20 08:17:34 浏览:939
python中的init方法 发布:2025-10-20 08:17:33 浏览:634
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:823
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:734
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1069
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:302
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:163
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:855
python股票数据获取 发布:2025-10-20 07:39:44 浏览:765