liyansong2018 / firmware-analysis-plus

Simulate firmware with one click of firmadyne (使用 firmadyne 一键模拟固件)
MIT License
307 stars 29 forks source link

学习定制DIR-2640 #21

Open lovegoodM opened 2 years ago

lovegoodM commented 2 years ago

你好大佬! 我看了您的博客https://www.freebuf.com/sectool/264053.html,于是我想尝试下定制2640。 去用fat.py运行时出现了Image extraction failed,于是想手动打包试试,但这步就卡住了,不会解包这个固件。

大佬有交流群吗,比如QQ之类的。

liyansong2018 commented 2 years ago

已上传你需要的固件,请查看 v2.0.1 release for dir-2640

lovegoodM commented 2 years ago

已上传你需要的固件,请查看 v2.0.1 release for dir-2640

谢谢,我找到了固件https://tsd.dlink.com.tw/,我想自己定制学习下,学习下过程。我现在用ubuntu16.04所以是你的0.1版,直接运行./fat.py不能解包,所以就想自己打包https://github.com/liyansong2018/firmware-analysis-plus#%E7%BC%96%E8%AF%91-binwalk-%E5%A4%B1%E8%B4%A5%E6%80%8E%E4%B9%88%E5%8A%9E,用binwalk看了跟一般的ubi、spi不一样,不会解包,请大佬指导下。

liyansong2018 commented 2 years ago

如果binwalk不能解包的话,是没办法使用这个工具的。有些固件确实会有自己的私有打包算法,这也是binwalk的缺陷。

liyansong2018 commented 2 years ago

如果有实际设备的话,可以直接从flash上提取固件,一般来说,flash上的固件可以直接解压。或者直接dump内存中的固件,这些都是可以参考的方法。

至于你直接在网上下载的,不能被binwalk识别的固件,那可能就是加入了自己的打包程序。也可以尝试从历史固件获取解包程序,当然只限于某些固件。

lovegoodM commented 2 years ago

请问下,大佬是如何从原固件到orig的,是如何找到解密方法的?大佬能说说吗?

liyansong2018 commented 2 years ago

历史版本,或者相关型号的路由器的历史版本,可能有一个中间版本的固件,未加密,且存在解密程序(出厂版本未加密,后续考虑到安全性,厂商打算加密固件,必然有一个中间版本,没有加密,却包含了即将要解密固件的二进制)。

多试试几个型号,例如,DIR-8xx(不太记得具体型号了),你就会发现这个特点了,多注意每个固件版本的更新说明。

lovegoodM commented 2 years ago

谢谢。懂了。。。

正如大佬所说(后续考虑到安全性,厂商打算加密固件),只要厂商事先把未加密的固件刷入就行。那未加密的为什么还提供下载?

liyansong2018 commented 2 years ago

哈哈,这就得问厂商了,祝你好运,这些嵌入式设备漏洞还是挺多的,我已经有一段时间没去弄了。

SteinsGatep001 commented 2 years ago

您好,您测试过进入登录页面吗?是(http://192.168.0.1/info/Login.html)空白的吗

liyansong2018 commented 2 years ago

您好,您测试过进入登录页面吗?是(http://192.168.0.1/info/Login.html)空白的吗?

很久之前测试过,登录页面无异常,不是空白的