ืคืึทืจืงืขืจื˜ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืึท ื”ื™ื™ื ืจืึทื•ื˜ืขืจ ื ื™ืฆืŸ ื‘ื™ื ื•ื•ืึทืœืง. ืฆื™ ืื™ืจ ืฆื•ื˜ืจื•ื™ ื“ื™ื™ืŸ ืจืึทื•ื˜ืขืจ ื•ื•ื™ื™ื›ื•ื•ืืจื’?

ืคืึทืจืงืขืจื˜ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืึท ื”ื™ื™ื ืจืึทื•ื˜ืขืจ ื ื™ืฆืŸ ื‘ื™ื ื•ื•ืึทืœืง. ืฆื™ ืื™ืจ ืฆื•ื˜ืจื•ื™ ื“ื™ื™ืŸ ืจืึทื•ื˜ืขืจ ื•ื•ื™ื™ื›ื•ื•ืืจื’?

ืžื™ื˜ ืขื˜ืœืขื›ืข ื˜ืขื’ ืฆื•ืจื™ืง, ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืคืึทืจืงืขืจื˜ ื™ื ื–ืฉืขื ื™ืจ ื“ื™ ืคื™ืจืžื•ื•ืึทืจืข ืคื•ืŸ โ€‹โ€‹ืžื™ื™ืŸ ืจืึทื•ื˜ืขืจ ื ื™ืฆืŸ ื‘ื™ื ื•ื•ืึทืœืง.

ืื™ืš ื’ืขืงื•ื™ืคื˜ ื–ื™ืš TP-Link Archer C7 ื”ื™ื™ื ืจืึทื•ื˜ืขืจ. ื ื™ื˜ ื“ืขืจ ื‘ืขืกื˜ืขืจ ืจืึทื•ื˜ืขืจ, ืึธื‘ืขืจ ื’ืึทื ืฅ ื’ืขื ื•ื’ ืคึฟืึทืจ ืžื™ื™ืŸ ื“ืึทืจืฃ.

ื™ืขื“ืขืจ ืžืึธืœ ืื™ืš ืงื•ื™ืคืŸ ืึท ื ื™ื™ึท ืจืึทื•ื˜ืขืจ, ืื™ืš ื™ื ืกื˜ืึทืœื™ืจืŸ openwrt. ืฆื• ื•ื•ืืก? ื•ื•ื™ ืึท ื”ืขืจืฉืŸ, ืžืึทื ื™ืึทืคืึทืงื˜ืฉืขืจืขืจื– ื˜ืึธืŸ ื ื™ื˜ ื–ืึธืจื’ืŸ ืคื™ืœ ื•ื•ืขื’ืŸ ืฉื˜ื™ืฆืŸ ื–ื™ื™ืขืจ ืจืึธื•ื˜ืขืจืก ืื•ืŸ ืžื™ื˜ ืฆื™ื™ื˜ ื“ื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ืขืจื˜ ืึทื•ื˜ื“ื™ื™ื˜ื™ื“, ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื– ื“ืขืจืฉื™ื™ึทื ืขืŸ, ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ, ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืื™ืจ ื‘ืึทืงื•ืžืขืŸ ื“ืขื ื’ืขื“ืึทื ืง. ื“ืขืจื™ื‘ืขืจ, ืื™ืš ื‘ืขืกืขืจ ื•ื•ืขืœืŸ ื“ื™ OpenWRT ืคื™ืจืžื•ื•ืึทืจืข, ื•ื•ืึธืก ืื™ื– ื’ืขื–ื•ื ื˜ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ืึธืคึฟืŸ-ืžืงื•ืจ ืงื”ืœ.

ืื™ืš ื”ืึธื‘ ืื•ื™ืš ื“ืึทื•ื ืœืึธื•ื“ื™ื“ OpenWRT ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื“ื™ ืœืขืฆื˜ืข ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ืœื“ ืื•ื ื˜ืขืจ ืžื™ื™ืŸ ื ื™ื™ึทืข Archer C7 ืคึฟื•ืŸ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ืื•ืŸ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืึทื ืึทืœื™ื™ื– ืขืก. ืจื™ื™ืŸ ืคึฟืึทืจ ืฉืคึผืึทืก ืื•ืŸ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื‘ื™ื ื•ื•ืึทืœืง.

ื•ื•ืึธืก ืื™ื– ื‘ื™ื ื•ื•ืึทืœืง?

ื‘ื™ื ื•ื•ืึทืœืง ืื™ื– ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืึทื ืึทืœื™ืกื™ืก, ืคืึทืจืงืขืจื˜ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืื•ืŸ ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ืœื“ ื™ืงืกื˜ืจืึทืงืฉืึทืŸ.

