dissect.target 3.17.dev12__tar.gz → 3.17.dev13__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (577) hide show
  1. {dissect.target-3.17.dev12/dissect.target.egg-info → dissect.target-3.17.dev13}/PKG-INFO +1 -1
  2. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/dump/run.py +23 -28
  3. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/dump/state.py +11 -8
  4. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/dump/utils.py +5 -4
  5. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/query.py +2 -13
  6. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/utils.py +23 -0
  7. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13/dissect.target.egg-info}/PKG-INFO +1 -1
  8. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_dump.py +4 -4
  9. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_query.py +5 -0
  10. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/COPYRIGHT +0 -0
  11. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/LICENSE +0 -0
  12. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/MANIFEST.in +0 -0
  13. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/README.md +0 -0
  14. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/__init__.py +0 -0
  15. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/container.py +0 -0
  16. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/__init__.py +0 -0
  17. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/asdf.py +0 -0
  18. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/ewf.py +0 -0
  19. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/hdd.py +0 -0
  20. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/hds.py +0 -0
  21. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/qcow2.py +0 -0
  22. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/raw.py +0 -0
  23. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/split.py +0 -0
  24. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/vdi.py +0 -0
  25. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/vhd.py +0 -0
  26. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/vhdx.py +0 -0
  27. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/containers/vmdk.py +0 -0
  28. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/data/autocompletion/target_bash_completion.sh +0 -0
  29. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/exceptions.py +0 -0
  30. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystem.py +0 -0
  31. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/__init__.py +0 -0
  32. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/ad1.py +0 -0
  33. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/btrfs.py +0 -0
  34. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/cb.py +0 -0
  35. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/config.py +0 -0
  36. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/cpio.py +0 -0
  37. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/dir.py +0 -0
  38. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/exfat.py +0 -0
  39. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/extfs.py +0 -0
  40. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/fat.py +0 -0
  41. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/ffs.py +0 -0
  42. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/itunes.py +0 -0
  43. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/jffs.py +0 -0
  44. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/ntfs.py +0 -0
  45. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/smb.py +0 -0
  46. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/squashfs.py +0 -0
  47. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/tar.py +0 -0
  48. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/vmfs.py +0 -0
  49. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/vmtar.py +0 -0
  50. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/xfs.py +0 -0
  51. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/filesystems/zip.py +0 -0
  52. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/__init__.py +0 -0
  53. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/cache.py +0 -0
  54. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/compat/__init__.py +0 -0
  55. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/compat/path_310.py +0 -0
  56. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/compat/path_311.py +0 -0
  57. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/compat/path_312.py +0 -0
  58. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/compat/path_39.py +0 -0
  59. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/compat/path_common.py +0 -0
  60. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/config.py +0 -0
  61. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/configutil.py +0 -0
  62. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/cyber.py +0 -0
  63. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/data/windowsZones.xml +0 -0
  64. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/descriptor_extensions.py +0 -0
  65. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/docs.py +0 -0
  66. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/fsutil.py +0 -0
  67. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/hashutil.py +0 -0
  68. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/keychain.py +0 -0
  69. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/lazy.py +0 -0
  70. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/loaderutil.py +0 -0
  71. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/localeutil.py +0 -0
  72. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/mount.py +0 -0
  73. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/mui.py +0 -0
  74. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/network_managers.py +0 -0
  75. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/polypath.py +0 -0
  76. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/protobuf.py +0 -0
  77. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/record.py +0 -0
  78. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/record_modifier.py +0 -0
  79. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/regutil.py +0 -0
  80. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/shell_folder_ids.py +0 -0
  81. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/ssh.py +0 -0
  82. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/targetd.py +0 -0
  83. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/helpers/utils.py +0 -0
  84. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loader.py +0 -0
  85. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/__init__.py +0 -0
  86. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/ad1.py +0 -0
  87. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/asdf.py +0 -0
  88. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/cb.py +0 -0
  89. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/cyber.py +0 -0
  90. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/dir.py +0 -0
  91. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/hyperv.py +0 -0
  92. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/itunes.py +0 -0
  93. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/kape.py +0 -0
  94. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/local.py +0 -0
  95. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/log.py +0 -0
  96. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/mqtt.py +0 -0
  97. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/multiraw.py +0 -0
  98. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/ova.py +0 -0
  99. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/ovf.py +0 -0
  100. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/phobos.py +0 -0
  101. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/profile.py +0 -0
  102. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/pvm.py +0 -0
  103. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/pvs.py +0 -0
  104. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/raw.py +0 -0
  105. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/remote.py +0 -0
  106. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/res.py +0 -0
  107. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/smb.py +0 -0
  108. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/tanium.py +0 -0
  109. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/tar.py +0 -0
  110. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/target.py +0 -0
  111. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/targetd.py +0 -0
  112. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/utm.py +0 -0
  113. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/vb.py +0 -0
  114. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/vbox.py +0 -0
  115. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/velociraptor.py +0 -0
  116. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/vma.py +0 -0
  117. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/vmwarevm.py +0 -0
  118. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/vmx.py +0 -0
  119. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/loaders/xva.py +0 -0
  120. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugin.py +0 -0
  121. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/__init__.py +0 -0
  122. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/__init__.py +0 -0
  123. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/av/__init__.py +0 -0
  124. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/av/mcafee.py +0 -0
  125. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/av/sophos.py +0 -0
  126. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/av/symantec.py +0 -0
  127. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/av/trendmicro.py +0 -0
  128. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/__init__.py +0 -0
  129. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/brave.py +0 -0
  130. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/browser.py +0 -0
  131. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/chrome.py +0 -0
  132. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/chromium.py +0 -0
  133. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/edge.py +0 -0
  134. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/firefox.py +0 -0
  135. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/browser/iexplore.py +0 -0
  136. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/container/__init__.py +0 -0
  137. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/container/docker.py +0 -0
  138. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/remoteaccess/__init__.py +0 -0
  139. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/remoteaccess/anydesk.py +0 -0
  140. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/remoteaccess/remoteaccess.py +0 -0
  141. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/remoteaccess/teamviewer.py +0 -0
  142. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/shell/__init__.py +0 -0
  143. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/shell/powershell.py +0 -0
  144. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/ssh/__init__.py +0 -0
  145. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/ssh/openssh.py +0 -0
  146. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/ssh/opensshd.py +0 -0
  147. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/ssh/putty.py +0 -0
  148. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/ssh/ssh.py +0 -0
  149. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/vpn/__init__.py +0 -0
  150. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/vpn/openvpn.py +0 -0
  151. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/vpn/wireguard.py +0 -0
  152. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webhosting/__init__.py +0 -0
  153. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webhosting/cpanel.py +0 -0
  154. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/__init__.py +0 -0
  155. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/apache.py +0 -0
  156. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/caddy.py +0 -0
  157. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/citrix.py +0 -0
  158. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/iis.py +0 -0
  159. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/nginx.py +0 -0
  160. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/apps/webserver/webserver.py +0 -0
  161. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/__init__.py +0 -0
  162. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/esxi.py +0 -0
  163. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/hyperv.py +0 -0
  164. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/mqtt.py +0 -0
  165. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/virtuozzo.py +0 -0
  166. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/vmware_workstation.py +0 -0
  167. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/child/wsl.py +0 -0
  168. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/__init__.py +0 -0
  169. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/acquire_handles.py +0 -0
  170. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/acquire_hash.py +0 -0
  171. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/icat.py +0 -0
  172. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/ntfs/__init__.py +0 -0
  173. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/ntfs/mft.py +0 -0
  174. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/ntfs/mft_timeline.py +0 -0
  175. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/ntfs/usnjrnl.py +0 -0
  176. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/ntfs/utils.py +0 -0
  177. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/resolver.py +0 -0
  178. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/unix/__init__.py +0 -0
  179. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/unix/capability.py +0 -0
  180. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/unix/suid.py +0 -0
  181. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/walkfs.py +0 -0
  182. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/filesystem/yara.py +0 -0
  183. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/__init__.py +0 -0
  184. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/config.py +0 -0
  185. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/default.py +0 -0
  186. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/example.py +0 -0
  187. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/loaders.py +0 -0
  188. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/osinfo.py +0 -0
  189. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/plugins.py +0 -0
  190. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/scrape.py +0 -0
  191. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/general/users.py +0 -0
  192. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/__init__.py +0 -0
  193. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/__init__.py +0 -0
  194. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/_os.py +0 -0
  195. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/__init__.py +0 -0
  196. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/_os.py +0 -0
  197. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/citrix/__init__.py +0 -0
  198. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/citrix/_os.py +0 -0
  199. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/citrix/history.py +0 -0
  200. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/freebsd/__init__.py +0 -0
  201. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/freebsd/_os.py +0 -0
  202. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/ios/__init__.py +0 -0
  203. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/ios/_os.py +0 -0
  204. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/openbsd/__init__.py +0 -0
  205. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/openbsd/_os.py +0 -0
  206. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/osx/__init__.py +0 -0
  207. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/osx/_os.py +0 -0
  208. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/bsd/osx/user.py +0 -0
  209. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/cronjobs.py +0 -0
  210. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/datetime.py +0 -0
  211. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/esxi/__init__.py +0 -0
  212. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/esxi/_os.py +0 -0
  213. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/etc.py +0 -0
  214. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/generic.py +0 -0
  215. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/history.py +0 -0
  216. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/__init__.py +0 -0
  217. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/_os.py +0 -0
  218. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/android/__init__.py +0 -0
  219. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/android/_os.py +0 -0
  220. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/cmdline.py +0 -0
  221. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/debian/__init__.py +0 -0
  222. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/debian/_os.py +0 -0
  223. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/debian/apt.py +0 -0
  224. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/debian/dpkg.py +0 -0
  225. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/debian/vyos/__init__.py +0 -0
  226. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/debian/vyos/_os.py +0 -0
  227. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/environ.py +0 -0
  228. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/fortios/__init__.py +0 -0
  229. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/fortios/_keys.py +0 -0
  230. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/fortios/_os.py +0 -0
  231. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/fortios/generic.py +0 -0
  232. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/fortios/locale.py +0 -0
  233. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/iptables.py +0 -0
  234. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/modules.py +0 -0
  235. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/netstat.py +0 -0
  236. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/proc.py +0 -0
  237. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/processes.py +0 -0
  238. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/redhat/__init__.py +0 -0
  239. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/redhat/_os.py +0 -0
  240. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/redhat/yum.py +0 -0
  241. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/services.py +0 -0
  242. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/sockets.py +0 -0
  243. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/suse/__init__.py +0 -0
  244. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/suse/_os.py +0 -0
  245. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/linux/suse/zypper.py +0 -0
  246. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/locale.py +0 -0
  247. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/locate/__init__.py +0 -0
  248. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/locate/gnulocate.py +0 -0
  249. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/locate/locate.py +0 -0
  250. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/locate/mlocate.py +0 -0
  251. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/locate/plocate.py +0 -0
  252. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/__init__.py +0 -0
  253. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/atop.py +0 -0
  254. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/audit.py +0 -0
  255. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/auth.py +0 -0
  256. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/journal.py +0 -0
  257. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/lastlog.py +0 -0
  258. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/messages.py +0 -0
  259. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/log/utmp.py +0 -0
  260. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/packagemanager.py +0 -0
  261. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/unix/shadow.py +0 -0
  262. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/__init__.py +0 -0
  263. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/_os.py +0 -0
  264. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/activitiescache.py +0 -0
  265. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/adpolicy.py +0 -0
  266. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/amcache.py +0 -0
  267. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/catroot.py +0 -0
  268. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/cim.py +0 -0
  269. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/clfs.py +0 -0
  270. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/datetime.py +0 -0
  271. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/defender.py +0 -0
  272. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/dpapi/__init__.py +0 -0
  273. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/dpapi/blob.py +0 -0
  274. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/dpapi/crypto.py +0 -0
  275. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/dpapi/dpapi.py +0 -0
  276. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/dpapi/master_key.py +0 -0
  277. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/env.py +0 -0
  278. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/exchange/__init__.py +0 -0
  279. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/exchange/exchange.py +0 -0
  280. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/generic.py +0 -0
  281. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/lnk.py +0 -0
  282. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/locale.py +0 -0
  283. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/__init__.py +0 -0
  284. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/amcache.py +0 -0
  285. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/etl.py +0 -0
  286. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/evt.py +0 -0
  287. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/evtx.py +0 -0
  288. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/pfro.py +0 -0
  289. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/log/schedlgu.py +0 -0
  290. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/notifications.py +0 -0
  291. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/prefetch.py +0 -0
  292. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/recyclebin.py +0 -0
  293. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/7zip.py +0 -0
  294. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/__init__.py +0 -0
  295. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/appxdebugkeys.py +0 -0
  296. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/auditpol.py +0 -0
  297. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/bam.py +0 -0
  298. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/cit.py +0 -0
  299. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/clsid.py +0 -0
  300. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/firewall.py +0 -0
  301. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/mru.py +0 -0
  302. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/muicache.py +0 -0
  303. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/nethist.py +0 -0
  304. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/recentfilecache.py +0 -0
  305. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/regf.py +0 -0
  306. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/runkeys.py +0 -0
  307. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/shellbags.py +0 -0
  308. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/shimcache.py +0 -0
  309. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/trusteddocs.py +0 -0
  310. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/usb.py +0 -0
  311. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/regf/userassist.py +0 -0
  312. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/registry.py +0 -0
  313. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/sam.py +0 -0
  314. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/services.py +0 -0
  315. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/sru.py +0 -0
  316. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/startupinfo.py +0 -0
  317. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/syscache.py +0 -0
  318. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/task_helpers/__init__.py +0 -0
  319. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/task_helpers/tasks_job.py +0 -0
  320. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/task_helpers/tasks_records.py +0 -0
  321. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/task_helpers/tasks_xml.py +0 -0
  322. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/tasks.py +0 -0
  323. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/thumbcache.py +0 -0
  324. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/ual.py +0 -0
  325. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/plugins/os/windows/wer.py +0 -0
  326. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/report.py +0 -0
  327. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/target.py +0 -0
  328. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/__init__.py +0 -0
  329. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/build_pluginlist.py +0 -0
  330. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/dd.py +0 -0
  331. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/dump/__init__.py +0 -0
  332. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/fs.py +0 -0
  333. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/info.py +0 -0
  334. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/logging.py +0 -0
  335. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/mount.py +0 -0
  336. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/reg.py +0 -0
  337. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/tools/shell.py +0 -0
  338. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volume.py +0 -0
  339. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/__init__.py +0 -0
  340. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/bde.py +0 -0
  341. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/ddf.py +0 -0
  342. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/disk.py +0 -0
  343. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/luks.py +0 -0
  344. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/lvm.py +0 -0
  345. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/md.py +0 -0
  346. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect/target/volumes/vmfs.py +0 -0
  347. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect.target.egg-info/SOURCES.txt +0 -0
  348. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect.target.egg-info/dependency_links.txt +0 -0
  349. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect.target.egg-info/entry_points.txt +0 -0
  350. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect.target.egg-info/requires.txt +0 -0
  351. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/dissect.target.egg-info/top_level.txt +0 -0
  352. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/pyproject.toml +0 -0
  353. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/setup.cfg +0 -0
  354. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/__init__.py +0 -0
  355. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/_docs/Makefile +0 -0
  356. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/_docs/conf.py +0 -0
  357. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/_docs/index.rst +0 -0
  358. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/_utils.py +0 -0
  359. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/conftest.py +0 -0
  360. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/containers/__init__.py +0 -0
  361. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/containers/test_split.py +0 -0
  362. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/__init__.py +0 -0
  363. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_cb.py +0 -0
  364. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_config.py +0 -0
  365. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_cpio.py +0 -0
  366. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_dir.py +0 -0
  367. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_exfat.py +0 -0
  368. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_fat.py +0 -0
  369. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_ntfs.py +0 -0
  370. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_smb.py +0 -0
  371. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_tar.py +0 -0
  372. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_vmtar.py +0 -0
  373. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/filesystems/test_zip.py +0 -0
  374. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/__init__.py +0 -0
  375. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_cache.py +0 -0
  376. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_config.py +0 -0
  377. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_configutil.py +0 -0
  378. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_docs.py +0 -0
  379. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_fsutil.py +0 -0
  380. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_hashutil.py +0 -0
  381. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_keychain.py +0 -0
  382. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_loaderutil.py +0 -0
  383. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_localeutil.py +0 -0
  384. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_modifier.py +0 -0
  385. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_protobuf.py +0 -0
  386. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_record.py +0 -0
  387. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_regutil.py +0 -0
  388. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/helpers/test_utils.py +0 -0
  389. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/__init__.py +0 -0
  390. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_asdf.py +0 -0
  391. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_cb.py +0 -0
  392. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_dir.py +0 -0
  393. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_hyperv.py +0 -0
  394. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_kape.py +0 -0
  395. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_local.py +0 -0
  396. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_log.py +0 -0
  397. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_mqtt.py +0 -0
  398. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_multiraw.py +0 -0
  399. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_ova.py +0 -0
  400. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_ovf.py +0 -0
  401. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_phobos.py +0 -0
  402. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_pvm.py +0 -0
  403. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_pvs.py +0 -0
  404. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_remote.py +0 -0
  405. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_smb.py +0 -0
  406. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_tanium.py +0 -0
  407. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_tar.py +0 -0
  408. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_utm.py +0 -0
  409. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_vbox.py +0 -0
  410. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_velociraptor.py +0 -0
  411. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/loaders/test_vmwarevm.py +0 -0
  412. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/__init__.py +0 -0
  413. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/__init__.py +0 -0
  414. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/av/__init__.py +0 -0
  415. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/av/test_mcafee.py +0 -0
  416. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/av/test_sophos.py +0 -0
  417. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/av/test_symantec.py +0 -0
  418. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/av/test_trendmicro.py +0 -0
  419. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/__init__.py +0 -0
  420. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/test_brave.py +0 -0
  421. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/test_chrome.py +0 -0
  422. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/test_chromium.py +0 -0
  423. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/test_edge.py +0 -0
  424. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/test_firefox.py +0 -0
  425. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/browser/test_iexplore.py +0 -0
  426. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/container/__init__.py +0 -0
  427. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/container/test_docker.py +0 -0
  428. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/remoteaccess/__init__.py +0 -0
  429. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/remoteaccess/test_anydesk.py +0 -0
  430. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/remoteaccess/test_teamviewer.py +0 -0
  431. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/shell/__init__.py +0 -0
  432. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/shell/test_powershell.py +0 -0
  433. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/ssh/__init__.py +0 -0
  434. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/ssh/test_openssh.py +0 -0
  435. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/ssh/test_opensshd.py +0 -0
  436. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/ssh/test_putty.py +0 -0
  437. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/vpn/__init__.py +0 -0
  438. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/vpn/test_openvpn.py +0 -0
  439. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/vpn/test_wireguard.py +0 -0
  440. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webhosting/__init__.py +0 -0
  441. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webhosting/test_cpanel.py +0 -0
  442. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/__init__.py +0 -0
  443. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/test_apache.py +0 -0
  444. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/test_caddy.py +0 -0
  445. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/test_citrix.py +0 -0
  446. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/test_iis.py +0 -0
  447. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/test_nginx.py +0 -0
  448. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/apps/webserver/test_webserver.py +0 -0
  449. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/child/__init__.py +0 -0
  450. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/child/test_hyperv.py +0 -0
  451. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/child/test_virtuozzo.py +0 -0
  452. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/child/test_wsl.py +0 -0
  453. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/__init__.py +0 -0
  454. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/ntfs/__init__.py +0 -0
  455. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/ntfs/test_mft.py +0 -0
  456. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/ntfs/test_usnjrnl.py +0 -0
  457. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/test_acquire_handles.py +0 -0
  458. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/test_acquire_hash.py +0 -0
  459. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/test_icat.py +0 -0
  460. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/test_resolver.py +0 -0
  461. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/test_walkfs.py +0 -0
  462. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/test_yara.py +0 -0
  463. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/unix/__init__.py +0 -0
  464. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/unix/test_capability.py +0 -0
  465. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/filesystem/unix/test_suid.py +0 -0
  466. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/general/__init__.py +0 -0
  467. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/general/test_config.py +0 -0
  468. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/general/test_default.py +0 -0
  469. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/general/test_plugins.py +0 -0
  470. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/general/test_scrape.py +0 -0
  471. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/general/test_users.py +0 -0
  472. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/__init__.py +0 -0
  473. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/__init__.py +0 -0
  474. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/__init__.py +0 -0
  475. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/citrix/__init__.py +0 -0
  476. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/citrix/test__os.py +0 -0
  477. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/citrix/test_history.py +0 -0
  478. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/osx/__init__.py +0 -0
  479. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/osx/test__os.py +0 -0
  480. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/bsd/osx/test_user.py +0 -0
  481. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/esxi/__init__.py +0 -0
  482. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/esxi/test__os.py +0 -0
  483. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/__init__.py +0 -0
  484. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/android/__init__.py +0 -0
  485. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/android/test__os.py +0 -0
  486. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/debian/__init__.py +0 -0
  487. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/debian/test_apt.py +0 -0
  488. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/debian/test_dpkg.py +0 -0
  489. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/fortios/test_keys.py +0 -0
  490. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/redhat/__init__.py +0 -0
  491. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/redhat/test_yum.py +0 -0
  492. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/suse/__init__.py +0 -0
  493. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/suse/test_zypper.py +0 -0
  494. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_cmdline.py +0 -0
  495. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_environ.py +0 -0
  496. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_iptables.py +0 -0
  497. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_modules.py +0 -0
  498. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_netstat.py +0 -0
  499. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_proc.py +0 -0
  500. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_processes.py +0 -0
  501. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_services.py +0 -0
  502. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/linux/test_sockets.py +0 -0
  503. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/locate/__init__.py +0 -0
  504. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/locate/test_gnulocate.py +0 -0
  505. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/locate/test_mlocate.py +0 -0
  506. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/locate/test_plocate.py +0 -0
  507. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/__init__.py +0 -0
  508. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/test_atop.py +0 -0
  509. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/test_audit.py +0 -0
  510. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/test_auth.py +0 -0
  511. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/test_lastlog.py +0 -0
  512. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/test_messages.py +0 -0
  513. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/log/test_utmp.py +0 -0
  514. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test__os.py +0 -0
  515. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_generic.py +0 -0
  516. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_history.py +0 -0
  517. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_ips.py +0 -0
  518. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_journal.py +0 -0
  519. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_locale.py +0 -0
  520. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_packagemanager.py +0 -0
  521. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_shadow.py +0 -0
  522. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_users.py +0 -0
  523. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/unix/test_version.py +0 -0
  524. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/__init__.py +0 -0
  525. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/log/test_etl.py +0 -0
  526. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/log/test_evt.py +0 -0
  527. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/log/test_evtx.py +0 -0
  528. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/log/test_schedlgu.py +0 -0
  529. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/__init__.py +0 -0
  530. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/test_appxdebugkeys.py +0 -0
  531. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/test_cit.py +0 -0
  532. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/test_clsid.py +0 -0
  533. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/test_muicache.py +0 -0
  534. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/test_trusteddocs.py +0 -0
  535. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/regf/test_userassist.py +0 -0
  536. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test__os.py +0 -0
  537. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_adpolicy.py +0 -0
  538. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_amcache.py +0 -0
  539. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_catroot.py +0 -0
  540. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_clfs.py +0 -0
  541. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_datetime.py +0 -0
  542. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_defender.py +0 -0
  543. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_dpapi.py +0 -0
  544. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_env.py +0 -0
  545. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_generic.py +0 -0
  546. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_lnk.py +0 -0
  547. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_locale.py +0 -0
  548. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_mru.py +0 -0
  549. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_notifications.py +0 -0
  550. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_prefetch.py +0 -0
  551. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_recyclebin.py +0 -0
  552. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_registry.py +0 -0
  553. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_sam.py +0 -0
  554. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_shimcache.py +0 -0
  555. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_sru.py +0 -0
  556. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_syscache.py +0 -0
  557. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_tasks.py +0 -0
  558. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_thumbcache.py +0 -0
  559. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_ual.py +0 -0
  560. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/plugins/os/windows/test_wer.py +0 -0
  561. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_container.py +0 -0
  562. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_filesystem.py +0 -0
  563. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_plugin.py +0 -0
  564. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_registration.py +0 -0
  565. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_report.py +0 -0
  566. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_target.py +0 -0
  567. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/test_volume.py +0 -0
  568. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/__init__.py +0 -0
  569. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_fs.py +0 -0
  570. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_mount.py +0 -0
  571. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_reg.py +0 -0
  572. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_shell.py +0 -0
  573. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/tools/test_utils.py +0 -0
  574. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/volumes/__init__.py +0 -0
  575. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/volumes/test_bde.py +0 -0
  576. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tests/volumes/test_md.py +0 -0
  577. {dissect.target-3.17.dev12 → dissect.target-3.17.dev13}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.target
