本文为看雪论坛优秀文章
看雪论坛作者ID:零加一
IoT安全是早早就萌生了想法,奈何早之前当了咸鱼王,动手能力被摒弃。
转行进入安全行业后,对安全技能的需求变成了刚需,不能再当咸鱼。
趁着这边的项目延迟有大量的空闲时间,就在酒店开始了这一次的摄像头逆向之旅。https://bbs.pediy.com/user-home-651413.htm本文主要目的是对摄像头固件进行修改进入uboot。a. 摄像头
b. 万能表.
c. RT809F编程器
d. 电洛铁
e. UsbToTTL1. UART串口焊线
这块板子对新手极其友好,接口名称都还在,且经过万能表测试正确,只需要简单的接线即可。
2. 连接UART
Rx、Tx接口跟UsbToTtl的Rx、Tx对换连接。发现按任意键都无法进入u-boot,能直接进入系统且没有密码。3. 穿针引线
由于针脚之间距离太近加上太久没用过电洛铁热风枪极其手生,所以二者不在考虑范围(在有一个就是针脚上都涂了一层透明的东西,在以前的印象中是需要洗板水清晰后才能拆)。所以得把线拆了重新用别的线接,总共花费了两小时,加上酒店的灯光,眼睛都瞎了。最终的成品如下:4. 修改固件
识别出5个型号,因为不知道具体型号,所以直接选了最后一个。点击读取,等待读取结束保存到本地后,固件提取就完毕了。提取固件不需要解包,只需要找到u-boot的程序所在位置就好了。这里经过wmsuper的指点,知道了固件起始到0x31000是u-boot程序所在。ps:0x31000是因为在binwalk中识别出该地址为内核。将固件拉入ida 选择arm 小端,并设置加载大小为0x31000。
打算通过开始的提示字符串定位函数,但发现无法找到引用。https://e3pem.github.io/2019/05/09/IoT/arm%E5%9B%BA%E4%BB%B6%E5%8A%A0%E8%BD%BD%E5%9C%B0%E5%9D%80/通过搜索jump table的方式找到如下跳转表:通过尝试,0x80E101D0-103B0=0x80DFFE20,而两值最后的差正好是20。所以猜测ImageBase为0x80DFFE00。通过测试,ImageBbase为正确,也定位到了关键函数。通过代码可以看到,uboot的等待时间由sub_80E17F64决定。第一次整,除了用那个铜线没有测试导电就去使用之外非常顺利。
对于这一次动手过程非常开心,这个便宜的摄像头对新手出其的有好。看雪ID:零加一
https://bbs.pediy.com/user-home-749276.htm
*本文由看雪论坛 零加一 原创,转载请注明来自看雪社区。
文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458384122&idx=1&sn=4df776870bde98393b91ad2082cf8d7e&chksm=b180c67086f74f66ba9ee97c42529a0b16054d0c4dd7c4f47edaea1f6512eed54ed04f408b11#rd
如有侵权请联系:admin#unsafe.sh