ื‘ืืฉืืคืŸ ืื™ืŸ 2010 ื“ื•ืจืš Craig Heffner, binwalk ืงืขื ืขืŸ ื™ื‘ืขืจืงื•ืงืŸ ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ืœื“ืขืจ ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ื˜ืขืงืขืก, ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืื•ืŸ ืขืงืกื˜ืจืึทืงื˜ ื˜ืขืงืข ืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ, ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ืงืึธื“, ืงืึทืžืคึผืจืขืกื˜ ืึทืจืงื™ื™ื•ื•ื–, ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจืก ืื•ืŸ ืงืขืจื ืึทืœื–, ื˜ืขืงืข ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ ืึทื–ืึท ื•ื•ื™ JPEG ืื•ืŸ PDF, ืื•ืŸ ืคื™ืœ ืžืขืจ.

ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ binwalk ืฆื• ืคืึทืจืงืขืจื˜ ื™ื ื–ืฉืขื ื™ืจ ื“ื™ ืคื™ืจืžื•ื•ืึทืจืข ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ื™ ืขืก ืึทืจื‘ืขื˜. ื–ื•ื›ืŸ ื‘ื™ื™ื ืขืจื™ ื˜ืขืงืขืก ืคึฟืึทืจ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื–, ืขืงืกื˜ืจืึทืงื˜ ื˜ืขืงืขืก ืื•ืŸ ืงื•ืง ืคึฟืึทืจ ื‘ืึทืงื“ืึธืจื– ืึธื“ืขืจ ื“ื™ื’ื™ื˜ืึทืœ ืกืขืจื˜ื™ืคื™ืงืึทืฅ. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื’ืขืคึฟื™ื ืขืŸ opcodes ืคึฟืึทืจ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืงืคึผื•ืก.

ืื™ืจ ืงืขื ืขืŸ ืขืงืกื˜ืจืึทืงื˜ ืคื™ืœืขืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ ืฆื• ื–ื•ื›ืŸ ืคึฟืึทืจ ืกืคึผืขืฆื™ืคื™ืฉ ืคึผืึทืจืึธืœ ื˜ืขืงืขืก (ืคึผืึทืกืกื•ื•ื“, ืฉืึธื˜ืŸ, ืืื–"ื• ื•) ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื‘ืจืขื›ืŸ ื“ื™ ืคึผืึทืจืึธืœ ื”ืึทืฉืขืก. ืื™ืจ ืงืขื ืขืŸ ื“ื•ืจื›ืคื™ืจืŸ ื‘ื™ื™ื ืขืจื™ ืคึผืึทืจืกื™ื ื’ ืฆื•ื•ื™ืฉืŸ ืฆื•ื•ื™ื™ ืึธื“ืขืจ ืžืขืจ ื˜ืขืงืขืก. ืื™ืจ ืงืขื ืขืŸ ื“ื•ืจื›ืคื™ืจืŸ ืขื ื˜ืจืึธืคึผื™ ืึทื ืึทืœื™ืกื™ืก ืื•ื™ืฃ ื“ืึทื˜ืŸ ืฆื• ื–ื•ื›ืŸ ืงืึทืžืคึผืจืขืกื˜ ื“ืึทื˜ืŸ ืึธื“ืขืจ ืขื ืงืจื™ืคึผื˜ื™ื“ ืฉืœื™ืกืœืขืŸ. ืึทืœืข ื“ืขื ืึธืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• ืึทืงืกืขืก ื“ื™ ืžืงื•ืจ ืงืึธื“.

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืึทืœืฅ ืื™ืจ ื“ืึทืจืคึฟืŸ ืื™ื– ื“ืึธืจื˜ :)

ื•ื•ื™ ืึทื–ื•ื™ ืึทืจื‘ืขื˜ Binwalk?

ื“ื™ ื”ื•ื™ืคึผื˜ ืฉื˜ืจื™ืš ืคื•ืŸ ื‘ื™ื ื•ื•ืึทืœืง ืื™ื– ื–ื™ื™ึทืŸ ื›ืกื™ืžืข ืกืงืึทื ื™ื ื’. Binwalk ืงืขื ืขืŸ ื™ื‘ืขืจืงื•ืงืŸ ื“ื™ ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ืœื“ ืฆื• ื–ื•ื›ืŸ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื˜ืขืงืข ื˜ื™ื™ืคึผืก ืื•ืŸ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ.

ืฆื™ ืื™ืจ ื•ื•ื™ืกืŸ ื“ื™ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ื ื•ืฆืŸ file?

file /bin/bash
/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=12f73d7a8e226c663034529c8dd20efec22dde54, stripped

