Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
Air720固件分析系列B-WebData.bin分析,分解,精简,重构,代理Web管理界面
Air720
WebData.bin分析,分解,精简,重构,代理Web管理界面
## 前言 上一篇文章, 解析了blf文件的结构, 知道blf是个zip文件, 这次, 我们要非常详细地分析WebData.bin, 即Web管理控制页面的数据文件 ## WebData.bin的文件结构 分3部分, 头部, 文件区, 尾部, 下面有C结构体的方式描述一下 ```c struct webdata{ struct wd_head head; struct wd_file[] files; struct wd_end end; }; // 头部共20字节 struct wd_head{ char finger[4]; //固定为FE CA FE CA char crc32[4]; // 可能CRC32,但随便填也合法 char xdata[4]; // 固定为19 10 00 00 char revert[8]; // 保留字段,全是0x00 }; // 尾部共4字节 struct wd_head{ char finger[4]; //固定为DA DA DA DA }; // 文件数据 struct wd_file{ char finger[4]; // 固定为00 10 FE CA char fsize[3] ; // 低位在前的文件长度, 例如 68 00 00 代表 0x000068 char zsize[1] ; // 补位数据长度, 肯定是0-3之间的值, fsize - zsize = 文件内容的实际大小 char name[128]; // 文件路径,不足128位补0x00 char data[fsize]; // 由fsize决定的文件长度, 肯定是4的倍数 }; ``` 解析代码(Java版)的地址: https://gitee.com/wendal/Air720Master ## 解析和重整流程 1. 根据WebData.bin的数据结构, 将数据文件解析为 头部/文件列表/尾部, 3部分 2. 过滤文件列表 3. 输出头部, 根据文件列表输出文件数据, 输出尾部 过滤规则: 为了实现 [网卡模式下获取Air720的运行状态](http://oldask.openluat.com/article/94), 我们需要xml和cgi文件 所以, 根据后缀进行过滤即可, 可以到一个 110kb WebData.bin 这个文件的大小比AddtionalAPN.bin稍小, 而两者会占用一样的空间(根据A720.blf的分析可知) 使用7zip打开原始的blf文件, 替换WebData.bin, 刷机, 带板子启动后, 访问 http://192.168.0.1/login.cgi 出现空白页面, 访问 http://192.168.0.1/xml_action.cgi 出现为XML格式的数据,代表成功 精简好的WebData.bin下载地址: https://gitee.com/wendal/Air720Master/attach_files ## 进一步操作,代理Web管理界面 由于我们精简了xml和cgi之外的文件,打开 http://192.168.0.1 只会出现404页面, 那么,怎么办呢? 我们可以代理它 基于对WebData.bin的解析, 我们可以导出WebData.bin的全部数据文件 而,网页控制台对设备的读写操作,均通过login.cgi和xml_action.cgi两个URI完成. 所以, 我们可以做一个web服务, 将cgi请求导向设备, 其他文件本地提供 最终效果我做了一个Java实现,其他编程语言可以参考一下 地址依然是: https://gitee.com/wendal/Air720Master 运行后, 访问 http://127.0.0.1:8080 即可看到原版登录界面,可正常登录,进行配置 ![](/static/editormd/php/../uploads/5_12749.jpg)
发表于 2018-10-20 00:32
阅读 ( 2637 )
分类:
默认分类
8 推荐
打赏
收藏
你可能感兴趣的文章
稀饭放姜 iRTU 学习日记 (1):认识iRTU开源电路
4372 浏览
Air系列AT控制命令,针对STM32F103C8T6的示例代码
4620 浏览
教你用Air720 模块通过AT指令以MQTTS方式连接华为云(下篇)
4411 浏览
教你用Air720 模块通过AT指令以MQTTS方式连接华为云(上篇)
6117 浏览
Air720搭配Air530实现4G+GPS定位
5410 浏览
Air720系列模块如何设置频段
5261 浏览
相关问题
AIR720H RNDIS linux下虚拟串口一段时间后会无效?
0 回答
WIN10下,AIR720 如何PPP拨号?
0 回答
有关air720的141LDO引脚设置的问题
1 回答
Air720D开发板可以在设置GPIO为中断以后再切换为输出模式吗?
2 回答
air720H何时开放C_SDK
1 回答
air720H USB读写U盘
1 回答
0 条评论
请先
登录
后评论
技术销售Wendal
软件工程师
15 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!