본문 바로가기

List/Embedded

firmware-mod-kit(fmk) 설치

출처

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