ืงืึธืœืขืงื˜ื™ื•ื• fileืงื•ืงื˜ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข ื›ืขื“ืขืจ ืื•ืŸ ืงื•ืงื˜ ืคึฟืึทืจ ืึท ื›ืกื™ืžืข (ืžืึทื’ื™ืฉ ื ื•ืžืขืจ) ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื“ื™ ื˜ืขืงืข ื˜ื™ืคึผ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ื“ื™ ื˜ืขืงืข ื”ื™ื™ื‘ื˜ ืžื™ื˜ ื“ื™ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ื‘ื™ื˜ืขืก 0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A, ืขืก ื•ื•ื™ื™ืกื˜ ืึทื– ืขืก ืื™ื– ืึท PNG ื˜ืขืงืข. ืื•ื™ืฃ Wikipedia ืขืก ืื™ื– ืึท ืจืฉื™ืžื” ืคื•ืŸ ืคึผืจืึธืกื˜ ื˜ืขืงืข ืกื™ื’ื ืึทื˜ืฉืขืจื–.

Binwalk ืึทืจื‘ืขื˜ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขื’. ืึธื‘ืขืจ ืึทื ืฉื˜ืึธื˜ ืฆื• ื–ื•ื›ืŸ ืกื™ื’ื ืึทื˜ืฉืขืจื– ื‘ืœื•ื™ื– ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ืขืจ ื˜ืขืงืข, ื‘ื™ื ื•ื•ืึทืœืง ื•ื•ืขื˜ ื™ื‘ืขืจืงื•ืงืŸ ื“ื™ ื’ืื ืฆืข ื˜ืขืงืข. ืึทื“ื“ื™ื˜ื™ืึธื ืึทืœืœื™, binwalk ืงืขื ืขืŸ ืขืงืกื˜ืจืึทืงื˜ ื˜ืขืงืขืก ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ ื‘ื™ืœื“.

ืžื›ืฉื™ืจื™ื file ะธ binwalk ื ื™ืฆืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง libmagic ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ื˜ืขืงืข ืกื™ื’ื ืึทื˜ืฉืขืจื–. ืื‘ืขืจ binwalk ืึทื“ื™ืฉื ืึทืœื™ ืฉื˜ื™ืฆื˜ ืึท ืจืฉื™ืžื” ืคื•ืŸ ืžื ื”ื’ ืžืึทื’ื™ืฉ ืกื™ื’ื ืึทื˜ืฉืขืจื– ืฆื• ื–ื•ื›ืŸ ืคึฟืึทืจ ืงืึทืžืคึผืจืขืกื˜ / ื–ื™ืคึผื˜ ื˜ืขืงืขืก, ืคื™ืจืžื•ื•ืึทืจืข ื›ืขื“ืขืจื–, ืœื™ื ื•ืงืก ืงืขืจื ืึทืœื–, ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจืก, ืคื™ืœืขืกื™ืกื˜ืขืžืก ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ.

ื–ืืœ ืก ื”ืึธื‘ืŸ ืขื˜ืœืขื›ืข ืฉืคึผืึทืก?

Binwalk ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

Binwalk ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ืื•ื™ืฃ ืงื™ื™ืคืœ ืคึผืœืึทื˜ืคืึธืจืžืก ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืœื™ื ื•ืงืก, OSX, FreeBSD ืื•ืŸ Windows.

ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹binwalk ืื™ืจ ืงืขื ืขืŸ ืึธืคึผืœืึธื“ื™ืจืŸ ืžืงื•ืจ ืงืึธื“ ืื•ืŸ ื’ื™ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืึธื“ืขืจ ืฉื ืขืœ ืคื™ืจืŸ, ื‘ื ื™ืžืฆื ืื•ื™ืฃ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ.

Binwalk ื”ืื˜ ืคื™ืœืข ืคืึทืจืฉื™ื“ืขื ืข ืคึผืึทืจืึทืžืขื˜ืขืจืก:

$ binwalk

Binwalk v2.2.0
Craig Heffner, ReFirmLabs
https://github.com/ReFirmLabs/binwalk

Usage: binwalk [OPTIONS] [FILE1] [FILE2] [FILE3] ...

Signature Scan Options:
    -B, --signature              Scan target file(s) for common file signatures
    -R, --raw=<str>              Scan target file(s) for the specified sequence of bytes
    -A, --opcodes                Scan target file(s) for common executable opcode signatures
    -m, --magic=<file>           Specify a custom magic file to use
    -b, --dumb                   Disable smart signature keywords
    -I, --invalid                Show results marked as invalid
    -x, --exclude=<str>          Exclude results that match <str>
    -y, --include=<str>          Only show results that match <str>

Extraction Options:
    -e, --extract                Automatically extract known file types
    -D, --dd=<type:ext:cmd>      Extract <type> signatures, give the files an extension of <ext>, and execute <cmd>
    -M, --matryoshka             Recursively scan extracted files
    -d, --depth=<int>            Limit matryoshka recursion depth (default: 8 levels deep)
    -C, --directory=<str>        Extract files/folders to a custom directory (default: current working directory)
    -j, --size=<int>             Limit the size of each extracted file
    -n, --count=<int>            Limit the number of extracted files
    -r, --rm                     Delete carved files after extraction
    -z, --carve                  Carve data from files, but don't execute extraction utilities
    -V, --subdirs                Extract into sub-directories named by the offset

