提取攝像頭固件中應用邏輯代碼

所需工具:

file 用來查看文件類型

strings 用來獲取文件中所有的字符串

binwalk 用來提取和分離固件

firmware-mod-kit 分析固件的瑞士軍刀了,能做很多事,以後有機會寫一系列的firmware-mod-kit相關博客。

  • 固件分析

首先用binwalk分析固件格式,即固件中包含了哪些文件。
binwalk firmware.bin

  • 提取文件系統

提取出文件系統的指令需要加個-e:
binwalk -e firmware.bin
提取出來的文件系統包括:squshfs和jffs2.
這時候我們想找應用的關鍵邏輯,一般都是在文件系統的bin文件夾下。所以下一步就是提取文件系統中的文件。一般binwalk會在-e的時候就幫我們把squashfs中的文件提取出來,命名爲:squashfs-root。而JFFS2文件系統binwalk卻沒有處理,因此需要我們額外的提取出jffs2的文件。

  • firmware-mod-kit安裝

這裏利用firmware-mod-kit。
先下載:git clone https://github.com/mirror/firmware-mod-kit.git
Ubuntu需要安裝依賴:sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic
進入src目錄:
cd firmware-mod-kit/src
編譯:
./configure && make

  • 提取jffs2文件系統

進入firmware-mod-kit下的jffs2目錄:
cd /firmware-mod-kit/src/jffs2
執行unjffs2:
sudo ./unjffs2 970000.jffs2 
此時就得到了名爲jffs2-root的文件夾,裏面就是關鍵代碼了。
這時候我們進入到文件系統的bin目錄下,就可以看見應用程序的可執行文件,放入到IDA中進行分析。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章