เดฌเดฟเตปเดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดนเต‹เด‚ เดฑเต‚เดŸเตเดŸเตผ เดฑเดฟเดตเต‡เดดเตเดธเต เดŽเดžเตเดšเดฟเดจเต€เดฏเดฑเดฟเด‚เด—เต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฑเต‚เดŸเตเดŸเตผ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเดฟเดจเต† เดจเดฟเด™เตเด™เตพ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹?

เดฌเดฟเตปเดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดนเต‹เด‚ เดฑเต‚เดŸเตเดŸเตผ เดฑเดฟเดตเต‡เดดเตเดธเต เดŽเดžเตเดšเดฟเดจเต€เดฏเดฑเดฟเด‚เด—เต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฑเต‚เดŸเตเดŸเตผ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเดฟเดจเต† เดจเดฟเด™เตเด™เตพ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹?

เด•เตเดฑเดšเตเดšเต เดฆเดฟเดตเดธเด™เตเด™เตพเด•เตเด•เต เดฎเตเดฎเตเดชเต, เดฌเดฟเตปเดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเตปเตเดฑเต† เดฑเต‚เดŸเตเดŸเดฑเดฟเตปเตเดฑเต† เดซเต‡เด‚เดตเต†เดฏเตผ เดฑเดฟเดตเต‡เดดเตเดธเต เดŽเดžเตเดšเดฟเดจเต€เดฏเตผ เดšเต†เดฏเตเดฏเดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต.

เดžเดพเตป เดคเดจเตเดจเต† เดตเดพเด™เตเด™เดฟ TP-Link Archer C7 เดนเต‹เด‚ เดฑเต‚เดŸเตเดŸเตผ. เดฎเดฟเด•เดšเตเดš เดฑเต‚เดŸเตเดŸเตผ เด…เดฒเตเดฒ, เดชเด•เตเดทเต‡ เดŽเตปเตเดฑเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต เดฎเดคเดฟ.

เดžเดพเตป เด’เดฐเต เดชเตเดคเดฟเดฏ เดฑเต‚เดŸเตเดŸเตผ เดตเดพเด™เตเด™เตเดฎเตเดชเต‹เดดเต†เดฒเตเดฒเดพเด‚ เดžเดพเตป เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต OpenWRT. เดŽเดจเตเดคเดฟเดจเตเดตเต‡เดฃเตเดŸเดฟ? เดšเดŸเตเดŸเด‚ เดชเต‹เดฒเต†, เดจเดฟเตผเดฎเตเดฎเดพเดคเดพเด•เตเด•เตพ เด…เดตเดฐเตเดŸเต† เดฑเต‚เดŸเตเดŸเดฑเตเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดถเตเดฐเดฆเตเดง เดšเต†เดฒเตเดคเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ, เด•เดพเดฒเด•เตเดฐเดฎเต‡เดฃ เดธเต‹เดซเตเดฑเตเดฑเตเดตเต†เดฏเตผ เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฏเดฟเดคเตเดคเต€เดฐเตเดจเตเดจเต, เด•เต‡เดŸเตเดชเดพเดŸเตเด•เตพ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดชเตŠเดคเตเดตเต‡, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดถเดฏเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚. เด…เดคเดฟเดจเดพเตฝ, เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดจเดจเตเดจเดพเดฏเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ OpenWRT เดซเต‡เด‚เดตเต†เดฏเดฑเดพเดฃเต เดžเดพเตป เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต.

OpenWRT เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดคเตเด•เดดเดฟเดžเตเดžเดพเตฝ, เดžเดพเดจเตเด‚ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดซเต‡เด‚เดตเต†เดฏเตผ เดšเดฟเดคเตเดฐเด‚ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดคเต เด”เดฆเตเดฏเต‹เด—เดฟเด• เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเตปเตเดฑเต† เดชเตเดคเดฟเดฏ เด†เตผเดšเตเดšเตผ C7-เดจเต เด•เต€เดดเดฟเตฝ เด…เดคเต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดคเดฟเด•เดšเตเดšเตเด‚ เดตเดฟเดจเต‹เดฆเดคเตเดคเดฟเดจเตเด‚ เดฌเดฟเตปเดตเดพเด•เตเด•เดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเดพเดฃเต.

เดŽเดจเตเดคเดพเดฃเต เดฌเดฟเตปเดตเดพเด•เตเด•เต?

เดฌเดฟเตปเดตเดพเด•เตเด•เต เดตเดฟเดถเด•เดฒเดจเด‚, เดฑเดฟเดตเต‡เดดเตเดธเต เดŽเดžเตเดšเดฟเดจเต€เดฏเดฑเดฟเด‚เด—เต, เดซเต‡เด‚เดตเต†เดฏเตผ เด‡เดฎเต‡เดœเต เดŽเด•เตเดธเตเดŸเตเดฐเดพเด•เตเดทเตป เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เดŸเต‚เดณเดพเดฃเต.

2010-เตฝ Craig Heffner เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเต, binwalk-เดจเต เดซเต‡เด‚เดตเต†เดฏเตผ เด‡เดฎเต‡เดœเตเด•เตพ เดธเตเด•เดพเตป เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดซเดฏเดฒเตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเตเด‚ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เดฎเต‡เดœเตเด•เตพ, เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเดฌเดฟเตพ เด•เต‹เดกเต, เด•เด‚เดชเตเดฐเดธเต เดšเต†เดฏเตเดค เด†เตผเด•เตเด•เตˆเดตเตเด•เตพ, เดฌเต‚เดŸเตเดŸเตเดฒเต‹เดกเดฑเตเด•เดณเตเด‚ เด•เต‡เตผเดฃเดฒเตเด•เดณเตเด‚, JPEG, PDF เดชเต‹เดฒเตเดณเตเดณ เดซเดฏเตฝ เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เด…เดคเดฟเดฒเต‡เดฑเต†เดฏเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดซเต‡เด‚เดตเต†เดฏเตผ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดฑเดฟเดตเต‡เดดเตเดธเต เดŽเตปเดœเดฟเดจเต€เดฏเตผ เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเดฟเตปเดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เด•เต‡เดŸเตเดชเดพเดŸเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดฌเตˆเดจเดฑเดฟ เดซเดฏเดฒเตเด•เตพ เดคเดฟเดฐเดฏเตเด•, เดซเดฏเดฒเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•, เดฌเดพเด•เตเด•เตโ€Œเดกเต‹เดฑเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดกเดฟเดœเดฟเดฑเตเดฑเตฝ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดจเต‹เด•เตเด•เตเด•. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ opcodes เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค CPU-เด•เตพเด•เตเด•เดพเดฏเดฟ.

เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดซเดฏเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ (passwd, shadow, เดฎเตเดคเดฒเดพเดฏเดต) เดคเดฟเดฐเดฏเดพเดจเตเด‚ เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดนเดพเดทเตเด•เตพ เดคเด•เตผเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เดฎเต‡เดœเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚. เดฐเดฃเตเดŸเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดซเดฏเดฒเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเตˆเดจเดฑเดฟ เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต เดจเดŸเดคเตเดคเดพเด‚. เด•เด‚เดชเตเดฐเดธเต เดšเต†เดฏเตเดค เดกเดพเดฑเตเดฑ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดค เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เด•เต€เด•เตพเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดŽเตปเดŸเตเดฐเต‹เดชเตเดชเดฟ เดตเดฟเดถเด•เดฒเดจเด‚ เดจเดŸเดคเตเดคเดพเด‚. เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเต† เด‡เดคเต†เดฒเตเดฒเดพเด‚.

เดชเตŠเดคเตเดตเต‡, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต†เดฒเตเดฒเดพเด‚ เด…เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต :)

เดฌเดฟเตปเดตเดพเด•เตเด•เต เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต?

เดฌเดฟเตปเดตเดพเด•เตเด•เดฟเตปเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเต‡เดทเดค เด…เดคเดฟเตปเตเดฑเต† เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดธเตเด•เดพเดจเดฟเด‚เด—เต เด†เดฃเต. เดตเดฟเดตเดฟเดง เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดซเดฏเตฝ เดคเดฐเด™เตเด™เดณเตเด‚ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเตเด‚ เดคเดฟเดฐเดฏเดพเตป 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 เดซเดฏเดฒเดพเดฃเต†เดจเตเดจเต เด…เดคเดฟเดจเต เด…เดฑเดฟเดฏเดพเด‚. เด“เตบ เดตเดฟเด•เตเด•เดฟเดชเต€เดกเดฟเดฏ เดธเดพเดงเดพเดฐเดฃ เดซเดฏเตฝ เด’เดชเตเดชเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เด‰เดฃเตเดŸเต.

Binwalk เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดซเดฏเดฒเดฟเตปเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เด’เดชเตเดชเต เดจเต‹เด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚, เดฌเดฟเตปเดตเดพเด•เตเด•เต เดฎเตเดดเตเดตเตป เดซเดฏเดฒเตเด‚ เดธเตเด•เดพเตป เดšเต†เดฏเตเดฏเตเด‚. เด•เต‚เดŸเดพเดคเต†, เดฌเดฟเตปเดตเดพเด•เตเด•เดฟเดจเต เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เด•เดพเดฃเตเดจเตเดจ เดซเดฏเดฒเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚.

เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ file ะธ binwalk เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• libmagic เดซเดฏเตฝ เด’เดชเตเดชเตเด•เตพ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป. เดชเด•เตเดทเต‡ binwalk เด•เด‚เดชเตเดฐเดธเต เดšเต†เดฏเตโ€Œเดค/เดธเดฟเดชเตเดชเต เดšเต†เดฏเตโ€Œเดค เดซเดฏเดฒเตเด•เตพ, เดซเต‡เด‚เดตเต†เดฏเตผ เดนเต†เดกเดฑเตเด•เตพ, เดฒเดฟเดจเด•เตโ€Œเดธเต เด•เต‡เตผเดฃเดฒเตเด•เตพ, เดฌเต‚เดŸเตเดŸเตโ€Œเดฒเต‹เดกเดฑเตเด•เตพ, เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเด‚เดธเต เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดฎเดพเดœเดฟเด•เต เดธเดฟเด—เตโ€Œเดจเต‡เดšเตเดšเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตโ€Œเดฑเตเดฑเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต.

เดจเดฎเตเด•เตเด•เต เด•เตเดฑเดšเตเดšเต เด†เดธเตเดตเดฆเดฟเด•เตเด•เดพเด‚?

เดฌเดฟเตปเดตเดพเด•เตเด•เต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป

Linux, 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). 0x13270-เดฒเต† uImage เดนเต†เดกเดฑเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เดชเตเดฐเต‹เดธเดธเตเดธเตผ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ 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

เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดฏเต-เดฌเต‚เดŸเตเดŸเต เด‡เดฎเต‡เดœเต เด‰เดฃเตเดŸเต:

$ 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) เดชเดดเดฏ เดชเดคเดฟเดชเตเดชเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต, เดœเดฟเดธเดฟเดธเดฟเดฏเตเดŸเต† (4.6) เดตเดณเดฐเต† เดชเดดเดฏ เดชเดคเดฟเดชเตเดชเต 2012 เดฎเตเดคเตฝ เดธเดฎเดพเดนเดฐเดฟเดšเตเดšเดคเดพเดฃเต. !
(เดเด•เดฆเต‡เดถเด‚ เดตเดฟเดตเตผเดคเตเดคเดจเด‚. เด“เดซเต€เดธเดฟเดฒเตเด‚ เดตเต€เดŸเตเดŸเดฟเดฒเตเดฎเตเดณเตเดณ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฑเต‚เดŸเตเดŸเดฑเตเด•เดณเต† เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹?)

เด“เดชเตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต --opcodes เดฎเต†เดทเต€เตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดจเต‹เด•เตเด•เดพเดจเตเด‚ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตปเตเดฑเต† เดชเตเดฐเต‹เดธเดธเตผ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เดฌเดฟเตปเดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚:

$ 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, เด’เดฐเต เดชเตˆเดคเตเดคเตบ เดฎเตŠเดกเตเดฏเต‚เดณเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เด’เดฐเต เดฌเดฟเตปเดตเดพเด•เตเด•เต เดธเตเด•เดพเตป เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดเดคเตŠเดฐเต เดชเตˆเดคเตเดคเตบ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเดพเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดฌเดฟเตปเดตเดพเด•เตเด•เต เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเตปเตเดฑเต† เดฐเดฃเตเดŸเต เดตเดฐเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดกเตเดฏเต‚เดชเตเดฒเดฟเด•เตเด•เต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚!

import binwalk
binwalk.scan()

เดชเตˆเดคเตเดคเตบ API เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ เดชเตˆเดคเตเดคเตบ เดชเตเดฒเด—เดฟเดจเตเด•เตพ เดฌเดฟเตปเดตเดพเด•เตเด•เต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚.

เด…เดตเดฟเดŸเต†เดฏเตเด‚ เด‰เดฃเตเดŸเต IDA เดชเตเดฒเด—เดฟเตป เด’เดชเตเดชเด‚ เด•เตเดฒเต—เดกเต เดชเดคเดฟเดชเตเดชเตเด‚ เดฌเดฟเตปเดตเดพเด•เตเด•เต เดชเตเดฐเต‹.

เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด‡เตปเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเต‡เด‚เดตเต†เดฏเตผ เด‡เดฎเต‡เดœเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดคเต เดฌเดฟเตปเดตเดพเด•เตเด•เต เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเตเด•เต‚เดŸเดพ? เดจเดฟเด™เตเด™เตพ เด’เดฐเตเดชเดพเดŸเต เด†เดธเตเดตเดฆเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต :)

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•