Entropy Options:
    -E, --entropy                Calculate file entropy
    -F, --fast                   Use faster, but less detailed, entropy analysis
    -J, --save                   Save plot as a PNG
    -Q, --nlegend                Omit the legend from the entropy plot graph
    -N, --nplot                  Do not generate an entropy plot graph
    -H, --high=<float>           Set the rising edge entropy trigger threshold (default: 0.95)
    -L, --low=<float>            Set the falling edge entropy trigger threshold (default: 0.85)

Binary Diffing Options:
    -W, --hexdump                Perform a hexdump / diff of a file or files
    -G, --green                  Only show lines containing bytes that are the same among all files
    -i, --red                    Only show lines containing bytes that are different among all files
    -U, --blue                   Only show lines containing bytes that are different among some files
    -u, --similar                Only display lines that are the same between all files
    -w, --terse                  Diff all files, but only display a hex dump of the first file

Raw Compression Options:
    -X, --deflate                Scan for raw deflate compression streams
    -Z, --lzma                   Scan for raw LZMA compression streams
    -P, --partial                Perform a superficial, but faster, scan
    -S, --stop                   Stop after the first result

General Options:
    -l, --length=<int>           Number of bytes to scan
    -o, --offset=<int>           Start scan at this file offset
    -O, --base=<int>             Add a base address to all printed offsets
    -K, --block=<int>            Set file block size
    -g, --swap=<int>             Reverse every n bytes before scanning
    -f, --log=<file>             Log results to file
    -c, --csv                    Log results to file in CSV format
    -t, --term                   Format output to fit the terminal window
    -q, --quiet                  Suppress output to stdout
    -v, --verbose                Enable verbose output
    -h, --help                   Show help output
    -a, --finclude=<str>         Only scan files whose names match this regex
    -p, --fexclude=<str>         Do not scan files whose names match this regex
    -s, --status=<int>           Enable the status server on the specified port

ื‘ื™ืœื“ ืกืงืึทื ื™ื ื’

ืœืึธืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ื–ื•ื›ืŸ ืคึฟืึทืจ ื˜ืขืงืข ืกื™ื’ื ืึทื˜ืฉืขืจื– ืื™ืŸ ื“ื™ ื‘ื™ืœื“ (ื‘ื™ืœื“ ืคื•ืŸ ื“ืขื ืคึผืœืึทืฅ ื˜ืคึผ-ืœื™ื ืง).

ืคืœื™ืกื ื“ื™ืง ื‘ื™ื ื•ื•ืึทืœืง ืžื™ื˜ ื“ื™ --ืกื™ื’ื ืึทื˜ื•ืจืข ืคึผืึทืจืึทืžืขื˜ืขืจ:

$ binwalk --signature --term archer-c7.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
------------------------------------------------------------------------------------------
21876         0x5574          U-Boot version string, "U-Boot 1.1.4-g4480d5f9-dirty (May
                              20 2019 - 18:45:16)"
21940         0x55B4          CRC32 polynomial table, big endian
23232         0x5AC0          uImage header, header size: 64 bytes, header CRC:
                              0x386C2BD5, created: 2019-05-20 10:45:17, image size:
                              41162 bytes, Data Address: 0x80010000, Entry Point:
                              0x80010000, data CRC: 0xC9CD1E38, OS: Linux, CPU: MIPS,
                              image type: Firmware Image, compression type: lzma, image
                              name: "u-boot image"
23296         0x5B00          LZMA compressed data, properties: 0x5D, dictionary size:
                              8388608 bytes, uncompressed size: 97476 bytes
64968         0xFDC8          XML document, version: "1.0"
78448         0x13270         uImage header, header size: 64 bytes, header CRC:
                              0x78A267FF, created: 2019-07-26 07:46:14, image size:
                              1088500 bytes, Data Address: 0x80060000, Entry Point:
                              0x80060000, data CRC: 0xBB9D4F94, OS: Linux, CPU: MIPS,
                              image type: Multi-File Image, compression type: lzma,
                              image name: "MIPS OpenWrt Linux-3.3.8"
78520         0x132B8         LZMA compressed data, properties: 0x6D, dictionary size:
                              8388608 bytes, uncompressed size: 3164228 bytes
1167013       0x11CEA5        Squashfs filesystem, little endian, version 4.0,
                              compression:xz, size: 14388306 bytes, 2541 inodes,
                              blocksize: 65536 bytes, created: 2019-07-26 07:51:38
15555328      0xED5B00        gzip compressed data, from Unix, last modified: 2019-07-26
                              07:51:41

ืื™ืฆื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ืขื ื‘ื™ืœื“.

