Commit 54048395 by devttys0

Added UBIFS superblock signature and extraction rule

parent 5249ca89
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
#^wdk file system:wdk:/opt/firmware-mod-kit/src/firmware-tools/unwdk.py '%e' #^wdk file system:wdk:/opt/firmware-mod-kit/src/firmware-tools/unwdk.py '%e'
# Extract, but don't run anything # Extract, but don't run anything
^ubifs filesystem:ubi
private key:key private key:key
certificate:crt certificate:crt
html document header:html html document header:html
......
...@@ -105,40 +105,43 @@ ...@@ -105,40 +105,43 @@
>4 belong x {jump:%u} >4 belong x {jump:%u}
>4 belong x {size:%u} >4 belong x {size:%u}
# Tentative UbiFS signature; needs more parsing and better validation # TODO: Validate flags field.
# Add signatures for other node types so that they can be skipped
# and we don't print out a ton of stuff internal to each node.
# http://lxr.free-electrons.com/source/fs/ubifs/ubifs-media.h # http://lxr.free-electrons.com/source/fs/ubifs/ubifs-media.h
0 lelong 0x06101831 UBIFS filesystem, superblock node, 0 lelong 0x06101831 UBIFS filesystem, superblock node,
>20 ubyte !6 {invalid} # Only look for the superblock node >20 ubyte !6 {invalid} # Only look for the superblock node
>4 lelong x CRC: 0x%X, >4 ulelong x CRC: 0x%X,
>8 lequad x sqnum: %ld, #>8 lequad x sqnum: %ld,
>16 lelong x node length: %d,{size:%d}{jump:%d} #>16 lelong x node length: %d,{size:%d}{jump:%d}
>20 ubyte x node type: %d, #>20 ubyte x node type: %d,
>21 ubyte x group type: %d, #>21 ubyte x group type: %d,
>22 lelong !0 invalid padding,{invalid} >22 lelong !0 invalid padding,{invalid}
>26 byte x key hash: 0x%X, #>26 byte x key hash: 0x%X,
>27 byte x key format: 0x%X, #>27 byte x key format: 0x%X,
>28 lelong x flags: 0x%X, >28 lelong x flags: 0x%X,
>32 lelong x minimum I/O unit size: %d, >32 lelong x min I/O unit size: %d,
>36 lelong x logical erase block size: %d, >36 lelong x erase block size: %d,
>40 lelong x number of logical erase blocks: %d, >40 lelong x erase block count: %d,
>44 lelong x maximum number of erase blocks: %d, >44 lelong x max erase blocks: %d,
>48 lelong x maximum data stored in buds: %d, #>48 lelong x maximum data stored in buds: %d,
>52 lelong x erase block log size: %d, #>52 lelong x erase block log size: %d,
>56 lelong x LEBs used for lprops table: %d, #>56 lelong x LEBs used for lprops table: %d,
>60 lelong x LEBs used for recording orphans: %d, #>60 lelong x LEBs used for recording orphans: %d,
>64 lelong x journal head count: %d, #>64 lelong x journal head count: %d,
>68 lelong x maximum number of links per indexing node: %d, #>68 lelong x maximum number of links per indexing node: %d,
>72 lelong x number of LEBs in LPT's save table: %d, #>72 lelong x number of LEBs in LPT's save table: %d,
>76 lelong x UBIFS on-flash format version: %d, >76 lelong x format version: %d
>80 leshort x default compression type: 0x%X, #>80 leshort x default compression type: 0x%X,
>80 leshort !4 invalid compression,{invalid}
>82 leshort !0 invalid padding,{invalid} >82 leshort !0 invalid padding,{invalid}
>84 lelong x reserve pool UID: %d, #>84 lelong x reserve pool UID: %d,
>88 lelong x reserve pool GID: %d, #>88 lelong x reserve pool GID: %d,
>92 lequad x reserve pool size: %ld, #>92 lequad x reserve pool size: %ld,
>100 lelong x time granularity in nanoseconds: %d, #>100 lelong x time granularity in nanoseconds: %d,
>104 lequad x UUID: 0x%X #>104 ulequad x UUID: 0x%X
>112 lequad x \b%X, #>112 ulequad x \b%X
>120 lelong x UBIFS R/O compatibility version: %d #>120 lelong x UBIFS R/O compatibility version: %d
>124 string !\x00*3968 invalid padding{invalid} >124 string !\x00*3968 invalid padding{invalid}
# JFFS2 file system # JFFS2 file system
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
# from other GDBM files. # from other GDBM files.
# #
# Version 2 used this format: # Version 2 used this format:
0 string **\x20This\x20file\x20contains\x20an\x20SQLite SQLite 2.x database 0 string \x2A\x2A\x20This\x20file\x20contains\x20an\x20SQLite SQLite 2.x database
# Version 3 of SQLite allows applications to embed their own "user version" # Version 3 of SQLite allows applications to embed their own "user version"
# number in the database. Detect this and distinguish those files. # number in the database. Detect this and distinguish those files.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment