之前说打算写个拿华为光猫的root shell的文章来着,根据网上的资料,拿到root shell之后,发现不够玩的,想要玩的更深入点,还得实现固件的解包与打包,于是GG搜索相关资料,无意间找到一篇较冷门的但是很重要的资料:PWN华为HG8120C光猫(三) 该文章对华为光猫固件的结构进行了粗略的猜解。但是已经具备了针对固件的解包与打包的基础功能。 不过源码是PY写的,本人对py不是很熟悉,加上原文对固件结构的解析不是很细致。 所以打算从头开始分析固件结构,一开始是瞄准了网上散播的华为ONT开telnet工具。 因为原文的upgrade.bin就是提取自该软件。 实际分析过后,发现该软件仅仅对固件文件做个校验,并不涉及解包打包的操作。 所以想从这软件里分析出固件的详细结构是不太可能的。 又开始搜索有关华为固件相关的工具,功夫不负有心人,终于在chinadsl上找到一个华为固件的重打包工具。 该工具的作用不是很清楚,实际测试时,我是用的一个老固件加一个xml来实现重打包操作的。 查了下发现没壳,还是VC++开发,IDA逆向过程也很顺利: 废话不多说,直接贴固件结构: 固件结构的C语言代码:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)