ื‘ื™ืœื“ ื ื™ืฆื˜ ืกื•ื‘ืžืึทืจื™ืŸ ื•ื•ื™ ืึท ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ (ื‘ื™ืœื“ ื›ืขื“ืขืจ ื‘ื™ื™ 0x5AC0 ืื•ืŸ ืึท ืงืึทืžืคึผืจืขืกื˜ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ื‘ื™ืœื“ ื‘ื™ื™ 0x5B00). ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ uImage ื›ืขื“ืขืจ ื‘ื™ื™ 0x13270, ืžื™ืจ ื•ื•ื™ืกืŸ ืึทื– ื“ื™ ืคึผืจืึทืกืขืกืขืจ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื™ื– MIPS ืื•ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื™ื– ื•ื•ืขืจืกื™ืข 3.3.8. ืื•ืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื‘ื™ืœื“ ื’ืขืคื•ื ืขืŸ ืื™ืŸ ื“ื™ ืึทื“ืจืขืก 0x11CEA5, ืžื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืึทื– rootfs ืื™ื– ืึท ื˜ืขืงืข ืกื™ืกื˜ืขื squashfs.

ืœืึธืžื™ืจ ืื™ืฆื˜ ืขืงืกื˜ืจืึทืงื˜ ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ (U-Boot) ื ื™ืฆืŸ ื“ื™ ื‘ืึทืคึฟืขืœ dd:

$ dd if=archer-c7.bin of=u-boot.bin.lzma bs=1 skip=23296 count=41162
41162+0 records in
41162+0 records out
41162 bytes (41 kB, 40 KiB) copied, 0,0939608 s, 438 kB/s

ื–ื™ื ื˜ ื“ื™ ื‘ื™ืœื“ ืื™ื– ืงืึทืžืคึผืจืขืกื˜ ืžื™ื˜ LZMA, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื“ืขืงืึธืžืคึผืจืขืกืก ืขืก:

$ unlzma u-boot.bin.lzma

ืื™ืฆื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท U-Boot ื‘ื™ืœื“:

$ ls -l u-boot.bin
-rw-rw-r-- 1 sprado sprado 97476 Fev  5 08:48 u-boot.bin

ื•ื•ื™ ื•ื•ืขื’ืŸ ื“ืขืจื’ื™ื™ื•ื ื’ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืจื˜ ืคึฟืึทืจ bootargs?

$ strings u-boot.bin | grep bootargs
bootargs
bootargs=console=ttyS0,115200 board=AP152 rootfstype=squashfs init=/etc/preinit mtdparts=spi0.0:128k(factory-uboot),192k(u-boot),64k(ART),1536k(uImage),14464k@0x1e0000(rootfs) mem=128M

ื•-ื‘ืึธืึธื˜ ืกื•ื•ื™ื•ื•ืข ื•ื•ืึทืจื™ืึทื‘ืœืข bootargs ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืคืึธืจืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืฆื• ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ. ืื•ืŸ ืคื•ืŸ ื“ื™ ืื•ื™ื‘ืŸ, ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื‘ืขืกืขืจ ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ื“ื™ ื‘ืœื™ืฅ ื–ื›ึผืจื•ืŸ ืคื•ืŸ ื“ื™ ืžื™ื˜ืœ.

ื•ื•ื™ ื•ื•ืขื’ืŸ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื‘ื™ืœื“?

$ dd if=archer-c7.bin of=uImage bs=1 skip=78448 count=1088572
1088572+0 records in
1088572+0 records out
1088572 bytes (1,1 MB, 1,0 MiB) copied, 1,68628 s, 646 kB/s

ืžื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื“ื™ ื‘ื™ืœื“ ืื™ื– ื™ืงืกื˜ืจืึทืงื˜ื™ื“ ื”ืฆืœื—ื” ืžื™ื˜ ื“ืขื ื‘ืึทืคึฟืขืœ file:

$ file uImage
uImage: u-boot legacy uImage, MIPS OpenWrt Linux-3.3.8, Linux/MIPS, Multi-File Image (lzma), 1088500 bytes, Fri Jul 26 07:46:14 2019, Load Address: 0x80060000, Entry Point: 0x80060000, Header CRC: 0x78A267FF, Data CRC: 0xBB9D4F94

ื“ื™ uImage ื˜ืขืงืข ืคึฟืึธืจืžืึทื˜ ืื™ื– ื‘ื™ื™ืกื™ืงืœื™ ืึท ืœื™ื ื•ืงืก ืงืขืจืŸ ื‘ื™ืœื“ ืžื™ื˜ ืึทืŸ ื ืึธืš ื›ืขื“ืขืจ. ื–ืืœ ืก ืึทืจืึธืคึผื ืขืžืขืŸ ื“ืขื ื›ืขื“ืขืจ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืœืขืฆื˜ ืœื™ื ื•ืงืก ืงืขืจืŸ ื‘ื™ืœื“:

$ dd if=uImage of=Image.lzma bs=1 skip=72
1088500+0 records in
1088500+0 records out
1088500 bytes (1,1 MB, 1,0 MiB) copied, 1,65603 s, 657 kB/s

ื“ืขืจ ื‘ื™ืœื“ ืื™ื– ืงืึทืžืคึผืจืขืกื˜, ืึทื–ื•ื™ ืœืึธื–ืŸ ืื•ื ื“ื– ืึทื ืคึผืึทืง ืขืก:

$ unlzma Image.lzma

ืื™ืฆื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืœื™ื ื•ืงืก ืงืขืจืŸ ื‘ื™ืœื“:

$ ls -la Image
-rw-rw-r-- 1 sprado sprado 3164228 Fev  5 10:51 Image

ื•ื•ืึธืก ืงืขื ืขืŸ ืžื™ืจ ื˜ืึธืŸ ืžื™ื˜ ื“ื™ ืงืขืจืŸ ื‘ื™ืœื“? ืžื™ืจ ืงืขืŸ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื˜ืึธืŸ ืึท ืฉื˜ืจื™ืงืœ ื–ื•ื›ืŸ ืื™ืŸ ื“ื™ ื‘ื™ืœื“ ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื•ืŸ ืœืขืจื ืขืŸ ื•ื•ืขื’ืŸ ื“ื™ ืกื•ื•ื™ื•ื•ืข ื’ืขื ื™ืฆื˜ ืฆื• ื‘ื•ื™ืขืŸ ื“ืขื ืงืขืจืŸ:

$ strings Image | grep "Linux version"
Linux version 3.3.8 (leo@leo-MS-7529) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Mon May 20 18:53:02 CST 2019

ื›ืึธื˜ืฉ ื“ื™ ืคื™ืจืžื•ื•ืึทืจืข ืื™ื– ื‘ืืคืจื™ื™ื˜ ืœืขืฆื˜ืข ื™ืึธืจ (2019), ื•ื•ืขืŸ ืื™ืš ืฉืจื™ื™ึทื‘ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืขืก ืื™ื– ื ื™ืฆืŸ ืึทืŸ ืึทืœื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ (3.3.8) ื‘ืืคืจื™ื™ื˜ ืื™ืŸ 2012, ืงืึทืžืคึผื™ื™ืœื“ ืžื™ื˜ ืึท ื–ื™ื™ืขืจ ืึทืœื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹GCC (4.6) ืื•ื™ืš ื–ื™ื ื˜ 2012 !
(ื‘ืขืขืจืขืš ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ื˜ืึธืŸ ืื™ืจ ื ืึธืš ืฆื•ื˜ืจื•ื™ ื“ื™ื™ืŸ ืจืึธื•ื˜ืขืจืก ืื™ืŸ ื“ื™ ืึธืคื™ืก ืื•ืŸ ืื™ืŸ ืฉื˜ื•ื‘?)

ืžื™ื˜ ืึธืคึผืฆื™ืข --opcodes ืžื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื ื•ืฆืŸ Binwalk ืฆื• ื–ื•ื›ืŸ ืžืึทืฉื™ืŸ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืื•ืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืคึผืจืึทืกืขืกืขืจ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืคื•ืŸ ื“ื™ ื‘ื™ืœื“:

$ binwalk --opcodes Image
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2400          0x960           MIPS instructions, function epilogue
2572          0xA0C           MIPS instructions, function epilogue
2828          0xB0C           MIPS instructions, function epilogue

ื•ื•ืึธืก ื•ื•ืขื’ืŸ ื“ื™ ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขื? ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ ื“ื™ ื‘ื™ืœื“ ืžืึทื ื™ื•ืึทืœื™, ืœืึธื–ืŸ ืื•ื ื“ื– ื ื•ืฆืŸ ื“ื™ ืึธืคึผืฆื™ืข binwalk --extract:

$ binwalk --extract --quiet archer-c7.bin

ื“ื™ ื’ืึทื ืฅ ื•ื•ืึธืจืฆืœ ืคื™ืœืขืกื™ืกื˜ืขื ื•ื•ืขื˜ ื–ื™ื™ืŸ ื™ืงืกื˜ืจืึทืงื˜ื™ื“ ืฆื• ืึท ืกื•ื‘ื“ื™ืจืขืงื˜ืึธืจื™:

$ cd _archer-c7.bin.extracted/squashfs-root/

$ ls
bin  dev  etc  lib  mnt  overlay  proc  rom  root  sbin  sys  tmp  usr  var  www

$ cat etc/banner
     MM           NM                    MMMMMMM          M       M
   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM
  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM
MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM'
MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM
MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM
MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM
MMMM=   MMMM     MMMMM,    NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM
MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM
MMMM=   MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM
MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM
  MMMMMMM:      MMMMMMM     M         MMMMMMMMMMMM  MMMMMMM MMMMMMM
    MMMMMM       MMMMN     M           MMMMMMMMM      MMMM    MMMM
     MMMM          M                    MMMMMMM        M       M
       M
 ---------------------------------------------------------------
   For those about to rock... (%C, %R)
 ---------------------------------------------------------------

ืื™ืฆื˜ ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื–ืื›ืŸ.

ืžื™ืจ ืงืขื ืขืŸ ื–ื•ื›ืŸ ืคึฟืึทืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก, ืคึผืึทืจืึธืœ ื”ืึทืฉืขืก, ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืง ืฉืœื™ืกืœืขืŸ ืื•ืŸ ื“ื™ื’ื™ื˜ืึทืœ ืกืขืจื˜ื™ืคื™ืงืึทืฅ. ืžื™ืจ ืงืขื ืขืŸ ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ื‘ื™ื™ื ืขืจื™ ื˜ืขืงืขืก ืคึฟืึทืจ ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’ ืื•ืŸ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื–.

ื ื™ืฆืŸ ื•ื•ืื• ะธ ื˜ืฉืจืึธืึธื˜ ืžื™ืจ ืงืขื ืขืŸ ืืคื™ืœื• ืœื•ื™ืคืŸ (ืขืžื•ืœื™ืจืŸ) ืึท ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ืคึฟื•ืŸ ื“ื™ ื‘ื™ืœื“:

$ ls
bin  dev  etc  lib  mnt  overlay  proc  rom  root  sbin  sys  tmp  usr  var  www

$ cp /usr/bin/qemu-mips-static .

$ sudo chroot . ./qemu-mips-static bin/busybox
BusyBox v1.19.4 (2019-05-20 18:13:49 CST) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: busybox --list[-full]
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, addgroup, adduser, arping, ash, awk, basename, cat, chgrp, chmod, chown, chroot, clear, cmp, cp, crond, crontab, cut, date, dd, delgroup, deluser, dirname, dmesg, echo, egrep, env, expr, false,
    fgrep, find, free, fsync, grep, gunzip, gzip, halt, head, hexdump, hostid, id, ifconfig, init, insmod, kill, killall, klogd, ln, lock, logger, ls, lsmod, mac_addr, md5sum, mkdir, mkfifo, mknod, mktemp,
    mount, mv, nice, passwd, pgrep, pidof, ping, ping6, pivot_root, poweroff, printf, ps, pwd, readlink, reboot, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep, sort, start-stop-daemon, strings,
    switch_root, sync, sysctl, tail, tar, tee, telnet, test, tftp, time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, watchdog, wc, wget, which, xargs, yes, zcat

ื’ืจื•ื™ืก! ืึธื‘ืขืจ ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– BusyBox ื•ื•ืขืจืกื™ืข ืื™ื– 1.19.4. ื“ืึธืก ืื™ื– ืึท ื–ื™ื™ืขืจ ืึทืœื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹BusyBox, ื‘ืืคืจื™ื™ื˜ ืื™ืŸ ืืคืจื™ืœ 2012.

ืึทื–ื•ื™ TP-Link ืจื™ืœื™ืกื™ื– ืึท ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ืœื“ ืื™ืŸ 2019 ื ื™ืฆืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ (GCC ืžื›ืฉื™ืจื™ื, ืงืขืจืŸ, BusyBox, ืขื˜ืง.) ืคึฟื•ืŸ 2012!

ืื™ืฆื˜ ื˜ืึธืŸ ืื™ืจ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืึธืก ืื™ืš ืฉื˜ืขื ื“ื™ืง ื™ื ืกื˜ืึทืœื™ืจืŸ OpenWRT ืื•ื™ืฃ ืžื™ื™ืŸ ืจืึธื•ื˜ืขืจืก?

ืึทื– ืก 'ื ื™ืฉื˜ ืึทืœืข

ื‘ื™ื ื•ื•ืึทืœืง ืงืขื ืขืŸ ืื•ื™ืš ื“ื•ืจื›ืคื™ืจืŸ ืขื ื˜ืจืึธืคึผื™ ืึทื ืึทืœื™ืกื™ืก, ื“ืจื•ืงืŸ ืจื•ื™ ืขื ื˜ืจืึธืคึผื™ ื“ืึทื˜ืŸ ืื•ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืขื ื˜ืจืึธืคึผื™ ื’ืจืึทืคืก. ื˜ื™ืคึผื™ืงืึทืœืœื™, ื’ืจืขืกืขืจ ืขื ื˜ืจืึธืคึผื™ ืื™ื– ื‘ืืžืขืจืงื˜ ื•ื•ืขืŸ ื“ื™ ื‘ื™ื˜ืขืก ืื™ืŸ ื“ื™ ื‘ื™ืœื“ ื–ืขื ืขืŸ ื˜ืจืึทืค. ื“ืึธืก ืงืขืŸ ืžื™ื™ื ืขืŸ ืึทื– ื“ื™ ื‘ื™ืœื“ ื›ึผื•ืœืœ ืึท ื™ื ืงืจื™ืคึผื˜ื™ื“, ืงืึทืžืคึผืจืขืกื˜ ืึธื“ืขืจ ืึทื‘ืคื•ืกืงื™ื™ื˜ื™ื“ ื˜ืขืงืข. ื›ืึทืจื“ืงืึธืจ ืขื ืงืจื™ืคึผืฉืึทืŸ ืฉืœื™ืกืœ? ืคืืจื•ื•ืืก ื ื™ืฉื˜.

