其他分享
首页 > 其他分享> > 记录一次对D-link DIR819固件的解密

记录一次对D-link DIR819固件的解密

作者:互联网

前段时间一直在忙,忙考试忙着复习web,所以趁这个晚上将前几天第一次尝试固件解密记录下来,方便以后的自我学习

DIR-819版本如截图

 

 

 将固件下载到本地后,发现binwalk无法解析这个固件

 

 

 

 于是我查看他的熵值

 

 

 很明显改固件存在加密

因为我才刚刚接触iot这个方向,所以碰到被加密的固件第一时间想着跑路,但是不知道为什么在最近这段时间D-link官网获取的路由器固件好像都被加了密

所以在隔了一段时间后又来尝试能否进行固件解密

我所知道的绕过固件加密有以下几种:

1.在设备升级时,抓包获取固件升级的链接,去获得固件

2.寻找固件的中间版本。也就是前几个版本,通过未加密的固件去寻找解密的程序

3.通过逆向手段寻找向量表去绕过加密??

4.通过二进制文件查看器,查看文件信息,尝试寻找解密脚本

....

因为我手头上并没有这个固件,再加上,我下载了前面几个版本,发现全部存在加密,所以我只能通过去查看这个固件的特征头去进行解密

 

 

 通过查看前128字节寻找特征码,然后根据这个shrs进行搜索,我们可以查看到该型号版本固件和DIR-3060和DIR-882固件存在相同加密方式,以下是dir882的同类型文件头

 

 

 所以我们可以去寻找这个固件的中间版本或者解密程序,去对该型号进行相同的解密,最终我在chamd5团队的文章找到了中间件版本的下载链接(呜呜呜感谢师傅们的分享)

下载链接如下

https://support.dlink.com/resource/PRODUCTS/DIR-882/REVA/DIR-882_REVA_FIRMWARE_v1.10B02.zip

然后我们对未加密的固件解包,去寻找imgdecrypt这个字样

然后发现存在/bin/imgdecrypt

所以我们可以通过qemu去模拟mips的环境去对我们的程序进行解密(别忘了讲我们加密的固件放到home路径下)

 

 解密完整过程如下

 cp /usr/bin/qemu-mipsel-static .
sudo chroot . ./qemu-mipsel-static /bin/sh
./bin/imgdecrypt /home/..

然后我们就可以看到固件被正常解析了

 

 

 

感谢网上师傅们的分享,帮助我这个萌新学习到了很多,我记录这篇,是为了我以后的复习,希望师傅们不要嫌弃我写的太少,抱歉

标签:bin,加密,DIR819,解密,link,版本,固件,DIR
来源: https://www.cnblogs.com/zhuangzhouQAQ/p/16403811.html