3
- Version: 3.17.dev12
3
+ Version: 3.17.dev13
4
4
  Summary: This module ties all other Dissect modules together, it provides a programming API and command line tools which allow easy access to various data sources inside disk images or file collections (a.k.a. targets)
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -7,7 +7,7 @@ import sys
7
7
  from collections import deque
8
8
  from dataclasses import dataclass
9
9
  from pathlib import Path
10
- from typing import Any, Generator, Iterable, List, Optional, Tuple
10
+ from typing import Any, Iterable, Iterator, Optional
11
11
 
12
12
  import structlog
13
13
  from flow.record import Record
@@ -25,10 +25,12 @@ from dissect.target.tools.dump.utils import (
25
25
  Compression,
26
26
  Serialization,
27
27
  cached_sink_writers,
28
- get_nested_attr,
29
28
  )
30
29
  from dissect.target.tools.utils import (
30
+ PluginFunction,
31
31
  configure_generic_arguments,
32
+ execute_function_on_target,
33
+ find_and_filter_plugins,
32
34
  process_generic_arguments,
33
35
  )
34
36
 
@@ -44,13 +46,13 @@ class RecordStreamElement:
44
46
  sink_path: Optional[Path] = None
45
47
 
46
48
 
47
- def get_targets(targets: List[str]) -> Generator[Target, None, None]:
49
+ def get_targets(targets: list[str]) -> Iterator[Target]:
48
50
  """Return a generator with `Target` objects for provided paths"""