ืคืึทืจืงืขืจื˜ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืึท ื”ื™ื™ื ืจืึทื•ื˜ืขืจ ื ื™ืฆืŸ ื‘ื™ื ื•ื•ืึทืœืง. ืฆื™ ืื™ืจ ืฆื•ื˜ืจื•ื™ ื“ื™ื™ืŸ ืจืึทื•ื˜ืขืจ ื•ื•ื™ื™ื›ื•ื•ืืจื’?

ืžื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื ื•ืฆืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ --raw ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืึท ืžื ื”ื’ ืจื•ื™ ื‘ื™ื™ื˜ ืกื™ืงื•ื•ืึทื ืก ืื™ืŸ ืึท ื‘ื™ืœื“ ืึธื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ --hexdump ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืึท ื”ืขืงืก ื“ืึทืžืคึผ ืงืึทืžืคึผืขืจื™ื ื’ ืฆื•ื•ื™ื™ ืึธื“ืขืจ ืžืขืจ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื˜ืขืงืขืก.

ืžื ื”ื’ ืกื™ื’ื ืึทื˜ืฉืขืจื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืฆื• ื‘ื™ื ื•ื•ืึทืœืง ืึธื“ืขืจ ื“ื•ืจืš ืึท ืžื ื”ื’ ื›ืกื™ืžืข ื˜ืขืงืข ืกืคึผืขืกื™ืคื™ืขื“ ืื•ื™ืฃ ื“ื™ ื‘ืึทืคึฟืขืœ ืฉื•ืจื” ื ื™ืฆืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ --magic, ืึธื“ืขืจ ื“ื•ืจืš ืึทื“ื™ื ื’ ื–ื™ื™ ืฆื• ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ $ HOME / .config / binwalk / magic.

ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื‘ื™ื ื•ื•ืึทืœืง ื‘ื™ื™ ื‘ืึทืึทืžื˜ืขืจ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

ื‘ื™ื ื•ื•ืึทืœืง ื’ืขืฉืคึผืจื™ื™ื˜

ื“ืึธืจื˜ API binwalk, ื™ืžืคึผืœืึทืžืขื ืึทื“ ื•ื•ื™ ืึท ืคึผื™ื˜ื”ืึธืŸ ืžืึธื“ื•ืœืข ื•ื•ืึธืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ื“ื•ืจืš ืงื™ื™ืŸ ืคึผื™ื˜ื”ืึธืŸ ืฉืจื™ืคื˜ ืฆื• ืคึผืจืึธื’ืจืึทืžืžืึทื˜ื™ืงืึทืœืœื™ ื“ื•ืจื›ืคื™ืจืŸ ืึท binwalk ื™ื‘ืขืจืงื•ืงืŸ, ืื•ืŸ ื“ื™ binwalk ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ื ื•ืฆืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื›ึผืžืขื˜ ื’ืึธืจ ื“ื•ืคึผืœื™ืงื™ื™ื˜ื™ื“ ืžื™ื˜ ื‘ืœื•ื™ื– ืฆื•ื•ื™ื™ ืฉื•ืจื•ืช ืคื•ืŸ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื“!

import binwalk
binwalk.scan()

ื ื™ืฆืŸ ื“ื™ Python API ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืฉืึทืคึฟืŸ ืคึผื™ื˜ื”ืึธืŸ ืคึผืœื•ื’ื™ื ืก ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืื•ืŸ ื™ืงืกืคึผืึทื ื“ ื‘ื™ื ื•ื•ืึทืœืง.

ืขืก ืื™ื– ืื•ื™ืš IDA ืคึผืœื•ื’ื™ืŸ ืื•ืŸ ื•ื•ืึธืœืงืŸ ื•ื•ืขืจืกื™ืข Binwalk Pro.

ืึทื–ื•ื™ ืคืืจื•ื•ืืก ื˜ืึธืŸ ื ื™ื˜ ืืจืืคืงืืคื™ืข ื“ื™ ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ืœื“ ืคื•ืŸ ื“ื™ ืื™ื ื˜ืขืจื ืขื˜ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ Binwalk? ืื™ืš ืฆื•ื–ืึธื’ ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืฉืคึผืึทืก :)

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’