diff --git a/.github/workflows/test_docker.yml b/.github/workflows/test_docker.yml index d16d050..0cd15a1 100644 --- a/.github/workflows/test_docker.yml +++ b/.github/workflows/test_docker.yml @@ -18,7 +18,7 @@ jobs: - name: Install dependencies run: | dnf copr -y enable @gift/dev - dnf install -y @development-tools python3 python3-devel libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-dtfabric python3-idna python3-pytsk3 python3-pyxattr python3-pyyaml python3-setuptools + dnf install -y @development-tools python3 python3-devel libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libexe-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-dtfabric python3-idna python3-pytsk3 python3-pyyaml python3-setuptools python3-xattr - name: Run tests env: LANG: C.utf8 @@ -58,7 +58,7 @@ jobs: run: | add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential python3 python3-dev libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-pyxattr python3-setuptools python3-wheel python3-yaml + apt-get install -y build-essential python3 python3-dev libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libexe-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-wheel python3-xattr python3-yaml - name: Run tests env: LANG: en_US.UTF-8 diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index d936599..ed1420c 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -36,7 +36,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-pyxattr python3-setuptools python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libexe-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox diff --git a/.github/workflows/test_tox.yml b/.github/workflows/test_tox.yml index 09c3fb5..cb2f5cc 100644 --- a/.github/workflows/test_tox.yml +++ b/.github/workflows/test_tox.yml @@ -44,7 +44,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-pyxattr python3-setuptools python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libexe-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox @@ -80,7 +80,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-pyxattr python3-setuptools python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libexe-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox @@ -118,7 +118,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-pyxattr python3-setuptools python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libexe-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libfwps-python3 libfwsi-python3 liblnk-python3 libluksde-python3 libmodi-python3 libolecf-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-acstore python3-artifacts python3-cffi-backend python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox diff --git a/.pylintrc b/.pylintrc index 82d1267..ad5f9e6 100644 --- a/.pylintrc +++ b/.pylintrc @@ -29,7 +29,7 @@ clear-cache-post-run=no # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. -extension-pkg-allow-list=pybde,pycreg,pyewf,pyexe,pyfsapfs,pyfsext,pyfsfat,pyfshfs,pyfsntfs,pyfsxfs,pyfvde,pyfwnt,pyfwps,pyfwsi,pylnk,pyluksde,pymodi,pyolecf,pyphdi,pyqcow,pyregf,pysigscan,pysmdev,pysmraw,pytsk3,pyvhdi,pyvmdk,pyvsapm,pyvsgpt,pyvshadow,pyvslvm,pywrc,xattr +extension-pkg-allow-list=pybde,pycaes,pycreg,pyewf,pyexe,pyfcrypto,pyfsapfs,pyfsext,pyfsfat,pyfshfs,pyfsntfs,pyfsxfs,pyfvde,pyfwnt,pyfwps,pyfwsi,pylnk,pyluksde,pymodi,pyolecf,pyphdi,pyqcow,pyregf,pysigscan,pysmdev,pysmraw,pytsk3,pyvhdi,pyvmdk,pyvsapm,pyvsgpt,pyvshadow,pyvslvm,pywrc,xattr # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may diff --git a/config/appveyor/install.ps1 b/config/appveyor/install.ps1 index 6e3c1d0..47501c9 100644 --- a/config/appveyor/install.ps1 +++ b/config/appveyor/install.ps1 @@ -1,6 +1,6 @@ # Script to set up tests on AppVeyor Windows. -$Dependencies = "PyYAML acstore artifacts cffi cryptography dfdatetime dfimagetools dfvfs dfwinreg dtfabric idna libbde libcreg libewf libexe libfsapfs libfsext libfsfat libfshfs libfsntfs libfsxfs libfvde libfwnt libfwps libfwsi liblnk libluksde libmodi libolecf libphdi libqcow libregf libsigscan libsmdev libsmraw libvhdi libvmdk libvsapm libvsgpt libvshadow libvslvm libwrc pytsk3 xattr" +$Dependencies = "PyYAML acstore artifacts cffi dfdatetime dfimagetools dfvfs dfwinreg dtfabric idna libbde libcaes libcreg libewf libexe libfcrypto libfsapfs libfsext libfsfat libfshfs libfsntfs libfsxfs libfvde libfwnt libfwps libfwsi liblnk libluksde libmodi libolecf libphdi libqcow libregf libsigscan libsmdev libsmraw libvhdi libvmdk libvsapm libvsgpt libvshadow libvslvm libwrc pytsk3 xattr" If ($Dependencies.Length -gt 0) { diff --git a/config/dpkg/control b/config/dpkg/control index bb2e213..fb4a3c8 100644 --- a/config/dpkg/control +++ b/config/dpkg/control @@ -9,7 +9,7 @@ Homepage: https://github.com/libyal/winsps-kb Package: python3-winspsrc Architecture: all -Depends: libbde-python3 (>= 20220121), libcreg-python3 (>= 20200725), libewf-python3 (>= 20131210), libexe-python3 (>= 20131229), libfsapfs-python3 (>= 20220709), libfsext-python3 (>= 20220829), libfsfat-python3 (>= 20220925), libfshfs-python3 (>= 20220831), libfsntfs-python3 (>= 20211229), libfsxfs-python3 (>= 20220829), libfvde-python3 (>= 20220121), libfwnt-python3 (>= 20210717), libfwps-python3 (>= 20230131), libfwsi-python3 (>= 20240225), liblnk-python3 (>= 20230205), libluksde-python3 (>= 20220121), libmodi-python3 (>= 20210405), libolecf-python3, libphdi-python3 (>= 20220228), libqcow-python3 (>= 20201213), libregf-python3 (>= 20201002), libsigscan-python3 (>= 20230109), libsmdev-python3 (>= 20140529), libsmraw-python3 (>= 20140612), libvhdi-python3 (>= 20201014), libvmdk-python3 (>= 20140421), libvsapm-python3 (>= 20230506), libvsgpt-python3 (>= 20211115), libvshadow-python3 (>= 20160109), libvslvm-python3 (>= 20160109), libwrc-python3 (>= 20220104), python3-acstore (>= 20230101), python3-artifacts (>= 20220219), python3-cffi-backend (>= 1.9.1), python3-cryptography (>= 2.0.2), python3-dfdatetime (>= 20221112), python3-dfimagetools (>= 20220129), python3-dfvfs (>= 20220831), python3-dfwinreg (>= 20211207), python3-dtfabric (>= 20230518), python3-idna (>= 2.5), python3-pytsk3 (>= 20210419), python3-pyxattr (>= 0.7.2), python3-yaml (>= 3.10), ${misc:Depends} +Depends: libbde-python3 (>= 20220121), libcaes-python3 (>= 20240114), libcreg-python3 (>= 20200725), libewf-python3 (>= 20131210), libexe-python3 (>= 20131229), libfcrypto-python3 (>= 20240114), libfsapfs-python3 (>= 20220709), libfsext-python3 (>= 20220829), libfsfat-python3 (>= 20220925), libfshfs-python3 (>= 20220831), libfsntfs-python3 (>= 20211229), libfsxfs-python3 (>= 20220829), libfvde-python3 (>= 20220121), libfwnt-python3 (>= 20210717), libfwps-python3 (>= 20240225), libfwsi-python3 (>= 20240225), liblnk-python3 (>= 20230205), libluksde-python3 (>= 20220121), libmodi-python3 (>= 20210405), libolecf-python3, libphdi-python3 (>= 20220228), libqcow-python3 (>= 20201213), libregf-python3 (>= 20201002), libsigscan-python3 (>= 20230109), libsmdev-python3 (>= 20140529), libsmraw-python3 (>= 20140612), libvhdi-python3 (>= 20201014), libvmdk-python3 (>= 20140421), libvsapm-python3 (>= 20230506), libvsgpt-python3 (>= 20211115), libvshadow-python3 (>= 20160109), libvslvm-python3 (>= 20160109), libwrc-python3 (>= 20220104), python3-acstore (>= 20230101), python3-artifacts (>= 20220219), python3-cffi-backend (>= 1.9.1), python3-dfdatetime (>= 20221112), python3-dfimagetools (>= 20240301), python3-dfvfs (>= 20240115), python3-dfwinreg (>= 20240229), python3-dtfabric (>= 20230518), python3-idna (>= 2.5), python3-pytsk3 (>= 20210419), python3-xattr (>= 0.7.2), python3-yaml (>= 3.10), ${misc:Depends} Description: Python 3 module of Windows Serialized Property Store (SPS) knowledge base resources (winspsrc) winspsrc is a Python module part of winsps-kb to allow reuse of Windows Serialized Property Store (SPS) resources. diff --git a/dependencies.ini b/dependencies.ini index edef2b0..666fbb0 100644 --- a/dependencies.ini +++ b/dependencies.ini @@ -17,12 +17,6 @@ minimum_version: 1.9.1 rpm_name: python3-cffi version_property: __version__ -[cryptography] -dpkg_name: python3-cryptography -minimum_version: 2.0.2 -rpm_name: python3-cryptography -version_property: __version__ - [dfdatetime] dpkg_name: python3-dfdatetime minimum_version: 20221112 @@ -31,19 +25,19 @@ version_property: __version__ [dfimagetools] dpkg_name: python3-dfimagetools -minimum_version: 20220129 +minimum_version: 20240301 rpm_name: python3-dfimagetools version_property: __version__ [dfvfs] dpkg_name: python3-dfvfs -minimum_version: 20220831 +minimum_version: 20240115 rpm_name: python3-dfvfs version_property: __version__ [dfwinreg] dpkg_name: python3-dfwinreg -minimum_version: 20211207 +minimum_version: 20240229 rpm_name: python3-dfwinreg version_property: __version__ @@ -69,6 +63,14 @@ pypi_name: libbde-python rpm_name: libbde-python3 version_property: get_version() +[pycaes] +dpkg_name: libcaes-python3 +l2tbinaries_name: libcaes +minimum_version: 20240114 +pypi_name: libcaes-python +rpm_name: libcaes-python3 +version_property: get_version() + [pycreg] dpkg_name: libcreg-python3 l2tbinaries_name: libcreg @@ -85,6 +87,14 @@ pypi_name: libewf-python rpm_name: libewf-python3 version_property: get_version() +[pyfcrypto] +dpkg_name: libfcrypto-python3 +l2tbinaries_name: libfcrypto +minimum_version: 20240114 +pypi_name: libfcrypto-python +rpm_name: libfcrypto-python3 +version_property: get_version() + [pyexe] dpkg_name: libexe-python3 l2tbinaries_name: libexe @@ -160,7 +170,7 @@ version_property: get_version() [pyfwps] dpkg_name: libfwps-python3 l2tbinaries_name: libfwps -minimum_version: 20230131 +minimum_version: 20240225 pypi_name: libfwps-python rpm_name: libfwps-python3 version_property: get_version() @@ -315,11 +325,11 @@ rpm_name: libwrc-python3 version_property: get_version() [xattr] -dpkg_name: python3-pyxattr +dpkg_name: python3-xattr is_optional: true minimum_version: 0.7.2 -pypi_name: pyxattr -rpm_name: python3-pyxattr +pypi_name: xattr +rpm_name: python3-xattr version_property: __version__ [yaml] diff --git a/docs/sources/property-sets/0ae54373-43be-4fad-85e4-69dc8633986e.md b/docs/sources/property-sets/0ae54373-43be-4fad-85e4-69dc8633986e.md index aac2905..4aacb6e 100644 --- a/docs/sources/property-sets/0ae54373-43be-4fad-85e4-69dc8633986e.md +++ b/docs/sources/property-sets/0ae54373-43be-4fad-85e4-69dc8633986e.md @@ -2,5 +2,6 @@ Property identifier | Shell property key | Shell name | Alias --- | --- | --- | --- +7 | | | 11 | | | diff --git a/docs/sources/property-sets/5ab5c75f-15e1-4d65-924a-04754567243c.md b/docs/sources/property-sets/5ab5c75f-15e1-4d65-924a-04754567243c.md new file mode 100644 index 0000000..9d443d4 --- /dev/null +++ b/docs/sources/property-sets/5ab5c75f-15e1-4d65-924a-04754567243c.md @@ -0,0 +1,9 @@ +## 5ab5c75f-15e1-4d65-924a-04754567243c + +Property identifier | Shell property key | Shell name | Alias +--- | --- | --- | --- +2 | | | +3 | | | +4 | | | +5 | | | + diff --git a/docs/sources/property-sets/5cde9f0e-1de4-4453-96a9-56e8832efa3d.md b/docs/sources/property-sets/5cde9f0e-1de4-4453-96a9-56e8832efa3d.md new file mode 100644 index 0000000..08538b0 --- /dev/null +++ b/docs/sources/property-sets/5cde9f0e-1de4-4453-96a9-56e8832efa3d.md @@ -0,0 +1,6 @@ +## 5cde9f0e-1de4-4453-96a9-56e8832efa3d + +Property identifier | Shell property key | Shell name | Alias +--- | --- | --- | --- +2 | | | + diff --git a/docs/sources/property-sets/d5cdd505-2e9c-101b-9397-08002b2cf9ae.md b/docs/sources/property-sets/d5cdd505-2e9c-101b-9397-08002b2cf9ae.md index cd862c8..6aa4714 100644 --- a/docs/sources/property-sets/d5cdd505-2e9c-101b-9397-08002b2cf9ae.md +++ b/docs/sources/property-sets/d5cdd505-2e9c-101b-9397-08002b2cf9ae.md @@ -5,4 +5,5 @@ Property identifier | Shell property key | Shell name | Alias AutoList | | | AutolistCacheKey | | | AutolistCacheTime | | | +pszAppName | | | diff --git a/docs/sources/property-sets/f50d2f5d-dda0-48d4-8d2b-e83729fb69a4.md b/docs/sources/property-sets/f50d2f5d-dda0-48d4-8d2b-e83729fb69a4.md new file mode 100644 index 0000000..bdf8ef2 --- /dev/null +++ b/docs/sources/property-sets/f50d2f5d-dda0-48d4-8d2b-e83729fb69a4.md @@ -0,0 +1,6 @@ +## f50d2f5d-dda0-48d4-8d2b-e83729fb69a4 + +Property identifier | Shell property key | Shell name | Alias +--- | --- | --- | --- +100 | | | + diff --git a/docs/sources/property-sets/index.rst b/docs/sources/property-sets/index.rst index 9aa474e..420f324 100644 --- a/docs/sources/property-sets/index.rst +++ b/docs/sources/property-sets/index.rst @@ -205,9 +205,11 @@ Serialized Property Sets 59b433ba-fe44-4d8d-808c-6bcb9b0f15e8 <59b433ba-fe44-4d8d-808c-6bcb9b0f15e8> 59d49e61-840f-4aa9-a939-e2099b7f6399 <59d49e61-840f-4aa9-a939-e2099b7f6399> 59dde9f2-5253-40ea-9a8b-479e96c6249a <59dde9f2-5253-40ea-9a8b-479e96c6249a> + 5ab5c75f-15e1-4d65-924a-04754567243c <5ab5c75f-15e1-4d65-924a-04754567243c> 5bf396d4-5eb2-466f-bde9-2fb3f2361d6e <5bf396d4-5eb2-466f-bde9-2fb3f2361d6e> 5cbf2787-48cf-4208-b90e-ee5e5d420294 <5cbf2787-48cf-4208-b90e-ee5e5d420294> 5cda5fc8-33ee-4ff3-9094-ae7bd8868c4d <5cda5fc8-33ee-4ff3-9094-ae7bd8868c4d> + 5cde9f0e-1de4-4453-96a9-56e8832efa3d <5cde9f0e-1de4-4453-96a9-56e8832efa3d> 5d76b67f-9b3d-44bb-b6ae-25da4f638a67 <5d76b67f-9b3d-44bb-b6ae-25da4f638a67> 5d9da160-74ae-43cc-85a9-fe555a80798e <5d9da160-74ae-43cc-85a9-fe555a80798e> 5da84765-e3ff-4278-86b0-a27967fbdd03 <5da84765-e3ff-4278-86b0-a27967fbdd03> @@ -574,6 +576,7 @@ Serialized Property Sets f334115e-da1b-4509-9b3d-119504dc7abb f3713ada-90e3-4e11-aae5-fdc17685b9be f3d8f40d-50cb-44a2-9718-40cb9119495d + f50d2f5d-dda0-48d4-8d2b-e83729fb69a4 f6272d18-cecc-40b1-b26a-3911717aa7bd f628fd8c-7ba8-465a-a65b-c5aa79263a9e f7db74b4-4287-4103-afba-f1b13dcd75cf diff --git a/requirements.txt b/requirements.txt index 7af8a73..eda9db5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,16 +2,17 @@ PyYAML >= 3.10 acstore >= 20230101 artifacts >= 20220219 cffi >= 1.9.1 -cryptography >= 2.0.2 dfdatetime >= 20221112 -dfimagetools >= 20220129 -dfvfs >= 20220831 -dfwinreg >= 20211207 +dfimagetools >= 20240301 +dfvfs >= 20240115 +dfwinreg >= 20240229 dtfabric >= 20230518 libbde-python >= 20220121 +libcaes-python >= 20240114 libcreg-python >= 20200725 libewf-python >= 20131210 libexe-python >= 20131229 +libfcrypto-python >= 20240114 libfsapfs-python >= 20220709 libfsext-python >= 20220829 libfsfat-python >= 20220925 @@ -20,7 +21,7 @@ libfsntfs-python >= 20211229 libfsxfs-python >= 20220829 libfvde-python >= 20220121 libfwnt-python >= 20210717 -libfwps-python >= 20230131 +libfwps-python >= 20240225 libfwsi-python >= 20240225 liblnk-python >= 20230205 libluksde-python >= 20220121 @@ -40,4 +41,4 @@ libvshadow-python >= 20160109 libvslvm-python >= 20160109 libwrc-python >= 20220104 pytsk3 >= 20210419 -pyxattr >= 0.7.2 ; platform_system != "Windows" +xattr >= 0.7.2 ; platform_system != "Windows" diff --git a/scripts/extract.py b/scripts/extract.py index 10e8b5b..dec855f 100755 --- a/scripts/extract.py +++ b/scripts/extract.py @@ -104,8 +104,9 @@ def Main(): extractor_object.windows_version = options.windows_version - logging.info( - f'Detected Windows version: {extractor_object.windows_version:s}') + if extractor_object.windows_version: + logging.info( + f'Detected Windows version: {extractor_object.windows_version:s}') serialized_properties = {} defined_serialized_properties = {} diff --git a/scripts/generate_source.py b/scripts/generate_source.py new file mode 100755 index 0000000..d7b1079 --- /dev/null +++ b/scripts/generate_source.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Script to generate Windows serialized property source code.""" + +import argparse +import logging +import os +import sys + +import winspsrc + +from winspsrc import yaml_definitions_file + + +def Main(): + """Entry point of console script to generate property source code. + + Returns: + int: exit code that is provided to sys.exit(). + """ + argument_parser = argparse.ArgumentParser(description=( + 'Generated Windows serialized property source code.')) + + argument_parser.parse_args() + + logging.basicConfig( + level=logging.INFO, format='[%(levelname)s] %(message)s') + + definitions_file = yaml_definitions_file.YAMLPropertyDefinitionsFile() + + property_definitions = {} + + data_path = os.path.join(os.path.dirname(winspsrc.__file__), 'data') + + path = os.path.join(data_path, 'defined_properties.yaml') + for property_definition in definitions_file.ReadFromFile(path): + lookup_key = property_definition.lookup_key + if lookup_key in property_definitions: + property_definitions[lookup_key].Merge(property_definition) + else: + property_definitions[lookup_key] = property_definition + + path = os.path.join(data_path, 'observed_properties.yaml') + for property_definition in definitions_file.ReadFromFile(path): + lookup_key = property_definition.lookup_key + if lookup_key in property_definitions: + property_definitions[lookup_key].Merge(property_definition) + else: + property_definitions[lookup_key] = property_definition + + path = os.path.join(data_path, 'third_party_properties.yaml') + for property_definition in definitions_file.ReadFromFile(path): + lookup_key = property_definition.lookup_key + if lookup_key in property_definitions: + property_definitions[lookup_key].Merge(property_definition) + else: + property_definitions[lookup_key] = property_definition + + print('#!/usr/bin/env python') + print('# -*- coding: utf-8 -*-') + print('"""Windows serialized property to shell property key mappings.') + print('') + print('This file was generated by the winsps-kb project.') + print('"""') + print('') + print('') + print('SHELL_PROPERTY_KEYS = {') + + first_definition = True + for lookup_key, property_definition in sorted(property_definitions.items()): + if property_definition.shell_property_keys: + if first_definition: + first_definition = False + else: + print(',') + + shell_property_key = list(property_definition.shell_property_keys)[0] + + line = f' \'{lookup_key:s}\': \'{shell_property_key:s}\'' + if len(line) < 80: + print(line, end='') + else: + print(f' \'{lookup_key:s}\': (') + print(f' \'{shell_property_key:s}\')', end='') + + print('}') + + return 0 + + +if __name__ == '__main__': + sys.exit(Main()) diff --git a/setup.cfg b/setup.cfg index 0f6821c..333f67a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,6 +26,7 @@ python_requires = >=3.8 scripts = scripts/extract.py scripts/generate_docs.py + scripts/generate_source.py scripts/merge_yaml.py [options.package_data] diff --git a/winspsrc/data/defined_properties.yaml b/winspsrc/data/defined_properties.yaml index 7613dba..d56b3b3 100644 --- a/winspsrc/data/defined_properties.yaml +++ b/winspsrc/data/defined_properties.yaml @@ -1515,11 +1515,6 @@ property_identifier: 100 shell_property_key: PKEY_Photo_Saturation value_type: VT_UI4 --- -format_identifier: 49691c90-7e17-101a-a91c-08002b2ecda9 -name: System.Search.QueryPropertyHits -property_identifier: 21 -shell_property_key: PKEY_Search_QueryPropertyHits ---- alias: PROPID_QUERY_RANK format_class: FMTID_Query format_identifier: 49691c90-7e17-101a-a91c-08002b2ecda9 @@ -1552,6 +1547,11 @@ property_identifier: 9 shell_property_key: PKEY_ItemUrl value_type: VT_LPWSTR --- +format_identifier: 49691c90-7e17-101a-a91c-08002b2ecda9 +name: System.Search.QueryPropertyHits +property_identifier: 21 +shell_property_key: PKEY_Search_QueryPropertyHits +--- format_identifier: 49cd1f76-5626-4b17-a4e8-18b4aa1a2213 name: System.Devices.BatteryLife property_identifier: 10 @@ -5114,6 +5114,14 @@ property_identifier: 100 shell_property_key: PKEY_Calendar_OptionalAttendeeAddresses value_type: VT_VECTOR | VT_LPWSTR --- +alias: PIDDSI_CATEGORY +format_class: FMTID_DocumentSummaryInformation +format_identifier: d5cdd502-2e9c-101b-9397-08002b2cf9ae +name: System.Category +property_identifier: 2 +shell_property_key: PKEY_Category +value_type: VT_VECTOR | VT_LPWSTR +--- alias: PIDDSI_MMCLIPCOUNT format_class: FMTID_DocumentSummaryInformation format_identifier: d5cdd502-2e9c-101b-9397-08002b2cf9ae @@ -5138,14 +5146,6 @@ property_identifier: 15 shell_property_key: PKEY_Company value_type: VT_LPWSTR --- -alias: PIDDSI_CATEGORY -format_class: FMTID_DocumentSummaryInformation -format_identifier: d5cdd502-2e9c-101b-9397-08002b2cf9ae -name: System.Category -property_identifier: 2 -shell_property_key: PKEY_Category -value_type: VT_VECTOR | VT_LPWSTR ---- format_class: FMTID_DocumentSummaryInformation format_identifier: d5cdd502-2e9c-101b-9397-08002b2cf9ae name: System.ContentType @@ -5431,6 +5431,42 @@ shell_property_key: PKEY_PropGroup_FileSystem value_type: VT_NULL --- format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.Message.BccName +property_identifier: 3 +shell_property_key: PKEY_Message_BccName +value_type: VT_VECTOR | VT_LPWSTR +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.Message.CcAddress +property_identifier: 4 +shell_property_key: PKEY_Message_CcAddress +value_type: VT_VECTOR | VT_LPWSTR +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.Message.CcName +property_identifier: 5 +shell_property_key: PKEY_Message_CcName +value_type: VT_VECTOR | VT_LPWSTR +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.ItemFolderPathDisplay +property_identifier: 6 +shell_property_key: PKEY_ItemFolderPathDisplay +value_type: VT_LPWSTR +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.ItemPathDisplay +property_identifier: 7 +shell_property_key: PKEY_ItemPathDisplay +value_type: VT_LPWSTR +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.Communication.AccountName +property_identifier: 9 +shell_property_key: PKEY_Communication_AccountName +value_type: VT_LPWSTR +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd name: System.IsRead property_identifier: 10 shell_property_key: PKEY_IsRead @@ -5508,42 +5544,6 @@ property_identifier: 21 shell_property_key: PKEY_Message_AttachmentNames value_type: VT_VECTOR | VT_LPWSTR --- -format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd -name: System.Message.BccName -property_identifier: 3 -shell_property_key: PKEY_Message_BccName -value_type: VT_VECTOR | VT_LPWSTR ---- -format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd -name: System.Message.CcAddress -property_identifier: 4 -shell_property_key: PKEY_Message_CcAddress -value_type: VT_VECTOR | VT_LPWSTR ---- -format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd -name: System.Message.CcName -property_identifier: 5 -shell_property_key: PKEY_Message_CcName -value_type: VT_VECTOR | VT_LPWSTR ---- -format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd -name: System.ItemFolderPathDisplay -property_identifier: 6 -shell_property_key: PKEY_ItemFolderPathDisplay -value_type: VT_LPWSTR ---- -format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd -name: System.ItemPathDisplay -property_identifier: 7 -shell_property_key: PKEY_ItemPathDisplay -value_type: VT_LPWSTR ---- -format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd -name: System.Communication.AccountName -property_identifier: 9 -shell_property_key: PKEY_Communication_AccountName -value_type: VT_LPWSTR ---- format_identifier: e4f10a3c-49e6-405d-8288-a23bd4eeaa6c name: System.FileExtension property_identifier: 100 diff --git a/winspsrc/data/observed_properties.yaml b/winspsrc/data/observed_properties.yaml index 241075b..1c8fb78 100644 --- a/winspsrc/data/observed_properties.yaml +++ b/winspsrc/data/observed_properties.yaml @@ -9,6 +9,10 @@ property_identifier: 13 value_type: 0x0013 --- format_identifier: 0ae54373-43be-4fad-85e4-69dc8633986e +property_identifier: 7 +value_type: 0x001f +--- +format_identifier: 0ae54373-43be-4fad-85e4-69dc8633986e property_identifier: 11 value_type: 0x000b --- @@ -120,10 +124,48 @@ format_identifier: 49691c90-7e17-101a-a91c-08002b2ecda9 property_identifier: 3 value_type: 0x0003 --- +format_identifier: 49691c90-7e17-101a-a91c-08002b2ecda9 +name: System.Search.QueryPropertyHits +property_identifier: 21 +shell_property_key: PKEY_Search_QueryPropertyHits +value_type: 0x0001 +--- +format_identifier: 560c36c0-503a-11cf-baa1-00004c752a9a +name: System.Search.AutoSummary +property_identifier: 2 +shell_property_key: PKEY_Search_AutoSummary +value_type: 0x0001 +--- format_identifier: 5cbf2787-48cf-4208-b90e-ee5e5d420294 property_identifier: 25 value_type: 0x001f --- +format_identifier: 5ab5c75f-15e1-4d65-924a-04754567243c +property_identifier: 2 +value_type: 0x0048 +--- +format_identifier: 5ab5c75f-15e1-4d65-924a-04754567243c +property_identifier: 3 +value_type: 0x001f +--- +format_identifier: 5ab5c75f-15e1-4d65-924a-04754567243c +property_identifier: 4 +value_type: 0x001f +--- +format_identifier: 5ab5c75f-15e1-4d65-924a-04754567243c +property_identifier: 5 +value_type: 0x0001 +--- +format_identifier: 5cde9f0e-1de4-4453-96a9-56e8832efa3d +property_identifier: 2 +value_type: 0x001f +--- +format_identifier: 656a3bb3-ecc0-43fd-8477-4ae0404a96cd +name: System.Devices.IpAddress +property_identifier: 12297 +shell_property_key: PKEY_Devices_IpAddress +value_type: 0x101f +--- format_identifier: 79486778-4c6f-4dde-bc53-cd594311af99 property_identifier: 2 value_type: 0x001f @@ -311,6 +353,12 @@ shell_property_key: PKEY_Size value_type: [0x0001, 0x0015] --- format_identifier: b725f130-47ef-101a-a5f1-02608c9eebac +name: System.FileAttributes +property_identifier: 13 +shell_property_key: PKEY_FileAttributes +value_type: 0x0013 +--- +format_identifier: b725f130-47ef-101a-a5f1-02608c9eebac name: System.DateModified property_identifier: 14 shell_property_key: PKEY_DateModified @@ -323,14 +371,38 @@ shell_property_key: PKEY_DateCreated value_type: 0x0040 --- format_identifier: b725f130-47ef-101a-a5f1-02608c9eebac +name: System.DateAccessed +property_identifier: 16 +shell_property_key: PKEY_DateAccessed +value_type: 0x0040 +--- +format_identifier: b725f130-47ef-101a-a5f1-02608c9eebac +name: System.Search.Contents +property_identifier: 19 +shell_property_key: PKEY_Search_Contents +value_type: 0x0001 +--- +format_identifier: b725f130-47ef-101a-a5f1-02608c9eebac property_identifier: 23 shell_property_key: PKEY_ItemNameSortOverride value_type: 0x001f --- +format_identifier: b9b4b3fc-2b51-4a42-b5d8-324146afcf25 +name: System.Link.TargetSFGAOFlags +property_identifier: 8 +shell_property_key: PKEY_Link_TargetSFGAOFlags +value_type: 0x0001 +--- format_identifier: cf5be8c0-236c-4ad3-bace-cd608a2748d7 property_identifier: 100 value_type: 0x000b --- +format_identifier: d5cdd502-2e9c-101b-9397-08002b2cf9ae +name: System.Category +property_identifier: 2 +shell_property_key: PKEY_Category +value_type: 0x101f +--- format_identifier: d5cdd505-2e9c-101b-9397-08002b2cf9ae property_identifier: AutoList value_type: 0x0042 @@ -343,6 +415,10 @@ format_identifier: d5cdd505-2e9c-101b-9397-08002b2cf9ae property_identifier: AutolistCacheTime value_type: 0x0014 --- +format_identifier: d5cdd505-2e9c-101b-9397-08002b2cf9ae +property_identifier: pszAppName +value_type: 0x001f +--- format_identifier: dabd30ed-0043-4789-a7f8-d013a4736622 name: System.ItemFolderPathDisplayNarrow property_identifier: 100 @@ -353,6 +429,24 @@ format_identifier: debda43a-37b3-4383-91e7-4498da2995ab property_identifier: 3 value_type: 0x0013 --- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.ItemFolderPathDisplay +property_identifier: 6 +shell_property_key: PKEY_ItemFolderPathDisplay +value_type: [0x0001, 0x001f] +--- +format_identifier: e3e0584c-b788-4a5a-bb20-7f5a44c9acdd +name: System.ItemPathDisplay +property_identifier: 7 +shell_property_key: PKEY_ItemPathDisplay +value_type: 0x001f +--- +format_identifier: e4f10a3c-49e6-405d-8288-a23bd4eeaa6c +name: System.FileExtension +property_identifier: 100 +shell_property_key: PKEY_FileExtension +value_type: 0x001f +--- format_identifier: f29f85e0-4ff9-1068-ab91-08002b27b3d9 name: System.Title property_identifier: 2 @@ -371,6 +465,10 @@ property_identifier: 6 shell_property_key: PKEY_Comment value_type: 0x001f --- +format_identifier: f50d2f5d-dda0-48d4-8d2b-e83729fb69a4 +property_identifier: 100 +value_type: 0x0042 +--- format_identifier: fb8d2d7b-90d1-4e34-bf60-6eac09922bbf property_identifier: 2 shell_property_key: PKEY_Winx_Hash