āĻāĻ¯āĻŧā§āĻāĻĻāĻŋāĻ¨ āĻāĻā§, āĻāĻŽāĻŋ binwalk āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻžāĻ° āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¸ āĻāĻā§āĻāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤
āĻāĻŽāĻŋ āĻ¨āĻŋāĻā§āĻ āĻāĻŋāĻ¨ā§āĻāĻŋ
āĻāĻŽāĻŋ āĻ¯āĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻŋāĻ¨āĻŋ, āĻāĻŽāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŋ
āĻāĻŽāĻŋ āĻ¨āĻŋāĻā§āĻ OpenWRT āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒāĻ°
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻ āĻāĻŋ?
āĻā§āĻ°ā§āĻ āĻšā§āĻĢāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž 2010 āĻ¸āĻžāĻ˛ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻ āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŽā§āĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻŦāĻŋ, āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻā§āĻĄ, āĻāĻŽāĻĒā§āĻ°ā§āĻ¸āĻĄ āĻāĻ°ā§āĻāĻžāĻāĻ, āĻŦā§āĻāĻ˛ā§āĻĄāĻžāĻ° āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛, āĻĢāĻžāĻāĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ āĻ¯ā§āĻŽāĻ¨ JPEG āĻāĻŦāĻ PDF āĻāĻŦāĻ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻŋ binwalk āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨, āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻŦā§āĻ° āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻžāĻāĻĄā§āĻ° āĻŦāĻž āĻĄāĻŋāĻāĻŋāĻāĻžāĻ˛ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ā§ˇ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ āĻ¯āĻžāĻŦā§ opcodes
āĻāĻāĻā§āĻā§āĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ CPU-āĻāĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĢāĻžāĻāĻ˛ (passwd, shadow, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) āĻā§āĻāĻāĻ¤ā§ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻŦāĻŋ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšā§āĻ¯āĻžāĻļ āĻāĻžāĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻ āĻŦāĻž āĻ¤āĻ¤ā§āĻ§āĻŋāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻĄā§āĻāĻž āĻŦāĻž āĻāĻ¨āĻā§āĻĄā§āĻĄ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻā§āĻā§āĻ˛āĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĄā§āĻāĻž āĻāĻ¨āĻā§āĻ°āĻĒāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¨āĻž āĻāĻ°ā§āĻ āĻāĻ āĻ¸āĻŦāĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¤āĻž āĻāĻā§ đ
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§?
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻā§āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻ˛ āĻāĻ° āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨āĻŋāĻāĨ¤ āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛ āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻāĻžāĻ¨ā§āĻ¨? 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
āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻŋāĻ¤/āĻāĻŋāĻĒ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛, āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ, āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛, āĻŦā§āĻāĻ˛ā§āĻĄāĻžāĻ°, āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¸ā§āĻāĻŽ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻŽāĻāĻž āĻāĻ°āĻŋ?
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸, āĻāĻāĻ¸āĻāĻā§āĻ¸, āĻĢā§āĻ°āĻŋāĻŦāĻŋāĻāĻ¸āĻĄāĻŋ āĻāĻŦāĻ āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ¸āĻš āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻā§āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻŦāĻŋāĻ¨āĻāĻ¯āĻŧāĻžāĻā§āĻ° āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§:
$ 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
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¨ āĻāĻāĻāĻŋ U-Bot āĻāĻŋāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§āĻā§:
$ 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
U-āĻŦā§āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ 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 āĻ¸āĻžāĻ˛ āĻĨā§āĻā§ GCC (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
.
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻžāĻ¨ā§ binwalk āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
binwalk āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨
āĻ¸ā§āĻāĻžāĻ¨ā§
import binwalk
binwalk.scan()
Python API āĻāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§ āĻāĻĒāĻ¨āĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨
āĻ¤āĻžāĻšāĻ˛ā§ āĻā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĨā§āĻā§ āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŽā§āĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻāĻŦāĻ binwalk āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž? āĻāĻŽāĻŋ āĻāĻĨāĻž āĻĻāĻŋāĻā§āĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ āĻŽāĻāĻž āĻĒāĻžāĻŦā§āĻ¨ đ
āĻāĻ¤ā§āĻ¸: www.habr.com