找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 48446|回复: 123

【固件改造】腾达AC9官方固件结构及改造过程

 火... [复制链接]
发表于 2017-4-13 12:00 | 显示全部楼层 |阅读模式
本帖最后由 abccba94 于 2017-4-14 18:40 编辑

原创博文:
http://blog.iytc.net/wordpress/?p=2077
固件发布帖:
https://www.right.com.cn/forum/thread-212445-1-1.html

本周一抢了两台AC9,先激活0元购,再拆机

先拆外面两个螺丝,然后用工具从左下角凹槽处撬开

里面是无螺丝设计

焊接ttl插针:


波特率为115200,上电后可以看到串口启动信息:


分区信息:

[ 0.830000] Creating 7 MTD partitions on "bcmsflash":
[ 0.830000] 0x000000000000-0x000000800000 : "All"
[ 0.840000] 0x000000000000-0x000000040000 : "Bootloader"
[ 0.840000] 0x000000040000-0x0000007d0000 : "KernelFS"
[ 0.850000] 0x0000001cb48c-0x0000007d0000 : "rootfs"
[ 0.850000] 0x0000007d0000-0x0000007e0000 : "CFM_BACKUP"
[ 0.860000] 0x0000007e0000-0x0000007f0000 : "CFM"
[ 0.860000] 0x0000007f0000-0x000000800000 : "nvram"

~ # cat /proc/mtd
dev: size erasesize name
mtd0: 00800000 00010000 "All"
mtd1: 00040000 00010000 "Bootloader"
mtd2: 00790000 00010000 "KernelFS"
mtd3: 00604b74 00010000 "rootfs"
mtd4: 00010000 00010000 "CFM_BACKUP"
mtd5: 00010000 00010000 "CFM"
mtd6: 00010000 00010000 "nvram"


启动完成,提示:

Normal startupGive root password for system maintenance
(or type Control-D for normal startup):

要密码


刷美版固件(US_Acrux1200-AC_V15.03.2.14_EN_NEX01.bin),开telnet

计算机(192.168.1.100)上开tftp服务器,备份cfe

cd /tmp
cat /dev/mtd1 > /tmp/Bootloader.bin
tftp -p -r Bootloader.bin -l /tmp/Bootloader.bin 192.168.0.100

备份整个固件:

cd /tmp
cat /dev/mtd0 > /tmp/all.bin
tftp -p -r all.bin -l /tmp/all.bin 192.168.0.100

不用tftp也可以备份,插上U盘,U盘路径为:

/var/etc/upan/sda1

~ # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=62816k,nr_inodes=15704,mode=755)
none on /var type ramfs (rw,relatime)
proc on /proc type proc (rw,relatime)
none on /tmp type ramfs (rw,relatime)
none on /sys type sysfs (rw,relatime)
mdev on /dev type ramfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
none on /var/etc/upan type tmpfs (rw,relatime,size=2048k)
/dev/sda1 on /var/etc/upan/sda1 type ufsd (rw,relatime,nls=utf8,force)

备份bootloader:


cat /dev/mtd1 > /tmp/Bootloader.bin
cp  /tmp/Bootloader.bin /var/etc/upan/sda1/Bootloader.bin


备份整个固件:

cat /dev/mtd0 > /tmp/all.bin

cp  /tmp/all.bin /var/etc/upan/sda1/all.bin


AC9的FLASH分区图如下:

用binwalk对美版固件进行分析:

可以发现固件分为4个部分:0x40字节的头部、TRX Header、linux kernel(LZMA压缩)、squashfs文件系统

TRX Header的内容如下(0x40-0x5b):

TRX Header的定义:

struct trx_header {
uint32_t magic; /* "HDR0" */
uint32_t len; /* Length of file including header */
uint32_t crc32; /* 32-bit CRC from flag_version to end of file */
uint32_t flag_version; /* 0:15 flags, 16:31 version */
uint32_t offsets[3]; /* Offsets of partitions from start of header */
};

  • offset[0] = lzma-loader
  • offset[1] = Linux-Kernel
  • offset[2] = rootfs

magic:HDR0
length:7860224 (0x77f000)
crc32:0xF1B2C209
flag_version:0_1
trx header offset:0x1C
kernel LZMA offset:0X18b48c
filesystem offset:0

0X5C-0X18B4cB:linux kernel区,lzma压缩,解压后的尺寸:4100320z字节


0X18B4cc-最后:squashfs文件系统区


根据上面的描述,分离出linux kernel和squashfs文件系统,分别命名为kernel.bin和fs.bin,然后找一个openwrt SDK的trx执行程序,通过此程序可以自动生成trx头文件:

./trx -o b.bin  -m 7860288  -f kernel.bin -f fs.bin

-m参数指定最大长度,只要大于固件长度即可

生成的文件为b.bin,其头部与原始的固件一致:

此固件可以在CFE下面刷写了,但还不能在WEB页面刷写,需要再加上原固件最开始的0x40字节


修改固件:

先解包squashfs文件系统

sudo unsquashfs -d squashfs-root fs.bin

修改后打包:

sudo ./mksquashfs4 ./squashfs-root ./newsecondchunk.bin -noappend -root-owned -comp xz -b 128k -processors 1
./trx -o new.bin -m 7929856 -f kernel.bin -f newsecondchunk.bin

----------------------------------------------------------------------------------------------------------------------------------

上述为固件解包及打包过程,下面对固件进行定制。

首先看可疑进程:

