Tenda AC15路由器仿真——IDA+QEMU

news/2024/9/18 6:16:10/

仿真过程

  1. 工具准备
  2. 提取固件文件系统
  3. 尝试开启网络服务
  4. IDA调试程序并修改代码
  5. 开启服务并验证

工具准备

提取固件

进入固件所在位置,使用binwalk提取固件文件系统。可发现该文件系统为小端存储。

binwalk -Me US_AC15V1.0BR_V15.03.1.16_multi_TD01.bin 

在这里插入图片描述

尝试开启网络服务

QEMU仿真

进入提取的文件系统中的squashfs-root目录下,使用qemu-arm-static进行模拟Tenda路由器的网络服务一般是名称为/bin/httpd,开启命令如下:

cp $(which qemu-arm-static) .#保证已经安装QEMU的前提下执行
sudo chroot ./ ./qemu-arm-static  ./bin/httpd

此时界面停在了welcome。
在这里插入图片描述

IDA调试httpd

在本机中打开ida,在ida中打开httpd,定位到sub_2CEA8函数即为main函数。
在这里插入图片描述
选择sub_2CEA8函数后在代码出按F5可展示伪代码。在代码32行设置断点。
在这里插入图片描述
在虚拟机中使用qemu-arm-static开启httpd服务,并-g 指定调试接口,命令如下:

sudo chroot ./ ./qemu-arm-static -g 23946 ./bin/httpd

使用ida开始远程调试,按F9选择Remote gdb debugger,输入虚拟机ip,httpd在虚拟机中位置和服务端口。
在这里插入图片描述
分析后发现httpd服务开启有两个检测条件:
1.check_network()<=0时则会陷入sleep循环
2.ConnectCFM() 不符合条件则会提示”connect cfm failed”
开启调试后发现程序会停留在以下界面。
在这里插入图片描述
使用keypatch对httpd进行修改并保存为httpdpatch,将httpdpatch放入虚拟机中httpd相同文件夹中(需配合root身份对文件进行移动),并执行httpdpatch发现运行出现变化。
在这里插入图片描述

在这里插入图片描述

mv httpdpatch /home/oit/tools/firmadyne/_US_AC15V1.0BR_V15.03.1.16_multi_TD01.bin.extracted/squashfs-root/bin/httpdpatch

在这里插入图片描述
在这里插入图片描述
此时发现httpd listen ip后ip有问题,查阅资料可知httpd 想要获取的网卡名称是 “br0”。直接在宿主机上新建一个名为 “br0” 的网卡,再执行。

sudo brctl addbr br0
sudo ifconfig br0 192.168.254.139/24

在这里插入图片描述
将webroot_ro中的文件复制到web_root目录下,最后就可以在本机中访问模拟出的路由器网站。

