{"id":490,"date":"2014-05-31T15:30:10","date_gmt":"2014-06-01T00:30:10","guid":{"rendered":"\/blog\/?p=490"},"modified":"2023-09-21T09:38:43","modified_gmt":"2023-09-21T00:38:43","slug":"firmware-mod-kit%ec%9d%98-%ed%8e%8c%ec%9b%a8%ec%96%b4bin-%ec%b6%94%ec%b6%9c%ea%b3%bc%ec%a0%95-%ec%84%a4%eb%aa%85","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=490","title":{"rendered":"firmware-mod-kit\uc758 \ud38c\uc6e8\uc5b4(bin) \ucd94\ucd9c\uacfc\uc815 \uc124\uba85"},"content":{"rendered":"\n<pre>\n\u25a0 firmware-mod-kit\uc758 \ud38c\uc6e8\uc5b4(bin) \ucd94\ucd9c\uacfc\uc815 \uc124\uba85\n\nfirmware-mod-kit(<a href=\"https:\/\/code.google.com\/archive\/p\/firmware-mod-kit\/downloads\" target=\"_blank\" rel=\"noopener\">https:\/\/code.google.com\/archive\/p\/firmware-mod-kit\/downloads<\/a>)\uc758 extract-firmware.sh\uc758 \ub3d9\uc791\uacfc\uc815\uc744 \uc124\uba85\ud55c\ub2e4.\n\n\n\u25a0 \ud544\uc694\ud55c \ud504\ub85c\uadf8\ub7a8\n\nfmk\/src\/binwalk-1.0\/src\/bin\/binwalk-script\nfmk\/unsquashfs_all.sh\n\n\n\u25a0 \ucd94\ucd9c \uacfc\uc815\n\n1. \uc258\uc2a4\ud06c\ub9bd\ud2b8 \ubcc0\uc218 \uc815\uc758\n\nBINWALK=&quot;\/opt\/fmk\/src\/binwalk-1.0\/src\/bin\/binwalk-script -v -m \/opt\/fmk\/src\/binwalk-1.0\/src\/binwalk\/magic\/binwalk&quot;\nUNSQUASHFS=&quot;\/opt\/fmk\/unsquashfs_all.sh&quot;\n\n\n2. \ud38c\uc6e8\uc5b4 \uc815\ubcf4 \ucd94\ucd9c\n\n${BINWALK} -f bininfo.txt test.bin\ntest.bin\uc758 \uc815\ubcf4\ub97c bininfo.txt\ub85c \ucd9c\ub825\ud55c\ub2e4.\n\n\uc815\uc0c1\uc801\uc73c\ub85c \uc2e4\ud589\ub418\uba74 \uc544\ub798\uc640 \uac19\uc740 \ub0b4\uc6a9\uc774 bininfo.txt\uc5d0 \ub4e4\uc5b4\uc788\ub2e4.\n\nFirmware Mod Kit (extract) 0.99, (c)2011-2013 Craig Heffner, Jeremy Collake\n\nPreparing tools ...\nScanning firmware...\n\nScan Time:     2014-05-31 14:34:31\nSignatures:    193\nTarget File:   \/opt\/fmk\/test.bin\nMD5 Checksum:  e9c185bc0ee5dc3fec3ba5cd65ef9918\n\nDECIMAL         HEX             DESCRIPTION\n-------------------------------------------------------------------------------------------------------\n0               0x0             TP-Link firmware header, firmware version: 3.12.19, image version: &quot;ver. 1.0&quot;, product ID: 0x34200001, product version: 1, kernel load address: 0x80002000, kernel entry point: 0x801C4000, kernel offset: 512, kernel length: 873337, rootfs offset: 1048576, rootfs length: 2883584, bootloader offset: 0, bootloader length: 0\n\n512             0x200           gzip compressed data, was &quot;vmlinux.bin&quot;, from Unix, last modified: Mon Aug  1 16:11:04 2011\n\n1048576         0x100000        Squashfs filesystem, big endian, lzma signature, version 3.1, size: 2406755 bytes,  687 inodes, blocksize: 65536 bytes, created: Fri Nov 23 17:23:06 2012\n\nHEADER_IMAGE_OFFSET: 0\nFS_OFFSET: 1048576\nHEADER_IMAGE_SIZE: 1048576\n\n\n3. HEADER(Linux \ucee4\ub110 \ubd80\ubd84) \ubd80\ubd84\uc744 \ucd94\ucd9c\ud55c\ub2e4.\n\n\uc774\ubbf8\uc9c0 \ud30c\uc77c\uc758 \ucc98\uc74c\ubd80\ud130 HEADER_IMAGE_SIZE\ub9cc\ud07c\uc774 \ud5e4\ub354\uc774\ub2e4.\ndd if=&quot;test.bin&quot; bs=${HEADER_IMAGE_SIZE} skip=${HEADER_IMAGE_OFFSET} count=1 of=&quot;header.img&quot;\n\n\n4. ROOT \ud30c\uc77c\uc2dc\uc2a4\ud15c \ubd80\ubd84\uc744 \ucd94\ucd9c\ud55c\ub2e4.\n\nFS_OFFSET \ubd80\ud130 \ud30c\uc77c \ub05d\uae4c\uc9c0\uac00 ROOT File System \uc774\ub2e4.\ndd if=&quot;test.bin&quot; bs=${FS_OFFSET} skip=1 of=&quot;rootfs.img&quot;\n\n\n5. \uc544\ub798\uc640 \uac19\uc740 \ub85c\uc9c1\uc73c\ub85c \uac80\uc0ac\ud558\uc5ec FOOTER(NVRAM)\uac00 \ud544\uc694\ud558\uba74 \ucd94\ucd9c\ud55c\ub2e4.\n\nfor LINE in $(hexdump -C ${IMG} | tail -11 | head -10 | sed -n &#39;1!G;h;$p&#39; | sed -e &#39;s\/^*\/FILLER\/&#39;)\n do\n        if [ &quot;${LINE}&quot; = &quot;FILLER&quot; ]; then\n                break\n        else\n                FOOTER_SIZE=$((${FOOTER_SIZE}+16))\n        fi\ndone\n\n# If a footer was found, dump it out\nif [ &quot;${FOOTER_SIZE}&quot; != &quot;0&quot; ]; then\n        FOOTER_OFFSET=$((${FW_SIZE}-${FOOTER_SIZE}))\n        echo &quot;Extracting ${FOOTER_SIZE} byte footer from offset ${FOOTER_OFFSET}&quot;\n        dd if=&quot;${IMG}&quot; bs=1 skip=${FOOTER_OFFSET} count=${FOOTER_SIZE} of=&quot;${FOOTER_IMAGE}&quot;\nelse\n        FOOTER_OFFSET=${FW_SIZE}\nfi\n\n\n6. ROOT \ud30c\uc77c\uc2dc\uc2a4\ud15c\uc758 SquashFS\uc744 \ucd94\ucd9c\ud55c\ub2e4.\n\nmkdir rootfs\n${UNSQUASHFS} rootfs.img rootfs\nAttempting to extract SquashFS .X file system...\n\n\nTrying .\/src\/squashfs-2.1-r2\/unsquashfs-lzma...\nTrying .\/src\/squashfs-2.1-r2\/unsquashfs...\nTrying .\/src\/squashfs-3.0\/unsquashfs-lzma...\nTrying .\/src\/squashfs-3.0\/unsquashfs...\nTrying .\/src\/squashfs-3.0-lzma-damn-small-variant\/unsquashfs-lzma...\nTrying .\/src\/others\/squashfs-2.0-nb4\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.0-e2100\/unsquashfs-lzma...\nTrying .\/src\/others\/squashfs-3.0-e2100\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.2-r2\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.2-r2-lzma\/squashfs3.2-r2\/squashfs-tools\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.2-r2-hg612-lzma\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.2-r2-wnr1000\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.2-r2-rtn12\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.3\/unsquashfs...\nTrying .\/src\/others\/squashfs-3.3-lzma\/squashfs3.3\/squashfs-tools\/unsquashfs...\ncreated 522 files\ncreated 38 directories\ncreated 59 symlinks\ncreated 0 devices\ncreated 0 fifos\nFile system sucessfully extracted!\n\n\u203b config.log\nFW_SIZE=&#39;3932160&#39;\nHEADER_TYPE=&#39;tp-link&#39;\nHEADER_SIZE=&#39;0&#39;\nHEADER_IMAGE_SIZE=&#39;1048576&#39;\nHEADER_IMAGE_OFFSET=&#39;0&#39;\nFOOTER_SIZE=&#39;0&#39;\nFOOTER_OFFSET=&#39;3932160&#39;\nFS_TYPE=&#39;squashfs&#39;\nFS_OFFSET=&#39;1048576&#39;\nFS_COMPRESSION=&#39;lzma&#39;\nFS_BLOCKSIZE=&#39;65536&#39;\nENDIANESS=&#39;-be&#39;\nMKFS=&quot;.\/src\/others\/squashfs-3.3-lzma\/squashfs3.3\/squashfs-tools\/mksquashfs&quot;\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u25a0 firmware-mod-kit\uc758 \ud38c\uc6e8\uc5b4(bin) \ucd94\ucd9c\uacfc\uc815 \uc124\uba85 firmware-mod-kit(https:\/\/code.google.com\/archive\/p\/firmware-mod-kit\/downloads)\uc758 extract-firmware.sh\uc758 \ub3d9\uc791\uacfc\uc815\uc744 \uc124\uba85\ud55c\ub2e4. \u25a0 \ud544\uc694\ud55c \ud504\ub85c\uadf8\ub7a8 fmk\/src\/binwalk-1.0\/src\/bin\/binwalk-script fmk\/unsquashfs_all.sh \u25a0 \ucd94\ucd9c \uacfc\uc815 1. \uc258\uc2a4\ud06c\ub9bd\ud2b8 \ubcc0\uc218 \uc815\uc758 BINWALK=&quot;\/opt\/fmk\/src\/binwalk-1.0\/src\/bin\/binwalk-script -v -m \/opt\/fmk\/src\/binwalk-1.0\/src\/binwalk\/magic\/binwalk&quot; UNSQUASHFS=&quot;\/opt\/fmk\/unsquashfs_all.sh&quot; 2. \ud38c\uc6e8\uc5b4 \uc815\ubcf4 \ucd94\ucd9c ${BINWALK} -f bininfo.txt test.bin test.bin\uc758 \uc815\ubcf4\ub97c bininfo.txt\ub85c \ucd9c\ub825\ud55c\ub2e4. \uc815\uc0c1\uc801\uc73c\ub85c \uc2e4\ud589\ub418\uba74 \uc544\ub798\uc640 \uac19\uc740 \ub0b4\uc6a9\uc774 bininfo.txt\uc5d0 \ub4e4\uc5b4\uc788\ub2e4. Firmware Mod Kit (extract) 0.99, (c)2011-2013 Craig Heffner, Jeremy Collake [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[21],"tags":[],"class_list":["post-490","post","type-post","status-publish","format-standard","hentry","category-development_openwrt"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=490"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/490\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}