jsprocess为网购比价进程,与K2的一样

ucloud_v2与business_proc不知道是啥东西


查看网络进程:


tcp:


除了ucloud_v2与business_proc,还有一个app_data_center 也处于网络连接状态

udp:

重新 更新到最新V15.03.05.14多国语言版本进行定制。

1、首先增加telnet服务,方法是修改/etc_ro/init.d/rcS

在最后增加:

telnetd &

echo -e 'admin\nadmin' | passwd root

设置telnet密码为admin

2、增加定制版本号

修改/webroot_ro/js/main.js


3、增加广告屏蔽界面

修改/webroot_ro/main.html,增加如下部分:




修改后的界面如下:




未完待续..



点评

楼主是自己编译busybox的?加入的命令还是有点少啊,比如crond ,syslogd 和klogd等等都没有,我用自己编译的或者官网下载的放入rom都不能启动,有什么诀窍么?  发表于 2017-5-8 14:05
直接用openwrt modify.sh 就能编辑了~  发表于 2017-4-25 16:38
期待加上kms  发表于 2017-4-20 11:27

评分

参与人数 41恩山币 +43 收起 理由
wwm007 + 1 我来恩山就是为了撩你!
472870007 + 1 我来恩山就是为了看你!
日月同辉光 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
biyehong + 1 亲,你这么厉害,我想做你的经纪人!
feng830911 + 1 呵呵!期待大神继续更新更多功能!
oxygen10000 + 1 亲,你这么厉害,我想做你的经纪人!
s135 + 1 亲,你这么厉害,我想做你的经纪人!
vov + 1 亲,你这么厉害,我想做你的经纪人!
Kucami + 1 我来恩山就是为了看你!
xyx208 + 1 亲,你这么厉害,我想做你的经纪人!
liboing + 1 我来恩山就是为了看你!
就爱高清 + 1 支付宝已转500w给你!
trob + 3 我来恩山就是为了看你!
lon91ong + 1 楼主威武—我就想问问挖掘机技术哪家强?
wewere + 1 tree new bee 树 新 蜂
rvip + 1 我来恩山就是为了看你!
game8 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
辉辉发vgdf + 1 我来恩山就是为了看你!
大官人 + 1 我来恩山就是为了看你!
xujiakai + 1 亲,你这么厉害,我想做你的经纪人!
RGYiii + 1 我来恩山就是为了看你!
redcats2 + 1 太NB了,基本功太过硬了!!!
whoweasn + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
技术宅小唐 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
mouse168 + 1 我来恩山就是为了看你!
honglin235 + 1 K2就是用你的固件,希望AC9的有多拨。关注中。。。。。。。。。。
hongping2015 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
zibike + 1 好美版信号强多谢大神
Yuea123 + 1 我来恩山就是为了看你!
wqwqwwq + 1 一看就是觉得高端、大气、上档次!
hillcool1 + 1 支付宝已转500w给你!
i7cycle + 1 亲,你这么厉害,我想做你的经纪人!
p27853626 + 1 已改16m,期待官改
fengma + 1 我来恩山就是为了看你!
我要看看 + 1 楼主威武—我就想问问挖掘机技术哪家强?
qqliji + 1 大神~我要给你生个猴子!!!
lwiibj + 1 期待大神的8M去广告+S-S R官改版!
浩浩荡荡 + 1 支付宝已转500w给你!
111123124 + 1 楼主你好,目前发现 使用asuswrt的工具链就可以编译出在美版固件可执行文件。
l256 + 1 我来恩山就是为了看你!
sujian42007 + 1 期待大神的官改版

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-4-13 12:03 | 显示全部楼层
期待大神的官改版
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:11 | 显示全部楼层
期待大神的美版修正稳定加强版本!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:15 来自手机 | 显示全部楼层
围观大神,期待好固件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:17 | 显示全部楼层
本帖最后由 zmj2009 于 2017-4-13 12:50 编辑

支持大神的美版修正稳定加强版本,最完美汉化下.和不改的8M版.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:18 来自手机 | 显示全部楼层
围观大神,期待好固件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:22 | 显示全部楼层
期待大神的官改固件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:38 | 显示全部楼层
太高深了。。。。。我已经看晕了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 12:42 | 显示全部楼层
期待加入去广告功能
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 13:00 来自手机 | 显示全部楼层
期待去广告和ss
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 13:04 | 显示全部楼层
期待楼主的大作,最好还是保持8M以下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 13:04 | 显示全部楼层
技术贴!!顶
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 13:11 | 显示全部楼层
楼主你好。
关于美版固件我也研究过。

目前发现 使用asuswrt的工具链就可以编译出可执行文件。

点评

知道华硕AC1200g+的源码怎么编译吗?  详情 回复 发表于 2017-4-13 13:15
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 13:14 | 显示全部楼层
围观支持               
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-4-13 13:15 | 显示全部楼层
111123124 发表于 2017-4-13 13:11
楼主你好。
关于美版固件我也研究过。

知道华硕AC1200g+的源码怎么编译吗?

点评

建议 DDNS 加入 Aliddns 。 源码参见:https://github.com/kyriosli/koolshare-aliddns 非常感谢!  详情 回复 发表于 2017-4-14 08:26
http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=212232&page=1&extra=#pid1765454 这个帖子是我发的,工具链直接拿来用就好了,不用编译整个固件的。  详情 回复 发表于 2017-4-13 13:26
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 13:42

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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