找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4401|回复: 5

借OP版发个解包ruckus英文固件和汉化的不完整教程

[复制链接]
本帖最后由 222ba 于 2017-8-9 19:02 编辑

事情源于客户比较小白,不懂英文,于是就着手汉化优科的固件。结局却是半途放弃,因为有客户反馈说中文版的稳定性欠佳。
这个不管是不是真的,修改官方固件或多或少会带来不稳定因素,这里记录一下笔记。

其实基本上是依葫芦画瓢,善用Goog基本上能解决大部分问题。

Goog:路由器固件解包,得到《逆向路由器固件之解包 Part1》:
http://www.freebuf.com/sectool/75915.html

binwalk — 通过固件文件头来分析文件和文件系统
Fireware Mod Kit — 自动化分析固件文件的一系列脚本
squashfs-tools — 可以通过apt-get squashfs-tools 来安装。用来处理squashfs的一系列工具

以上三种工具,这里只用了两种,理论上更简单的Firmware mod kit没用,翻看了一下是DD-WRT时代的产品,有点老了。


另外一个帖子是《Binwalk:后门(固件)分析利器》:http://www.freebuf.com/sectool/15266.html
基本上就是对这个工具的更详细介绍。

接下来是重点《路由器固件逆向解包》:http://blog.7web.tk/201701/router-firmware-unpack
示范的是解包的老毛子固件,然后改改里面的LOGO,也是没说出来的情况。

binwalk RT-AC54U-GPIO-1-PSG1208-64M_3.4.3.9-099.trx

分析是比较有用的,用于优科的固件

  1. binwalk zf7372_9.7.0.0.220.Bl7

  2. DECIMAL       HEXADECIMAL     DESCRIPTION
  3. --------------------------------------------------------------------------------
  4. 160           0xA0            LZMA compressed data, properties: 0x5D, dictionary size: 16777216 bytes, uncompressed size: 3458300 bytes
  5. 1179648       0x120000        Squashfs filesystem, little endian, version 4.0, compression:lzma, size: 7130989 bytes, 4493 inodes, blocksize: 131072 bytes, created: 2013-12-06 04:02:07
复制代码




两个部分,前者基本上没用,有用的是如何切割到想要的部分

这里需要dd命令,就是检查备份CFE的那个。

  1. dd if=zf7372_9.7.0.0.220.Bl7 of=romfs.squashfs bs=1 skip=1179648
复制代码


skip后面就是binwalk分析出的地址,后面没count则表示到尾部


得到的文件就可以用unsquashfs解压了,但是中途遇到一个棘手的问题。

  1. Filesystem uses lzma compression, this is unsupported by this version
  2. Decompressors available:
  3.     gzip
  4.     lzo
复制代码


呵呵,放狗搜。https://unix.stackexchange.com/q ... nsquashfs-with-lzma
  1. Get source here: http://sourceforge.net/projects/squashfs/

  2. # sudo apt-get install lzma-dev
  3. # sudo apt-get install liblzma-dev
  4. # tar -zxvf squashfs4.2.tar.gz
  5. # cd squashfs4.2/squashfs-tools: Edit Makefile and uncomment this line "LZMA_XZ_SUPPORT = 1"
  6. # make
  7. # sudo make install
  8. # sudo unsquashfs <path/lzma_filename_to_unsquash>
复制代码


取消注释,编译即可。编译安装的位置要注意,和系统默认位置不一样。

  1. /usr/local/bin/unsquashfs romfs.squashfs
  2. Parallel unsquashfs: Using 1 processor
  3. 3892 inodes (4019 blocks) to write

  4. [===================================================================================================================================\] 4019/4019 100%

  5. created 3558 files
  6. created 601 directories
  7. created 237 symlinks
  8. created 97 devices
  9. created 0 fifos
复制代码
成功

然后要的文件就等着你了

  1. /squashfs-root# ls
  2. ash_env  bin  boot  ca-certs  custom  defaults  dev  etc  fl  home  lib  linuxrc  mfr  mnt  opt  proc  root  sbin  sys  tmp  usr  var  web  writable
复制代码

  1. ls ./web/
  2. administrator  favicon.ico       images              js           oem                 ruckus_login.asp  smartclient3.asp  supportinfo.txt
  3. bottom.asp     fingerprints.asp  index.asp           login.asp    quickstart          smartclient0.asp  smartclient4.asp  top.asp
  4. configuration  _help             index.html          maintenance  ruckus_favicon.ico  smartclient1.asp  smartclient5.asp
  5. css            hotspot.htm       internet_down.html  nav.asp      ruckus_index.asp    smartclient2.asp  status
复制代码

  1. cat ./web/bottom.asp
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5.         <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.         <title><% rsm_webguiqv("getcompanyname", ""); %> Admin</title>
  7. <style type="text/css">
  8. body { margin: 0; padding: 0; font: normal 10px "Trebuchet MS", Verdana, Geneva, Arial, Helvetica, sans-serif; background: #f5f5f5 url(/images/bg_bottom.gif) top left repeat-x; color: #000; }
  9. h1 { margin: 0; font-size: 17px; }
  10. #copyright { position: absolute; right: 7px; bottom: 5px; }
  11. #ident { float: left; margin: 10px 0 0 19px; vertical-align: top; }
  12. #logo { float: left; margin: 10px 0 0 19px; vertical-align: top; }
  13. #devicename { font-size: 2.2em; margin-top: 8px; }
  14. </style>
  15. <!--[if lt IE 7]>
  16. <style type="text/css">#ident, div#logo { display: inline; }</style>
  17. <![endif]-->
  18. </head>
  19. <body>
  20. <div id="logo">
  21. <img src="images/logo.gif" width="133" height="40" alt="<% rsm_webguiqv("getcompanyname", ""); %>" title="<% rsm_webguiqv("getcompanyname", ""); %>" />
  22. </div>
  23. <div id="ident">
  24. <h1 id="devicename"> <% rsm_webguiqv("getmodeldispstring", "ERROR101"); %></h1>
  25. </div>
  26. <div id="copyright">&#169; Copyright <% rsm_webguiqv("getcalendaryear", ""); %> <% rsm_webguiqv("getcompanyname", ""); %></div>
  27. </body>
  28. </html>
复制代码
这里面想加什么LOGO啊  网址啊   都随便。


接下来打包回去。没研究了。找到这些文件在哪里,就是这番折腾的目的。

其它英文的固件也可以类似解,折腾。


楼主太强大了。收藏先,可能用得着。

感谢分享。
回复

使用道具 举报

来自手机 | 显示全部楼层
收藏分享失败告终
回复

使用道具 举报

来自手机 | 显示全部楼层
感谢分享。。。。
回复

使用道具 举报

未玩过ruckus呢。刚买了个软路由,还是玩我的LEDE好玩
回复

使用道具 举报

非常有参考价值,顶起。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-16 08:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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