diff --git a/.gitignore b/.gitignore index e69de29..567609b 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/src/binwalk/magic/compressed b/src/binwalk/magic/compressed index 06c4571..a969cc7 100644 --- a/src/binwalk/magic/compressed +++ b/src/binwalk/magic/compressed @@ -92,7 +92,7 @@ >7 byte x \b.%d # standard unix compress -# Disabled until a python alternative can be foudn for the compress binwalk plugin. +# Disabled until a python alternative can be found for the compress binwalk plugin. #0 string \x1f\x9d\x90 compress'd data, 16 bits # http://tukaani.org/xz/xz-file-format.txt diff --git a/src/binwalk/magic/ecos b/src/binwalk/magic/ecos index 9c294f4..74e6bd5 100644 --- a/src/binwalk/magic/ecos +++ b/src/binwalk/magic/ecos @@ -1,3 +1,11 @@ +# Simple eCos string signatures +0 string ecos eCos RTOS string reference: +>0 string x "%s" +0 string eCos eCos RTOS string reference: +>0 string x "%s" +0 string ECOS eCos RTOS string reference: +>0 string x "%s" + # eCos kernel exception handlers # # mfc0 $k0, Cause # Cause of last exception diff --git a/src/binwalk/magic/filesystems b/src/binwalk/magic/filesystems index 0425d28..a8e07e7 100644 --- a/src/binwalk/magic/filesystems +++ b/src/binwalk/magic/filesystems @@ -590,7 +590,9 @@ >>4 lelong&0x100 0x100 mode 3 >4 lelong&0xFFFFFF00 !0 unknown mode {invalid} -18 string WDK\x202.0\x00 WDK file system, version 2.0 +18 string WDK\x202.0\x00 WDK file system, version 2.0, +>11 byte !0 %d files, +>4 bedate !0 Last modified %s GMT 32769 string CD001 ISO >6144 string !NSR0 9660 CD-ROM filesystem data, diff --git a/src/binwalk/magic/firmware b/src/binwalk/magic/firmware index 54580f0..e84c10d 100644 --- a/src/binwalk/magic/firmware +++ b/src/binwalk/magic/firmware @@ -260,8 +260,8 @@ # # Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de> -# Useless until forther improvements can be made to the signature. -#0 string S0 Motorola S-Record; binary data in text format +# Improved by Martin Sundhaug <martinsundhaug@gmail.com> +0 regex (S[0-35-9]([0-9A-F]{4})([0-9A-F]{2})+\n)+ Motorola S-Record; binary data in text format #Windows CE Binary Image Data Format aka B000FF #More information on the format: @@ -446,9 +446,12 @@ # Found in DIR-100 firmware 0 string AIH0 AIH0 firmware header, header size: 48, ->12 belong x size: %d, ->8 belong !0 executable code, ->>8 belong x load address: 0x%X, +>12 ubelong 0 {invalid} +>12 ubelong+48 x {size:%d} +>12 ubelong+48 x size: %d, +>8 ubelong !0 executable code, +>>8 ubelong&3 !0 {invalid} +>>8 ubelong x load address: 0x%X, >32 string x version: "%s" 0 belong 0x5EA3A417 SEAMA firmware header, big endian, @@ -497,7 +500,7 @@ >44 belong x size: %d, >48 ubelong x crc: 0x%.8X, >35 byte x try decryption tool from: ->35 byte x http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/Misc/ +>35 byte x http://web.archive.org/web/20130929103301/http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/Misc/ # http://android.stackexchange.com/questions/23357/\ # is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\ @@ -516,14 +519,6 @@ 0 string Cobalt\ Networks\ Inc.\nFirmware\ v Paged Sun/COBALT boot rom, >38 string x version: "%.4s" -# Simple eCos string signatures -0 string ecos eCos RTOS string reference: ->0 string x "%s" -0 string eCos eCos RTOS string reference: ->0 string x "%s" -0 string ECOS eCos RTOS string reference: ->0 string x "%s" - # ZyXEL config signatures 6 string dbgarea ZyXEL rom-0 configuration block, name: "%s", >16 ubeshort x compressed size: %d, @@ -760,3 +755,5 @@ >56 ulelong x \b, oem_num_root_certs: %u +# Intel HEX +0 regex (\:([0-9A-F]{2}){5,}\n)+ Intel HEX diff --git a/src/binwalk/modules/extractor.py b/src/binwalk/modules/extractor.py index 4a9f3eb..03bb7a2 100644 --- a/src/binwalk/modules/extractor.py +++ b/src/binwalk/modules/extractor.py @@ -784,7 +784,7 @@ class Extractor(Module): except KeyboardInterrupt as e: raise e except Exception as e: - binwalk.core.common.warning("Extractor.execute failed to run external extractor '%s': %s" % (str(cmd), str(e))) + binwalk.core.common.warning("Extractor.execute failed to run external extractor '%s': %s, '%s' might not be installed correctly" % (str(cmd), str(e), str(cmd))) retval = None if tmp is not None: