通过UART串口读取路由器固件

通用异步收发传输器( Universal AsynchronousReceiver/Transmitter), 通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。

对于路由器的串口调试,多数情况下指的就是通过UART串口进行数据通讯。

如上图,UART有4个引脚(VCC, GND, TX, RX),利用焊锡进行焊接。

VCC是电源

GND是接地

TX/RX分别是发送端和接收端

 

将万用表的黑笔接到COM口,并指到蜂鸣档。 黑笔触碰天线,红笔随意一个接口,如果哪个接口出现蜂鸣声,则代表这个接口就是GND。

 

将黑笔接到mA口。 指针指到如图所示之处。 将黑笔触碰天线,红笔随意一个接口,拔插设备电源,如果是RXD则电压大约在3V左右没什么大幅度的跳动,如果是TXD则会大幅度电压跳动。

利用上述方法就可以判断UART的4个引脚(VCC, GND, TX, RX)

Picocom是运行在linux上的一种串口调试工具

安装 1、在线安装

sudo apt-get install picocom

sudo picocom /dev/ttyUSB0 -b 115200 进入Picocom终端模式(Usb插口应该选择与虚拟机相连)

显示如下结果证明已经可以和串口进行通信了,证明连接成功

输入help查询可以执行的命令

flash是我们所关心的,输入flash命令查看固件相关的内容有哪些

输入flash -layout查看对应的结构

Fireware中存放的就是固件,大小为1848k,并且可以获取其起始地址以及终止地址

begin_addr = 0x00032000
end_addr =   0x00200001

接下来就可以进行固件的提取了,需要装好serial包,运行程序即可提取固件。

sudo python3 firmware_dump.py

 成功提取!

猜你喜欢

转载自blog.csdn.net/qq_58278472/article/details/127449335