출처
http://ssabro.tistory.com/21
http://apollo89.com/wordpress/?p=6339
# wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/firmware-mod-kit/fmk_099.tar.gz
# tar -xzvf fmk_099.tar.gz
# cd fmk
위에껀 신버전인데 에러가 자꾸나서 봤더니 이슈에 binwalk에 의존성이 있는데 binwalk가 많이 변경되어서 그렇다는 얘기가 있다.
따라서 이전 fmk를 설치하여 추출을 진행한다.
# git clone https://github.com/rampageX/firmware-mod-kit.git
# cd firmware-mod-kit
하게 되면 fmk 설치는 끝이 난다.
이를 사용하려면 몇가지 라이브러리가 필요한데, 다음 명령어로 설치 가능
#apt-get install build-essential zlib1g-dev liblzma-dev python-magic
출처 : http://apollo89.com/wordpress/?p=6339
나같은 경우엔 build-essential, python-magic 두 개 모듈이 이미 다른 버전이 설치되어 있다는 에러를 냈는데, 이대로는 fmk가 실행이 안된다.
(error example, python-magic : Depends: libmagic1 (= 1:5.14-2ubuntu3) but 1:5.14-2ubuntu3.1 is to be installed)
이럴 때는 해당 모듈의 이름을 알아낸 뒤 apt-get remove 명령어로 지우고 하위 버전으로 다시 설치한다.
# apt-cache search libmagic*
# apt-get remove libmagic1
# apt-get install libmagic1
그 뒤, fmk를 이용해 펌웨어 파일시스템을 추출하면 된다.
# ./extract-firmware.sh [펌웨어]
root@ubuntu:/home/embedded/fmk/fmk/rootfs# ls -al
total 60
drwxr-xr-x 15 548 248 4096 Jan 22 10:21 .
drwxr-xr-x 5 root root 4096 Jan 22 10:21 ..
drwxr-xr-x 5 548 248 4096 Jan 22 10:21 bin
drwxr-xr-x 2 548 248 4096 Dec 31 1969 cramfs
drwxr-xr-x 4 548 248 4096 Jan 22 10:21 default
drwxr-xr-x 2 548 248 4096 Dec 31 1969 dev
lrwxrwxrwx 1 548 248 8 Jan 22 10:21 etc -> /tmp/etc
drwxr-xr-x 3 548 248 4096 Jan 22 10:21 home
drwxr-xr-x 3 548 248 4096 Jan 22 10:21 lib
lrwxrwxrwx 1 548 248 11 Jan 22 10:21 linuxrc -> bin/busybox
drwxr-xr-x 2 548 248 4096 Jan 22 10:21 ndbin
drwxr-xr-x 2 548 248 4096 Dec 31 1969 plugin
drwxr-xr-x 2 548 248 4096 Dec 31 1969 proc
drwxr-xr-x 2 548 248 4096 Dec 31 1969 save
drwxr-xr-x 2 548 248 4096 Jan 22 10:21 sbin
drwxr-xr-x 2 548 248 4096 Dec 31 1969 tmp
drwxr-xr-x 4 548 248 4096 Jan 22 10:21 usr
lrwxrwxrwx 1 548 248 8 Jan 22 10:21 var -> /tmp/var
'List > Embedded' 카테고리의 다른 글
[armel] 기초 (0) | 2015.09.04 |
---|---|
Embedded 환경 구축 (0) | 2015.06.18 |
[mipsel] 기본 bof 취약점 공격 (0) | 2015.01.11 |
[mipsel] shellcode 제작 - execve("/bin/sh", [/bin/sh, 0], 0) , 56byte (0) | 2015.01.11 |
[mipsel] add(a, b) 분석 (0) | 2014.12.26 |