## -*- coding: UTF-8 -*_
## wps.py
##
## Copyright (c) 2018 analyzeDFIR
## 
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to deal
## in the Software without restriction, including without limitation the rights
## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
## copies of the Software, and to permit persons to whom the Software is
## furnished to do so, subject to the following conditions:
## 
## The above copyright notice and this permission notice shall be included in all
## copies or substantial portions of the Software.
## 
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
## SOFTWARE.

try:
    from shared_structures.windows.guid import *
except ImportError:
    from .shared_structures.windows.guid import *

WPSPropertyValueIntegerNameHeader = Struct(
    'ValueSize'     / Int32ul,
    'ValueID'       / If(this.ValueSize > 0x00, Int32ul),
    If(this.ValueSize > 0x00, Padding(1))
)

WPSPropertyValueStringNameHeader = Struct(
    'ValueSize'     / Int32ul,
    'NameSize'      / If(this.ValueSize > 0x00, Int32ul),
    If(this.ValueSize > 0x00, Padding(1))
)

WPSPropertyStorageHeader = Struct(
    'Size'          / Int32ul,
    'Version'       / Const(0x53505331, Int32ul),
    'FormatID'      / NTFSGUID
)

WPSPropertyStoreHeader = Struct(
    'Size'          / Int32ul
)

## -*- coding: UTF-8 -*_
## wps.py
##
## Copyright (c) 2018 analyzeDFIR
## 
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to deal
## in the Software without restriction, including without limitation the rights
## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
## copies of the Software, and to permit persons to whom the Software is
## furnished to do so, subject to the following conditions:
## 
## The above copyright notice and this permission notice shall be included in all
## copies or substantial portions of the Software.
## 
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
## SOFTWARE.

try:
    from shared_structures.windows.guid import *
except ImportError:
    from .shared_structures.windows.guid import *

WPSPropertyValueIntegerNameHeader = Struct(
    'ValueSize'     / Int32ul,
    'ValueID'       / If(this.ValueSize > 0x00, Int32ul),
    If(this.ValueSize > 0x00, Padding(1))
)

WPSPropertyValueStringNameHeader = Struct(
    'ValueSize'     / Int32ul,
    'NameSize'      / If(this.ValueSize > 0x00, Int32ul),
    If(this.ValueSize > 0x00, Padding(1))
)

WPSPropertyStorageHeader = Struct(
    'Size'          / Int32ul,
    'Version'       / Const(0x53505331, Int32ul),
    'FormatID'      / NTFSGUID
)

WPSPropertyStoreHeader = Struct(
    'Size'          / Int32ul
)

## -*- coding: UTF-8 -*_ ## wps.py ## ## Copyright (c) 2018 analyzeDFIR ## ## Permission is hereby granted, free of charge, to any person obtaining a copy ## of this software and associated documentation files (the "Software"), to deal ## in the Software without restriction, including without limitation the rights ## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ## copies of the Software, and to permit persons to whom the Software is ## furnished to do so, subject to the following conditions: ## ## The above copyright notice and this permission notice shall be included in all ## copies or substantial portions of the Software. ## ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ## SOFTWARE.