49
51
  for target in Target.open_all(targets):
50
52
  yield target
51
53
 
52
54
 
53
- def execute_function(target: Target, function: str) -> Generator[TargetRecordDescriptor, None, None]:
55
+ def execute_function(target: Target, function: PluginFunction) -> TargetRecordDescriptor:
54
56
  """
55
57
  Execute function `function` on provided target `target` and return a generator
56
58
  with the records produced.
@@ -62,7 +64,7 @@ def execute_function(target: Target, function: str) -> Generator[TargetRecordDes
62
64
  local_log.debug("Function execution")
63
65
 
64
66
  try:
65
- target_attr = get_nested_attr(target, function)
67
+ output_type, target_attr, _ = execute_function_on_target(target, function)
66
68
  except UnsupportedPluginError:
67
69
  local_log.error("Function is not supported for target", exc_info=True)
68
70
  return
@@ -70,15 +72,8 @@ def execute_function(target: Target, function: str) -> Generator[TargetRecordDes
70
72
  local_log.error("Plugin error while executing function for target", exc_info=True)
71
73
  return
72
74
 
73
- # skip non-record outputs
74
- try:
75
- output = getattr(target_attr, "__output__", "default") if hasattr(target_attr, "__output__") else None
76
- except PluginError as e:
77
- local_log.error("Plugin error while fetching an attribute", exc_info=e)
78
- return
79
-
80
- if output != "record":
81
- local_log.warn("Output format is not supported", output=output)
75
+ if output_type != "record":
76
+ local_log.warn("Output format is not supported", output=output_type)
82
77
  return
83
78
 
84
79
  # no support for function-specific arguments
@@ -94,9 +89,9 @@ def execute_function(target: Target, function: str) -> Generator[TargetRecordDes
94
89
 
95
90
  def produce_target_func_pairs(
96
91
  targets: Iterable[Target],
97
- functions: List[str],
92
+ functions: str,
98
93
  state: DumpState,
99
- ) -> Generator[Tuple[Target, str], None, None]:
94
+ ) -> Iterator[tuple[Target, PluginFunction]]:
100
95
  """
