Commit 46ac01e1 by devttys0

Magic file restructuring; added --base option

parent 9b505a7b
...@@ -393,8 +393,12 @@ class Module(object): ...@@ -393,8 +393,12 @@ class Module(object):
if r is None: if r is None:
r = Result(**kwargs) r = Result(**kwargs)
# Add the name of the current module to the result
r.module = self.__class__.__name__ r.module = self.__class__.__name__
# Add any specified base address to the reported offset
r.offset += self.config.base
# Any module that is reporting results, valid or not, should be marked as enabled # Any module that is reporting results, valid or not, should be marked as enabled
if not self.enabled: if not self.enabled:
self.enabled = True self.enabled = True
......
# Base64 index tables # Base64 index tables
0 string ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ Standard base64 index table 0 string ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ Standard base64 index table
0 string ACEGIKMOQSUWYBDFHJLNPRTVXZacegikmoqsuwybdfhjlnprtvxz0246813579=+/ SerComm base64 index table 0 string ACEGIKMOQSUWYBDFHJLNPRTVXZacegikmoqsuwybdfhjlnprtvxz0246813579=+/ SerComm base64 index table
# CRC32 polynomial table
0 string \x00\x00\x00\x00\x77\x07\x30\x96\xEE\x0E\x61\x2C\x99\x09\x51\xBA CRC32 polynomial table, big endian
0 string \x00\x00\x00\x00\x96\x30\x07\x77\x2C\x61\x0E\xEE\xBA\x51\x09\x99 CRC32 polynomial table, little endian
...@@ -582,202 +582,3 @@ ...@@ -582,202 +582,3 @@
>>&23 string x "%s" >>&23 string x "%s"
>>(&0.L+4) belong x \b, file size: %d bytes >>(&0.L+4) belong x \b, file size: %d bytes
# Signatures to identify the start of a VxWorks symbol table
8 string \x00\x00\x05\x00\x00\x00\x00\x00 VxWorks symbol table, big endian,
>4 belong 0 {invalid}
>4 ubelong x first entry: [type: function, code address: 0x%X,
>0 belong 0 {invalid}
>0 ubelong x symbol address: 0x%X]{once}
>24 belong !0x500
>>24 belong !0x700
>>>24 belong !0x900 \b, {invalid}
>40 belong !0x500
>>40 belong !0x700
>>>40 belong !0x900 \b, {invalid}
>56 belong !0x500
>>56 belong !0x700
>>>56 belong !0x900 \b, {invalid}
>72 belong !0x500
>>72 belong !0x700
>>>72 belong !0x900 \b, {invalid}
>88 belong !0x500
>>88 belong !0x700
>>>88 belong !0x900 \b, {invalid}
>104 belong !0x500
>>104 belong !0x700
>>>104 belong !0x900 \b, {invalid}
>120 belong !0x500
>>120 belong !0x700
>>>120 belong !0x900 \b, {invalid}
>136 belong !0x500
>>136 belong !0x700
>>>136 belong !0x900 \b, {invalid}
>152 belong !0x500
>>152 belong !0x700
>>>152 belong !0x900 \b, {invalid}
8 string \x00\x00\x07\x00\x00\x00\x00\x00 VxWorks symbol table, big endian,
>4 belong 0 {invalid}
>4 ubelong x first entry: [type: initialized data, code address: 0x%X,
>0 belong 0 {invalid}
>0 ubelong x symbol address: 0x%X]{once}
>24 belong !0x500
>>24 belong !0x700
>>>24 belong !0x900 \b, {invalid}
>40 belong !0x500
>>40 belong !0x700
>>>40 belong !0x900 \b, {invalid}
>56 belong !0x500
>>56 belong !0x700
>>>56 belong !0x900 \b, {invalid}
>72 belong !0x500
>>72 belong !0x700
>>>72 belong !0x900 \b, {invalid}
>88 belong !0x500
>>88 belong !0x700
>>>88 belong !0x900 \b, {invalid}
>104 belong !0x500
>>104 belong !0x700
>>>104 belong !0x900 \b, {invalid}
>120 belong !0x500
>>120 belong !0x700
>>>120 belong !0x900 \b, {invalid}
>136 belong !0x500
>>136 belong !0x700
>>>136 belong !0x900 \b, {invalid}
>152 belong !0x500
>>152 belong !0x700
>>>152 belong !0x900 \b, {invalid}
8 string \x00\x00\x09\x00\x00\x00\x00\x00 VxWorks symbol table, big endian,
>4 belong 0 {invalid}
>4 ubelong x first entry: [type: uninitialized data, code address: 0x%X,
>0 belong 0 {invalid}
>0 ubelong x symbol address: 0x%X]{once}
>24 belong !0x500
>>24 belong !0x700
>>>24 belong !0x900 \b, {invalid}
>40 belong !0x500
>>40 belong !0x700
>>>40 belong !0x900 \b, {invalid}
>56 belong !0x500
>>56 belong !0x700
>>>56 belong !0x900 \b, {invalid}
>72 belong !0x500
>>72 belong !0x700
>>>72 belong !0x900 \b, {invalid}
>88 belong !0x500
>>88 belong !0x700
>>>88 belong !0x900 \b, {invalid}
>104 belong !0x500
>>104 belong !0x700
>>>104 belong !0x900 \b, {invalid}
>120 belong !0x500
>>120 belong !0x700
>>>120 belong !0x900 \b, {invalid}
>136 belong !0x500
>>136 belong !0x700
>>>136 belong !0x900 \b, {invalid}
>152 belong !0x500
>>152 belong !0x700
>>>152 belong !0x900 \b, {invalid}
8 string \x00\x05\x00\x00\x00\x00\x00\x00 VxWorks symbol table, little endian,
>4 lelong 0 {invalid}
>4 ulelong x first entry: [type: function, code address: 0x%X,
>0 lelong 0 {invalid}
>0 ulelong x symbol address: 0x%X]{once}
>24 lelong !0x500
>>24 lelong !0x700
>>>24 lelong !0x900 \b, {invalid}
>40 lelong !0x500
>>40 lelong !0x700
>>>40 lelong !0x900 \b, {invalid}
>56 lelong !0x500
>>56 lelong !0x700
>>>56 lelong !0x900 \b, {invalid}
>72 lelong !0x500
>>72 lelong !0x700
>>>72 lelong !0x900 \b, {invalid}
>88 lelong !0x500
>>88 lelong !0x700
>>>88 lelong !0x900 \b, {invalid}
>104 lelong !0x500
>>104 lelong !0x700
>>>104 lelong !0x900 \b, {invalid}
>120 lelong !0x500
>>120 lelong !0x700
>>>120 lelong !0x900 \b, {invalid}
>136 lelong !0x500
>>136 lelong !0x700
>>>136 lelong !0x900 \b, {invalid}
>152 lelong !0x500
>>152 lelong !0x700
>>>152 lelong !0x900 \b, {invalid}
8 string \x00\x07\x00\x00\x00\x00\x00\x00 VxWorks symbol table, little endian,
>4 lelong 0 {invalid}
>4 ulelong x first entry: [type: initialized data, code address: 0x%X,
>0 lelong 0 {invalid}
>0 ulelong x symbol address: 0x%X]{once}
>24 lelong !0x500
>>24 lelong !0x700
>>>24 lelong !0x900 \b, {invalid}
>40 lelong !0x500
>>40 lelong !0x700
>>>40 lelong !0x900 \b, {invalid}
>56 lelong !0x500
>>56 lelong !0x700
>>>56 lelong !0x900 \b, {invalid}
>72 lelong !0x500
>>72 lelong !0x700
>>>72 lelong !0x900 \b, {invalid}
>88 lelong !0x500
>>88 lelong !0x700
>>>88 lelong !0x900 \b, {invalid}
>104 lelong !0x500
>>104 lelong !0x700
>>>104 lelong !0x900 \b, {invalid}
>120 lelong !0x500
>>120 lelong !0x700
>>>120 lelong !0x900 \b, {invalid}
>136 lelong !0x500
>>136 lelong !0x700
>>>136 lelong !0x900 \b, {invalid}
>152 lelong !0x500
>>152 lelong !0x700
>>>152 lelong !0x900 \b, {invalid}
8 string \x00\x09\x00\x00\x00\x00\x00\x00 VxWorks symbol table, little endian,
>4 lelong 0 {invalid}
>4 ulelong x first entry: [type: uninitialized data, code address: 0x%X,
>0 lelong 0 {invalid}
>0 ulelong x symbol address: 0x%X]{once}
>24 lelong !0x500
>>24 lelong !0x700
>>>24 lelong !0x900 \b, {invalid}
>40 lelong !0x500
>>40 lelong !0x700
>>>40 lelong !0x900 \b, {invalid}
>56 lelong !0x500
>>56 lelong !0x700
>>>56 lelong !0x900 \b, {invalid}
>72 lelong !0x500
>>72 lelong !0x700
>>>72 lelong !0x900 \b, {invalid}
>88 lelong !0x500
>>88 lelong !0x700
>>>88 lelong !0x900 \b, {invalid}
>104 lelong !0x500
>>104 lelong !0x700
>>>104 lelong !0x900 \b, {invalid}
>120 lelong !0x500
>>120 lelong !0x700
>>>120 lelong !0x900 \b, {invalid}
>136 lelong !0x500
>>136 lelong !0x700
>>>136 lelong !0x900 \b, {invalid}
>152 lelong !0x500
>>152 lelong !0x700
>>>152 lelong !0x900 \b, {invalid}
# CRC32 polynomial table
0 string \x00\x00\x00\x00\x77\x07\x30\x96\xEE\x0E\x61\x2C\x99\x09\x51\xBA CRC32 polynomial table, big endian
0 string \x00\x00\x00\x00\x96\x30\x07\x77\x2C\x61\x0E\xEE\xBA\x51\x09\x99 CRC32 polynomial table, little endian
# MD5
0 string \xD7\x6A\xA4\x78\xE8\xC7\xB7\x56\x24\x20\x70\xDB\xC1\xBD\xCE\xEE MD5 table, big endian
0 string \x78\xA4\x6A\xD7\x56\xB7\xC7\xE8\xDB\x70\x20\x24\xEE\xCE\xBD\xC1 MD5 table, little endian
# Signatures to identify the start of a VxWorks symbol table
8 string \x00\x00\x05\x00\x00\x00\x00\x00 VxWorks symbol table, big endian,
>4 belong 0 {invalid}
>4 ubelong x first entry: [type: function, code address: 0x%X,
>0 belong 0 {invalid}
>0 ubelong x symbol address: 0x%X]{once}
>24 belong !0x500
>>24 belong !0x700
>>>24 belong !0x900 \b, {invalid}
>40 belong !0x500
>>40 belong !0x700
>>>40 belong !0x900 \b, {invalid}
>56 belong !0x500
>>56 belong !0x700
>>>56 belong !0x900 \b, {invalid}
>72 belong !0x500
>>72 belong !0x700
>>>72 belong !0x900 \b, {invalid}
>88 belong !0x500
>>88 belong !0x700
>>>88 belong !0x900 \b, {invalid}
>104 belong !0x500
>>104 belong !0x700
>>>104 belong !0x900 \b, {invalid}
>120 belong !0x500
>>120 belong !0x700
>>>120 belong !0x900 \b, {invalid}
>136 belong !0x500
>>136 belong !0x700
>>>136 belong !0x900 \b, {invalid}
>152 belong !0x500
>>152 belong !0x700
>>>152 belong !0x900 \b, {invalid}
8 string \x00\x00\x07\x00\x00\x00\x00\x00 VxWorks symbol table, big endian,
>4 belong 0 {invalid}
>4 ubelong x first entry: [type: initialized data, code address: 0x%X,
>0 belong 0 {invalid}
>0 ubelong x symbol address: 0x%X]{once}
>24 belong !0x500
>>24 belong !0x700
>>>24 belong !0x900 \b, {invalid}
>40 belong !0x500
>>40 belong !0x700
>>>40 belong !0x900 \b, {invalid}
>56 belong !0x500
>>56 belong !0x700
>>>56 belong !0x900 \b, {invalid}
>72 belong !0x500
>>72 belong !0x700
>>>72 belong !0x900 \b, {invalid}
>88 belong !0x500
>>88 belong !0x700
>>>88 belong !0x900 \b, {invalid}
>104 belong !0x500
>>104 belong !0x700
>>>104 belong !0x900 \b, {invalid}
>120 belong !0x500
>>120 belong !0x700
>>>120 belong !0x900 \b, {invalid}
>136 belong !0x500
>>136 belong !0x700
>>>136 belong !0x900 \b, {invalid}
>152 belong !0x500
>>152 belong !0x700
>>>152 belong !0x900 \b, {invalid}
8 string \x00\x00\x09\x00\x00\x00\x00\x00 VxWorks symbol table, big endian,
>4 belong 0 {invalid}
>4 ubelong x first entry: [type: uninitialized data, code address: 0x%X,
>0 belong 0 {invalid}
>0 ubelong x symbol address: 0x%X]{once}
>24 belong !0x500
>>24 belong !0x700
>>>24 belong !0x900 \b, {invalid}
>40 belong !0x500
>>40 belong !0x700
>>>40 belong !0x900 \b, {invalid}
>56 belong !0x500
>>56 belong !0x700
>>>56 belong !0x900 \b, {invalid}
>72 belong !0x500
>>72 belong !0x700
>>>72 belong !0x900 \b, {invalid}
>88 belong !0x500
>>88 belong !0x700
>>>88 belong !0x900 \b, {invalid}
>104 belong !0x500
>>104 belong !0x700
>>>104 belong !0x900 \b, {invalid}
>120 belong !0x500
>>120 belong !0x700
>>>120 belong !0x900 \b, {invalid}
>136 belong !0x500
>>136 belong !0x700
>>>136 belong !0x900 \b, {invalid}
>152 belong !0x500
>>152 belong !0x700
>>>152 belong !0x900 \b, {invalid}
8 string \x00\x05\x00\x00\x00\x00\x00\x00 VxWorks symbol table, little endian,
>4 lelong 0 {invalid}
>4 ulelong x first entry: [type: function, code address: 0x%X,
>0 lelong 0 {invalid}
>0 ulelong x symbol address: 0x%X]{once}
>24 lelong !0x500
>>24 lelong !0x700
>>>24 lelong !0x900 \b, {invalid}
>40 lelong !0x500
>>40 lelong !0x700
>>>40 lelong !0x900 \b, {invalid}
>56 lelong !0x500
>>56 lelong !0x700
>>>56 lelong !0x900 \b, {invalid}
>72 lelong !0x500
>>72 lelong !0x700
>>>72 lelong !0x900 \b, {invalid}
>88 lelong !0x500
>>88 lelong !0x700
>>>88 lelong !0x900 \b, {invalid}
>104 lelong !0x500
>>104 lelong !0x700
>>>104 lelong !0x900 \b, {invalid}
>120 lelong !0x500
>>120 lelong !0x700
>>>120 lelong !0x900 \b, {invalid}
>136 lelong !0x500
>>136 lelong !0x700
>>>136 lelong !0x900 \b, {invalid}
>152 lelong !0x500
>>152 lelong !0x700
>>>152 lelong !0x900 \b, {invalid}
8 string \x00\x07\x00\x00\x00\x00\x00\x00 VxWorks symbol table, little endian,
>4 lelong 0 {invalid}
>4 ulelong x first entry: [type: initialized data, code address: 0x%X,
>0 lelong 0 {invalid}
>0 ulelong x symbol address: 0x%X]{once}
>24 lelong !0x500
>>24 lelong !0x700
>>>24 lelong !0x900 \b, {invalid}
>40 lelong !0x500
>>40 lelong !0x700
>>>40 lelong !0x900 \b, {invalid}
>56 lelong !0x500
>>56 lelong !0x700
>>>56 lelong !0x900 \b, {invalid}
>72 lelong !0x500
>>72 lelong !0x700
>>>72 lelong !0x900 \b, {invalid}
>88 lelong !0x500
>>88 lelong !0x700
>>>88 lelong !0x900 \b, {invalid}
>104 lelong !0x500
>>104 lelong !0x700
>>>104 lelong !0x900 \b, {invalid}
>120 lelong !0x500
>>120 lelong !0x700
>>>120 lelong !0x900 \b, {invalid}
>136 lelong !0x500
>>136 lelong !0x700
>>>136 lelong !0x900 \b, {invalid}
>152 lelong !0x500
>>152 lelong !0x700
>>>152 lelong !0x900 \b, {invalid}
8 string \x00\x09\x00\x00\x00\x00\x00\x00 VxWorks symbol table, little endian,
>4 lelong 0 {invalid}
>4 ulelong x first entry: [type: uninitialized data, code address: 0x%X,
>0 lelong 0 {invalid}
>0 ulelong x symbol address: 0x%X]{once}
>24 lelong !0x500
>>24 lelong !0x700
>>>24 lelong !0x900 \b, {invalid}
>40 lelong !0x500
>>40 lelong !0x700
>>>40 lelong !0x900 \b, {invalid}
>56 lelong !0x500
>>56 lelong !0x700
>>>56 lelong !0x900 \b, {invalid}
>72 lelong !0x500
>>72 lelong !0x700
>>>72 lelong !0x900 \b, {invalid}
>88 lelong !0x500
>>88 lelong !0x700
>>>88 lelong !0x900 \b, {invalid}
>104 lelong !0x500
>>104 lelong !0x700
>>>104 lelong !0x900 \b, {invalid}
>120 lelong !0x500
>>120 lelong !0x700
>>>120 lelong !0x900 \b, {invalid}
>136 lelong !0x500
>>136 lelong !0x700
>>>136 lelong !0x900 \b, {invalid}
>152 lelong !0x500
>>152 lelong !0x700
>>>152 lelong !0x900 \b, {invalid}
...@@ -29,6 +29,11 @@ class General(Module): ...@@ -29,6 +29,11 @@ class General(Module):
type=int, type=int,
kwargs={'offset' : 0}, kwargs={'offset' : 0},
description='Start scan at this file offset'), description='Start scan at this file offset'),
Option(long='base',
short='O',
type=int,
kwargs={'base' : 0},
description='Add a base address to all printed offsets'),
Option(long='block', Option(long='block',
short='K', short='K',
type=int, type=int,
...@@ -78,6 +83,7 @@ class General(Module): ...@@ -78,6 +83,7 @@ class General(Module):
KWARGS = [ KWARGS = [
Kwarg(name='length', default=0), Kwarg(name='length', default=0),
Kwarg(name='offset', default=0), Kwarg(name='offset', default=0),
Kwarg(name='base', default=0),
Kwarg(name='block', default=0), Kwarg(name='block', default=0),
Kwarg(name='swap_size', default=0), Kwarg(name='swap_size', default=0),
Kwarg(name='log_file', default=None), Kwarg(name='log_file', default=None),
......
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