cp -r /home/oit/tools/firmadyne/_US_AC15V1.0BR_V15.03.1.16_multi_TD01.bin.extracted/squashfs-root/webroot_ro/* /home/oit/tools/firmadyne/_US_AC15V1.0BR_V15.03.1.16_multi_TD01.bin.extracted/squashfs-root/webroot

仿真验证

打开浏览器输入192.168.254.139:81即可访问。


http://www.ppmy.cn/news/899747.html

相关文章

服务器加根网线用不用修改路由器,Tenda腾达路由器ads拨号上网设置教程

简单四部教你轻松学会Tenda腾达路由器ads拨号上网设置教程&#xff0c;希望可以帮到你。 第一步&#xff1a;连接好线路 电话线接入的用户(请准备2根短网线) 将电话线(比较细的那根线)接猫的line口(比较小的那个口),猫分出来一根网线接路由器的WAN口&#xff0c;再找一根短网线…

路由器的配置+telnet

路由器的基本配置 使用软件&#xff1a;Cisco Packet Tracer 前言 很多学过计算机网络基础的同学&#xff0c;都知道路由器和交换机是啥&#xff0c;但是对他们的命令还是没有很了解&#xff0c;话不多说直接开干 一、路由器的模式 命令功能enable进入特权模式config termin…

%matplotlib inline的作用

%matplotlib inline 是一个魔术命令&#xff08;magic command&#xff09;&#xff0c;用于在 Jupyter Notebook 或 IPython 环境中显示 matplotlib 图形的内嵌设置。 当使用 %matplotlib inline 命令时&#xff0c;它会告诉Python在生成的图形直接嵌入到Notebook中的输出单元…

使用wxPython和pillow开发拼图小游戏(一)

刚学习python&#xff0c;心血来潮&#xff0c;使用wxPython和pillow开了一个简单的拼图小游戏&#xff0c;大家分享一下 wxPython是Python语言的一套优秀的GUI图形库&#xff0c;在此项目里主要用来开发GUI客户页面&#xff1b;Pillow是一个非常好用的图像处理库&#xff0c;…

迅雷极速版修改边下边播的默认播放器为PotPlayer

在使用前先将原有的迅雷自带的迅雷看看播放器卸载 首先打开迅雷安装路径下的以下文件夹&#xff0c;&#xff08;每个人有每个人的安装路径&#xff09; D:\迅雷极速版\Program 在该文件夹下新建一个文本文档&#xff0c;将其名字和后缀名改为 xmp.ini 打开等待使用 找到Pot…

迅雷9边下边播绑定第三方播放器

迅雷9边下边播绑定第三方播放器 测试版本&#xff08;迅雷9绿色版&#xff09;测试播放器 测试版本&#xff08;迅雷9绿色版&#xff09; 测试播放器 目前测试的播放器为potplayer、爱奇艺万能播放器&#xff0c;再加上又重新开始更新的QQ影音&#xff0c;之前的迅雷版本通过修…

C# 视频播放器 采用迅雷Aplayer 绿色使用无需安装 支持VS2022

引擎介绍 APlayer 媒体播放引擎是迅雷公司从 2009 年开始开发的通用音视频媒体文件播放内核。 迅雷看看播放器和迅雷影音就是使用 APlayer 作为播放内核。 本质上APlayer播放引擎是一个ActiveX控件&#xff0c;可以被本地其他外部程序嵌入调用&#xff0c;也可以直接被网页嵌…

html播放器投屏,迅雷播放器投屏到电视如何操作

我个人使用感受,小米电视的无线投屏不错,手机电脑都可以投,操作简单,画面流畅&#xff0c;但有网友问迅雷影音能不能做到&#xff0c;迅雷影音是一款非常好用的视频播放软件&#xff0c;它可以进行各种视频的播放&#xff0c;很多小伙伴们可能不知道原来迅雷影音也是能投屏的吧…

迅雷7 down.php,迅雷云点播放器(KCPlayer5000)

KCPlayer基于迅雷云点播&#xff0c;免费享受高速通道&#xff0c;免费使用离线下载&#xff0c;高清云端快速转码&#xff0c;即点即播。。 相似软件 版本说明 软件地址 KCPlayer的先祖是“迅雷云点播放器2.0”&#xff0c;不过作为一款小众软件&#xff0c;因为突然红火&…

如何找到迅雷自带播放器

1,首先找到迅雷图标,然后鼠标右键点击,找到打开文件当前位置 2.找到xmp文件夹,点进去找到program文件夹,最后找到xmp.exe.它就是播放器,你可以把它放到桌面.

@EnableConfigurationProperties失效了 不能将配置类导入容器

以前,我定义属性值都是在application开头的配置文件的,有一天自定义了一个配置文件名为ldj.properties.结合注解 PropertySource 指定加载读取它,然后EnableConfigurationProperties测试发现,使用的都是默认值,没有读取配置的值. package com.dj.springtest.config.properties…

Hadoop 3.2.4 本机伪分布式安装

Hadoop 3.2.4 伪分布式安装 文章目录 Hadoop 3.2.4 伪分布式安装前言配置ssh免密登录下载安装包解压并调整配置文件解压安装包到当前位置调整配置文件hadoop-env.shyarn-env.shcore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xmlworkers 配置 启动验证启动与命令查验web页…

什么是矢量图

矢量图只能靠软件生成&#xff0c;这种类型的图像文件包含独立的分离图像&#xff0c;可以自由无限制的重新组合&#xff0c;文件中的图形元素称为对象&#xff0c;每个对象都是一个自成一体的实体&#xff0c;它具有颜色、形状、轮廓、大小和屏幕位置等属性。 矢量图形最大的优…

Photoshop 什么是位图?什么是矢量图?它们二者间有什么区别,不妨来看看

对于PS大家也都已经不陌生了&#xff0c;PS是一款非常强大的通用平面美术设计软件&#xff0c;大家刚学设计的朋友&#xff0c;都会基础位图和矢量图&#xff0c;那它们的区别是什么呢&#xff1f;下面小编就为大家讲解它们之间的分别。 位图与矢量图&#xff1a; 位图&#x…

AutoCAD输出矢量图

软件版本&#xff1a;AutoCAD 2020 输出为PDF文件&#xff0c;注意输出模式&#xff0c;显示窗口应包含要输出的图形。 安装软件Inkscape&#xff0c;打开Inkscape&#xff0c;导入刚才输出的PDF。注意选择导入模式。 更改页面大小&#xff0c;去除图像周围的空白区域。 另存为…

位图与矢量图的区别

相信大家在日常的工作过程中&#xff0c;经常会听到位图和矢量图&#xff0c;那么位图和矢量图的区别是什么呢&#xff1f; 1.定义 ①位图&#xff1a;称为点阵图像或栅格图像&#xff0c;是由称作像素&#xff08;图片元素&#xff09;的单个点组成的。这 些点可以进行不同…

androidstudio加载矢量图

VectorDrawable 是android SDK 21及以上版本才支持的方式&#xff0c;在它及它以上的版本中SDK可以支持矢量图。由于国内手机大多还是4.0的系统&#xff0c;因此在低版本的手机中无法使用矢量图。 在android studio的gradle plugin 更新到1.4版本的时候&#xff0c;googole通过…

graphpad图片怎么导出矢量图_怎样将PS图像输出为矢量图

展开全部 1、打开Photoshop软件&#xff0c;将需做矢量图的logo添加进来&#xff0c;并复e68a8462616964757a686964616f31333431353966制图层。 2、观察图形&#xff0c;我们先从外侧圆入手&#xff0c;外侧圆比较规整&#xff0c;用“快速选择”等方法的话效果不好&#xff0c…

如何在word里插入矢量图

在写论文时往往需要插入很多图&#xff0c;插入的图如果不是矢量图就会挨老板一遍又一遍批。现在来记录一下怎么让论文里的图片保持清晰度&#xff08;放大缩小图片都不会失真&#xff0c;一句话&#xff0c;不会变模糊&#xff09; 一、插入对象如visio对象 1. 找到 插入-&g…

R 语言储存矢量图

之前写的博客中有提及过如何在 R 语言中绘制矢量图&#xff0c;然后用于论文引用。但没有专门开一篇博客来进行说明比较&#xff0c;这里重新开一篇博客来进行说明。 通常保存为矢量图可能大多数时候是为了论文中的引用&#xff0c;所以格式一般为 EPS, PDF 这两种格式&#x…