101
96
  Return a generator with target and function pairs for execution.
102
97
 
@@ -107,20 +102,20 @@ def produce_target_func_pairs(
107
102
  pairs_to_skip.update((str(sink.target_path), sink.func) for sink in state.finished_sinks)
108
103
 
109
104
  for target in targets:
110
- for func in functions:
111
- if state and (target.path, func) in pairs_to_skip:
105
+ for func_def in find_and_filter_plugins(target, functions):
106
+ if state and (target.path, func_def.name) in pairs_to_skip:
112
107
  log.info(
113
108
  "Skipping target/func pair since its marked as done in provided state",
114
109
  target=target.path,
115
- func=func,
110
+ func=func_def.name,
116
111
  state=state.path,
117
112
  )
118
113
  continue
119
- yield (target, func)
120
- state.mark_as_finished(target, func)
114
+ yield (target, func_def)
115
+ state.mark_as_finished(target, func_def.name)
121
116
 
122
117
 
123
- def execute_functions(target_func_stream: Iterable[Tuple[Target, str]]) -> Generator[RecordStreamElement, None, None]:
118
+ def execute_functions(target_func_stream: Iterable[tuple[Target, str]]) -> Iterable[RecordStreamElement]:
124
119
  """
125
120
  Execute a function on a target for target / function pairs in the stream.
126
121
 
@@ -131,7 +126,7 @@ def execute_functions(target_func_stream: Iterable[Tuple[Target, str]]) -> Gener
131
126
  yield RecordStreamElement(target=target, func=func, record=record)
132
127
 
133
128
 
134
- def log_progress(stream: Iterable[Any], step_size: int = 1000) -> Generator[Any, None, None]:
129
+ def log_progress(stream: Iterable[Any], step_size: int = 1000) -> Iterable[Any]:
135
130
  """
136
131
  Log a number of items that went though the generator stream
137
132
  after every N element (N is configured in `step_size`).
@@ -155,7 +150,7 @@ def log_progress(stream: Iterable[Any], step_size: int = 1000) -> Generator[Any,
155
150
  def sink_records(
156
151
  record_stream: Iterable[RecordStreamElement],
157
152
  state: DumpState,
158
- ) -> Generator[RecordStreamElement, None, None]:
153
+ ) -> Iterator[RecordStreamElement]:
159
154
  """
160
155
  Persist records from the stream into appropriate sinks, per serialization, compression and record type.
161
156
  """
@@ -168,7 +163,7 @@ def sink_records(
168
163
  def persist_processing_state(
169
164
  record_stream: Iterable[RecordStreamElement],
170
165
  state: DumpState,
171
- ) -> Generator[RecordStreamElement, None, None]:
166
+ ) -> Iterator[RecordStreamElement]:
172
167
  """
173
168
  Keep track of the pipeline state in a persistent state object.
174
169
  """
@@ -179,8 +174,8 @@ def persist_processing_state(
179
174
 
180
175
 
181
176
  def execute_pipeline(
182
- targets: List[str],
183
- functions: List[str],
177
+ targets: list[str],
178
+ functions: str,
184
179
  output_dir: Path,
185
180
  serialization: Serialization,
186
181
  compression: Optional[Compression] = None,
@@ -297,7 +292,7 @@ def main():
297
292
  try:
298
293
  execute_pipeline(
299
294
  targets=args.targets,
300
- functions=args.function.split(","),
295
+ functions=args.function,
301
296
  output_dir=args.output,
302
297
  serialization=Serialization(args.serialization),
303
298
  compression=Compression(args.compression),
@@ -6,7 +6,7 @@ import json
6
6
  from contextlib import contextmanager
7
7
  from dataclasses import dataclass
8
8
  from pathlib import Path
9
- from typing import Any, Callable, Iterator, List, Optional, TextIO
9
+ from typing import Any, Callable, Iterator, Optional, TextIO
10
10
 
11
11
  import structlog
12
12
 
@@ -35,17 +35,20 @@ class Sink:
35
35
  record_count: int = 0
36
36
  size_bytes: int = 0
37
37
 
38
+ def __post_init__(self):
39
+ self.func = getattr(self.func, "name", self.func)
40
+
38
41
 
39
42
  @dataclass
40
43
  class DumpState:
41
- target_paths: List[str]
42
- functions: List[str]
44
+ target_paths: list[str]
45
+ functions: list[str]
43
46
  serialization: str
44
47
  compression: str
45
48
  start_time: datetime.datetime
46
49
  last_update_time: datetime.datetime
47
50
 
48
- sinks: List[Sink] = dataclasses.field(default_factory=list)
51
+ sinks: list[Sink] = dataclasses.field(default_factory=list)
49
52
 
50
53
  # Volatile properties
51
54
  output_dir: Optional[Path] = None
@@ -56,7 +59,7 @@ class DumpState:
56
59
  return sum(s.record_count for s in self.sinks)
57
60
 
58
61
  @property
59
- def finished_sinks(self) -> List[Sink]:
62
+ def finished_sinks(self) -> list[Sink]:
60
63
  return [sink for sink in self.sinks if not sink.is_dirty]
61
64
 
62
65
  @property
@@ -178,7 +181,7 @@ class DumpState:
178
181
  state.output_dir = output_dir
179
182
  return state
180
183
 
181
- def get_invalid_sinks(self) -> List[Sink]:
184
+ def get_invalid_sinks(self) -> list[Sink]:
182
185
  """Return sinks that have a mismatch between recorded size and a real file size"""
183
186
  invalid_sinks = []
184
187
  for sink in self.sinks:
@@ -214,8 +217,8 @@ class DumpState:
214
217
  def create_state(
215
218
  *,
216
219
  output_dir: Path,
217
- target_paths: List[str],
218
- functions: List[str],
220
+ target_paths: list[str],
221
+ functions: list[str],
219
222
  serialization: Serialization,
220
223
  compression: Compression = None,
221
224
  ) -> DumpState:
@@ -32,6 +32,7 @@ from flow.record.adapter.jsonfile import JsonfileWriter
32
32
  from flow.record.jsonpacker import JsonRecordPacker
33
33
 
34
34
  from dissect.target import Target
35
+ from dissect.target.plugin import PluginFunction
35
36
 
36
37
  log = structlog.get_logger(__name__)
37
38
 
@@ -69,14 +70,14 @@ def get_nested_attr(obj: Any, nested_attr: str) -> Any:
69
70
 
70
71
 
71
72
  @lru_cache(maxsize=DEST_DIR_CACHE_SIZE)
72
- def get_sink_dir_by_target(target: Target, function: str) -> Path:
73
- func_first_name, _, _ = function.partition(".")
73
+ def get_sink_dir_by_target(target: Target, function: PluginFunction) -> Path:
74
+ func_first_name, _, _ = function.name.partition(".")
74
75
  return Path(target.name) / func_first_name
75
76
 
76
77
 
77
78
  @functools.lru_cache(maxsize=DEST_DIR_CACHE_SIZE)
78
- def get_sink_dir_by_func(target: Target, function: str) -> Path:
79
- func_first_name, _, _ = function.partition(".")
79
+ def get_sink_dir_by_func(target: Target, function: PluginFunction) -> Path:
80
+ func_first_name, _, _ = function.name.partition(".")
80
81
  return Path(func_first_name) / target.name
81
82
 
82
83
 
@@ -26,6 +26,7 @@ from dissect.target.tools.utils import (
26
26
  catch_sigpipe,
27
27
  configure_generic_arguments,
28
28
  execute_function_on_target,
29
+ find_and_filter_plugins,
29
30
  generate_argparse_for_bound_method,
30
31
  generate_argparse_for_plugin_class,
31
32
  generate_argparse_for_unbound_method,
@@ -270,25 +271,13 @@ def main():
270
271
  basic_entries = []
271
272
  yield_entries = []
272
273
 
273
- # Keep a set of plugins that were already executed on the target.
274
- executed_plugins = set()
275
-
276
274
  first_seen_output_type = default_output_type
277
275
  cli_params_unparsed = rest
278
276
 
279
- func_defs, _ = find_plugin_functions(target, args.function, compatibility=False)
280
277
  excluded_funcs, _ = find_plugin_functions(target, args.excluded_functions, compatibility=False)
281
278
  excluded_func_paths = {excluded_func.path for excluded_func in excluded_funcs}
282
279
 
283
- for func_def in func_defs:
284
- if func_def.path in excluded_func_paths:
285
- continue
286
-
287
- # Avoid executing same plugin for multiple OSes (like hostname)
288
- if func_def.name in executed_plugins:
289
- continue
290
- executed_plugins.add(func_def.name)
291
-
280
+ for func_def in find_and_filter_plugins(target, args.function, excluded_func_paths):
292
281
  # If the default type is record (meaning we skip everything else)
293
282
  # and actual output type is not record, continue.
294
283
  # We perform this check here because plugins that require output files/dirs
@@ -21,6 +21,7 @@ from dissect.target.plugin import (
21
21
  OSPlugin,
22
22
  Plugin,
23
23
  PluginFunction,
24
+ find_plugin_functions,
24
25
  get_external_module_paths,
25
26
  load_modules_from_paths,
26
27
  )
@@ -289,3 +290,25 @@ def args_to_uri(targets: list[str], loader_name: str, rest: list[str]) -> list[s
289
290
  for target in targets:
290
291
  uris.append(f"{loader_name}://{target}" + (("?" + urllib.parse.urlencode(args)) if args else ""))
291
292
  return uris
293
+
294
+
295
+ def find_and_filter_plugins(
296
+ target: Target, functions: str, excluded_func_paths: set[str] = None
297
+ ) -> Iterator[PluginFunction]:
298
+ # Keep a set of plugins that were already executed on the target.
299
+ executed_plugins = set()
300
+ excluded_func_paths = excluded_func_paths or set()
301
+
302
+ func_defs, _ = find_plugin_functions(target, functions, compatibility=False)
303
+
304
+ for func_def in func_defs:
305
+ if func_def.path in excluded_func_paths:
306
+ continue
307
+
308
+ # Avoid executing same plugin for multiple OSes (like hostname)
309
+ if func_def.name in executed_plugins:
310
+ continue
311
+
312
+ executed_plugins.add(func_def.name)
313
+
314
+ yield func_def
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.target
3
- Version: 3.17.dev12
3
+ Version: 3.17.dev13
4
4
  Summary: This module ties all other Dissect modules together, it provides a programming API and command line tools which allow easy access to various data sources inside disk images or file collections (a.k.a. targets)
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -62,7 +62,7 @@ def test_execute_pipeline(
62
62
  serialization = utils.Serialization(serialization_name)
63
63
  compression = utils.Compression(compression_name)
64
64
 
65
- functions = ["iis.logs", "amcache.applications"]
65
+ functions = "iis.logs,amcache.applications"
66
66
 
67
67
  run.execute_pipeline(
68
68
  targets=["dummy"],
@@ -112,7 +112,7 @@ def test_execute_pipeline(
112
112
  sink_blobs = state_blob["sinks"]
113
113
 
114
114
  assert len(sink_blobs) == 2
115
- assert {s["func"] for s in sink_blobs} == set(functions)
115
+ assert {s["func"] for s in sink_blobs} == set(functions.split(","))
116
116
 
117
117
  assert all(s["is_dirty"] is False for s in sink_blobs)
118
118
 
@@ -150,7 +150,7 @@ def test_execute_pipeline_limited(limit, target_win_iis_amcache, tmp_path):
150
150
  ):
151
151
  output_dir = tmp_path / "output"
152
152
 
153
- functions = ["iis.logs", "amcache.applications"]
153
+ functions = "iis.logs,amcache.applications"
154
154
 
155
155
  run.execute_pipeline(
156
156
  targets=["dummy"],
@@ -203,7 +203,7 @@ def test_execute_pipeline_limited(limit, target_win_iis_amcache, tmp_path):
203
203
  assert (output_dir / target_name / "amcache" / amcache_sink_filename).exists()
204
204
 
205
205
  assert len(sink_blobs) == 2
206
- assert {s["func"] for s in sink_blobs} == set(functions)
206
+ assert {s["func"] for s in sink_blobs} == set(functions.split(","))
207
207
 
208
208
  amcache_sink_blob = next(s for s in state_blob["sinks"] if s["func"] == "amcache.applications")
209
209
 
@@ -198,6 +198,11 @@ def test_target_query_filtered_functions(monkeypatch: pytest.MonkeyPatch) -> Non
198
198
  autospec=True,
199
199
  side_effect=mock_find_plugin_function,
200
200
  ),
201
+ patch(
202
+ "dissect.target.tools.utils.find_plugin_functions",
203
+ autospec=True,
204
+ side_effect=mock_find_plugin_function,
205
+ ),
201
206
  patch(
202
207
  "dissect.target.tools.query.execute_function_on_target",
203
208
  autospec=True,