冰凌汇编

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 37|回复: 0
收起左侧

[网路配置] TP-LINK WDR 7660 固件浅析

[复制链接]
Pandora 发表于 2022-8-4 22:29:40

前言:

对一个vxworks系统固件的简单分析。
本篇文章的目的在于熟悉如何去入手分析vxworks固件,对其作一定的了解,希望可以给有需要的人提供一定的帮助(这东西资料确实少)
拿到一个vxworks固件后想要利用ida去分析,首要要做的便是加载基址恢复与函数名恢复(如果有符号表)


TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

binwalk一看发现没有太多有用东西,需要注意的是0x10400处特别大
-e提取文件并对10400处的文件继续binwalk看看
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

大致分析后可以得知是一个vxworks系统文件,但是好像没有自带符号表,同目录下文件还有很多,尝试搜索看是否有包含符号表的部分
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

发现确实存在这么一个文件,010editor打开大致看一眼
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

确实是符号表,整个区间是从0x0008-0xF2E0。
ok,可以进行后续分析了。
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

架构是ARM架构
ida打开架构选择arm
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编 (PS:这张是借用的图,看懂意思就好)

下一页直接回车,这会先什么都不用改
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编 (同上)

在最开始按c将开头的一部分数据化为代码
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

大致可以看出基址是0x40205000(SP寄存器,详情请查阅vxworks文档)

接下来更改加载基址,可以手动可以利用脚本
手动需要关闭ida清除分析数据库重新打开固件(如果懂idapython的话可以在下方命令行输入函数修改基址),并在基址设置处填写ROM start addressLoading address ,界面如下图
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编 (PS:图片仅供参考)

自动可以利用vxhunter脚本(github地址:https://github.com/PAGalaxyLab/vxhunter)PS: 高版本IDA部分代码可能需要自己手动修改
改了好大一会脚本?很烦。vxhunter_ida_py3.py的load_symbols函数(Debug是真的费劲),修改后的部分如下所示:
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

利用vxhunter将刚才的符号表导入进来进行符号修复,修复的还算完美
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

先看usrAppInit(一般来说是用户侧的管理函数)
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

在cmdProtectInit中发现有密码相关的代码存在
TP-LINK WDR 7660 固件浅析 - Pandora_冰凌汇编

大致分析后可以得到admin的密码规则


本帖最后由 Pandora 于 2022-8-4 22:33 编辑
冰凌汇编免责声明
以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|站点统计|Archiver|小黑屋|RSS|冰凌汇编 ( 滇ICP备2022002049号 滇公网安备 53032102000029号)|网站地图

GMT+8, 2022-9-25 07:34 , Processed in 0.133737 second(s), 8 queries , Redis On.

冰凌汇编 - 建立于2021年12月20日

Powered by Discuz! © 2001-2022 Comsenz Inc.

快速回复 返回顶部 返回列表