dissect.target 3.18.dev1__tar.gz → 3.18.dev3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. {dissect_target-3.18.dev1/dissect.target.egg-info → dissect_target-3.18.dev3}/PKG-INFO +1 -1
  2. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/av/mcafee.py +3 -0
  3. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/av/sophos.py +6 -0
  4. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/av/symantec.py +6 -0
  5. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/av/trendmicro.py +6 -0
  6. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/chromium.py +12 -0
  7. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/firefox.py +13 -1
  8. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/iexplore.py +6 -0
  9. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/cmdline.py +3 -0
  10. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/environ.py +3 -0
  11. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/processes.py +3 -0
  12. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/sockets.py +15 -0
  13. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/locate/plocate.py +33 -23
  14. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/atop.py +3 -0
  15. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/activitiescache.py +3 -0
  16. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/catroot.py +6 -0
  17. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/lnk.py +3 -0
  18. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/etl.py +9 -0
  19. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/evt.py +3 -0
  20. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/evtx.py +3 -0
  21. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/pfro.py +3 -0
  22. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/schedlgu.py +5 -2
  23. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/prefetch.py +6 -0
  24. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/recyclebin.py +3 -0
  25. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/appxdebugkeys.py +3 -0
  26. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/bam.py +3 -0
  27. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/clsid.py +3 -0
  28. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/firewall.py +3 -0
  29. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/muicache.py +3 -0
  30. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/recentfilecache.py +3 -0
  31. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/regf.py +6 -0
  32. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/runkeys.py +3 -0
  33. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/shimcache.py +3 -0
  34. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/trusteddocs.py +3 -0
  35. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/usb.py +3 -0
  36. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/userassist.py +3 -0
  37. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/sam.py +3 -0
  38. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/services.py +3 -0
  39. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/wer.py +3 -0
  40. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3/dissect.target.egg-info}/PKG-INFO +1 -1
  41. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/locate/test_plocate.py +6 -1
  42. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/COPYRIGHT +0 -0
  43. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/LICENSE +0 -0
  44. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/MANIFEST.in +0 -0
  45. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/README.md +0 -0
  46. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/__init__.py +0 -0
  47. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/container.py +0 -0
  48. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/__init__.py +0 -0
  49. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/asdf.py +0 -0
  50. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/ewf.py +0 -0
  51. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/fortifw.py +0 -0
  52. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/hdd.py +0 -0
  53. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/hds.py +0 -0
  54. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/qcow2.py +0 -0
  55. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/raw.py +0 -0
  56. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/split.py +0 -0
  57. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/vdi.py +0 -0
  58. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/vhd.py +0 -0
  59. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/vhdx.py +0 -0
  60. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/containers/vmdk.py +0 -0
  61. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/data/autocompletion/target_bash_completion.sh +0 -0
  62. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/exceptions.py +0 -0
  63. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystem.py +0 -0
  64. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/__init__.py +0 -0
  65. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/ad1.py +0 -0
  66. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/btrfs.py +0 -0
  67. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/cb.py +0 -0
  68. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/config.py +0 -0
  69. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/cpio.py +0 -0
  70. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/dir.py +0 -0
  71. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/exfat.py +0 -0
  72. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/extfs.py +0 -0
  73. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/fat.py +0 -0
  74. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/ffs.py +0 -0
  75. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/itunes.py +0 -0
  76. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/jffs.py +0 -0
  77. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/ntfs.py +0 -0
  78. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/overlay.py +0 -0
  79. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/smb.py +0 -0
  80. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/squashfs.py +0 -0
  81. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/tar.py +0 -0
  82. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/vmfs.py +0 -0
  83. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/vmtar.py +0 -0
  84. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/xfs.py +0 -0
  85. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/filesystems/zip.py +0 -0
  86. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/__init__.py +0 -0
  87. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/cache.py +0 -0
  88. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/compat/__init__.py +0 -0
  89. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/compat/path_310.py +0 -0
  90. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/compat/path_311.py +0 -0
  91. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/compat/path_312.py +0 -0
  92. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/compat/path_39.py +0 -0
  93. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/compat/path_common.py +0 -0
  94. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/config.py +0 -0
  95. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/configutil.py +0 -0
  96. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/cyber.py +0 -0
  97. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/data/windowsZones.xml +0 -0
  98. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/descriptor_extensions.py +0 -0
  99. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/docs.py +0 -0
  100. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/fsutil.py +0 -0
  101. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/hashutil.py +0 -0
  102. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/keychain.py +0 -0
  103. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/lazy.py +0 -0
  104. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/loaderutil.py +0 -0
  105. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/localeutil.py +0 -0
  106. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/mount.py +0 -0
  107. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/mui.py +0 -0
  108. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/network_managers.py +0 -0
  109. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/polypath.py +0 -0
  110. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/protobuf.py +0 -0
  111. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/record.py +0 -0
  112. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/record_modifier.py +0 -0
  113. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/regutil.py +0 -0
  114. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/shell_folder_ids.py +0 -0
  115. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/ssh.py +0 -0
  116. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/targetd.py +0 -0
  117. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/helpers/utils.py +0 -0
  118. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loader.py +0 -0
  119. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/__init__.py +0 -0
  120. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/ad1.py +0 -0
  121. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/asdf.py +0 -0
  122. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/cb.py +0 -0
  123. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/cyber.py +0 -0
  124. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/dir.py +0 -0
  125. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/hyperv.py +0 -0
  126. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/itunes.py +0 -0
  127. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/kape.py +0 -0
  128. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/local.py +0 -0
  129. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/log.py +0 -0
  130. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/mqtt.py +0 -0
  131. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/multiraw.py +0 -0
  132. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/ova.py +0 -0
  133. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/overlay.py +0 -0
  134. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/ovf.py +0 -0
  135. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/phobos.py +0 -0
  136. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/profile.py +0 -0
  137. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/pvm.py +0 -0
  138. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/pvs.py +0 -0
  139. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/raw.py +0 -0
  140. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/remote.py +0 -0
  141. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/res.py +0 -0
  142. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/smb.py +0 -0
  143. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/tanium.py +0 -0
  144. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/tar.py +0 -0
  145. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/target.py +0 -0
  146. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/targetd.py +0 -0
  147. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/utm.py +0 -0
  148. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/vb.py +0 -0
  149. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/vbox.py +0 -0
  150. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/velociraptor.py +0 -0
  151. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/vma.py +0 -0
  152. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/vmwarevm.py +0 -0
  153. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/vmx.py +0 -0
  154. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/loaders/xva.py +0 -0
  155. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugin.py +0 -0
  156. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/__init__.py +0 -0
  157. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/__init__.py +0 -0
  158. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/av/__init__.py +0 -0
  159. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/__init__.py +0 -0
  160. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/brave.py +0 -0
  161. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/browser.py +0 -0
  162. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/chrome.py +0 -0
  163. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/browser/edge.py +0 -0
  164. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/container/__init__.py +0 -0
  165. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/container/docker.py +0 -0
  166. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/remoteaccess/__init__.py +0 -0
  167. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/remoteaccess/anydesk.py +0 -0
  168. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/remoteaccess/remoteaccess.py +0 -0
  169. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/remoteaccess/teamviewer.py +0 -0
  170. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/shell/__init__.py +0 -0
  171. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/shell/powershell.py +0 -0
  172. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/ssh/__init__.py +0 -0
  173. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/ssh/openssh.py +0 -0
  174. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/ssh/opensshd.py +0 -0
  175. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/ssh/putty.py +0 -0
  176. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/ssh/ssh.py +0 -0
  177. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/vpn/__init__.py +0 -0
  178. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/vpn/openvpn.py +0 -0
  179. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/vpn/wireguard.py +0 -0
  180. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webhosting/__init__.py +0 -0
  181. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webhosting/cpanel.py +0 -0
  182. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/__init__.py +0 -0
  183. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/apache.py +0 -0
  184. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/caddy.py +0 -0
  185. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/citrix.py +0 -0
  186. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/iis.py +0 -0
  187. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/nginx.py +0 -0
  188. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/apps/webserver/webserver.py +0 -0
  189. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/__init__.py +0 -0
  190. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/docker.py +0 -0
  191. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/esxi.py +0 -0
  192. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/hyperv.py +0 -0
  193. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/virtuozzo.py +0 -0
  194. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/vmware_workstation.py +0 -0
  195. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/child/wsl.py +0 -0
  196. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/__init__.py +0 -0
  197. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/acquire_handles.py +0 -0
  198. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/acquire_hash.py +0 -0
  199. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/icat.py +0 -0
  200. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/ntfs/__init__.py +0 -0
  201. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/ntfs/mft.py +0 -0
  202. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/ntfs/mft_timeline.py +0 -0
  203. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/ntfs/usnjrnl.py +0 -0
  204. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/ntfs/utils.py +0 -0
  205. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/resolver.py +0 -0
  206. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/unix/__init__.py +0 -0
  207. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/unix/capability.py +0 -0
  208. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/unix/suid.py +0 -0
  209. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/walkfs.py +0 -0
  210. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/filesystem/yara.py +0 -0
  211. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/__init__.py +0 -0
  212. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/config.py +0 -0
  213. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/default.py +0 -0
  214. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/example.py +0 -0
  215. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/loaders.py +0 -0
  216. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/osinfo.py +0 -0
  217. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/plugins.py +0 -0
  218. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/scrape.py +0 -0
  219. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/general/users.py +0 -0
  220. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/__init__.py +0 -0
  221. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/__init__.py +0 -0
  222. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/_os.py +0 -0
  223. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/__init__.py +0 -0
  224. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/_os.py +0 -0
  225. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/citrix/__init__.py +0 -0
  226. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/citrix/_os.py +0 -0
  227. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/citrix/history.py +0 -0
  228. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/freebsd/__init__.py +0 -0
  229. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/freebsd/_os.py +0 -0
  230. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/ios/__init__.py +0 -0
  231. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/ios/_os.py +0 -0
  232. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/openbsd/__init__.py +0 -0
  233. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/openbsd/_os.py +0 -0
  234. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/osx/__init__.py +0 -0
  235. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/osx/_os.py +0 -0
  236. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/bsd/osx/user.py +0 -0
  237. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/cronjobs.py +0 -0
  238. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/datetime.py +0 -0
  239. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/esxi/__init__.py +0 -0
  240. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/esxi/_os.py +0 -0
  241. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/etc.py +0 -0
  242. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/generic.py +0 -0
  243. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/history.py +0 -0
  244. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/__init__.py +0 -0
  245. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/_os.py +0 -0
  246. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/android/__init__.py +0 -0
  247. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/android/_os.py +0 -0
  248. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/debian/__init__.py +0 -0
  249. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/debian/_os.py +0 -0
  250. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/debian/apt.py +0 -0
  251. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/debian/dpkg.py +0 -0
  252. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/debian/vyos/__init__.py +0 -0
  253. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/debian/vyos/_os.py +0 -0
  254. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/fortios/__init__.py +0 -0
  255. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/fortios/_keys.py +0 -0
  256. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/fortios/_os.py +0 -0
  257. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/fortios/generic.py +0 -0
  258. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/fortios/locale.py +0 -0
  259. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/iptables.py +0 -0
  260. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/modules.py +0 -0
  261. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/netstat.py +0 -0
  262. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/proc.py +0 -0
  263. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/redhat/__init__.py +0 -0
  264. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/redhat/_os.py +0 -0
  265. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/redhat/yum.py +0 -0
  266. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/services.py +0 -0
  267. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/suse/__init__.py +0 -0
  268. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/suse/_os.py +0 -0
  269. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/linux/suse/zypper.py +0 -0
  270. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/locale.py +0 -0
  271. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/locate/__init__.py +0 -0
  272. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/locate/gnulocate.py +0 -0
  273. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/locate/locate.py +0 -0
  274. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/locate/mlocate.py +0 -0
  275. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/__init__.py +0 -0
  276. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/audit.py +0 -0
  277. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/auth.py +0 -0
  278. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/journal.py +0 -0
  279. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/lastlog.py +0 -0
  280. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/messages.py +0 -0
  281. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/log/utmp.py +0 -0
  282. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/packagemanager.py +0 -0
  283. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/unix/shadow.py +0 -0
  284. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/__init__.py +0 -0
  285. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/_os.py +0 -0
  286. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/adpolicy.py +0 -0
  287. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/amcache.py +0 -0
  288. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/cim.py +0 -0
  289. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/clfs.py +0 -0
  290. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/credhist.py +0 -0
  291. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/datetime.py +0 -0
  292. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/defender.py +0 -0
  293. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/dpapi/__init__.py +0 -0
  294. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/dpapi/blob.py +0 -0
  295. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/dpapi/crypto.py +0 -0
  296. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/dpapi/dpapi.py +0 -0
  297. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/dpapi/master_key.py +0 -0
  298. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/env.py +0 -0
  299. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/exchange/__init__.py +0 -0
  300. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/exchange/exchange.py +0 -0
  301. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/generic.py +0 -0
  302. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/locale.py +0 -0
  303. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/__init__.py +0 -0
  304. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/log/amcache.py +0 -0
  305. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/notifications.py +0 -0
  306. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/7zip.py +0 -0
  307. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/__init__.py +0 -0
  308. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/auditpol.py +0 -0
  309. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/cit.py +0 -0
  310. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/mru.py +0 -0
  311. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/nethist.py +0 -0
  312. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/regf/shellbags.py +0 -0
  313. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/registry.py +0 -0
  314. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/sru.py +0 -0
  315. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/startupinfo.py +0 -0
  316. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/syscache.py +0 -0
  317. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/task_helpers/__init__.py +0 -0
  318. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/task_helpers/tasks_job.py +0 -0
  319. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/task_helpers/tasks_records.py +0 -0
  320. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/task_helpers/tasks_xml.py +0 -0
  321. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/tasks.py +0 -0
  322. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/thumbcache.py +0 -0
  323. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/plugins/os/windows/ual.py +0 -0
  324. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/report.py +0 -0
  325. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/target.py +0 -0
  326. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/__init__.py +0 -0
  327. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/build_pluginlist.py +0 -0
  328. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/dd.py +0 -0
  329. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/dump/__init__.py +0 -0
  330. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/dump/run.py +0 -0
  331. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/dump/state.py +0 -0
  332. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/dump/utils.py +0 -0
  333. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/fs.py +0 -0
  334. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/info.py +0 -0
  335. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/logging.py +0 -0
  336. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/mount.py +0 -0
  337. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/query.py +0 -0
  338. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/reg.py +0 -0
  339. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/shell.py +0 -0
  340. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/tools/utils.py +0 -0
  341. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volume.py +0 -0
  342. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/__init__.py +0 -0
  343. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/bde.py +0 -0
  344. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/ddf.py +0 -0
  345. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/disk.py +0 -0
  346. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/luks.py +0 -0
  347. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/lvm.py +0 -0
  348. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/md.py +0 -0
  349. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect/target/volumes/vmfs.py +0 -0
  350. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect.target.egg-info/SOURCES.txt +0 -0
  351. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect.target.egg-info/dependency_links.txt +0 -0
  352. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect.target.egg-info/entry_points.txt +0 -0
  353. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect.target.egg-info/requires.txt +0 -0
  354. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/dissect.target.egg-info/top_level.txt +0 -0
  355. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/pyproject.toml +0 -0
  356. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/setup.cfg +0 -0
  357. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/__init__.py +0 -0
  358. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/_docs/Makefile +0 -0
  359. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/_docs/conf.py +0 -0
  360. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/_docs/index.rst +0 -0
  361. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/_utils.py +0 -0
  362. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/conftest.py +0 -0
  363. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/containers/__init__.py +0 -0
  364. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/containers/test_fortifw.py +0 -0
  365. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/containers/test_split.py +0 -0
  366. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/__init__.py +0 -0
  367. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_cb.py +0 -0
  368. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_config.py +0 -0
  369. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_cpio.py +0 -0
  370. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_dir.py +0 -0
  371. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_exfat.py +0 -0
  372. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_fat.py +0 -0
  373. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_ntfs.py +0 -0
  374. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_overlay.py +0 -0
  375. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_smb.py +0 -0
  376. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_tar.py +0 -0
  377. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_vmtar.py +0 -0
  378. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/filesystems/test_zip.py +0 -0
  379. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/__init__.py +0 -0
  380. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_cache.py +0 -0
  381. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_config.py +0 -0
  382. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_configutil.py +0 -0
  383. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_docs.py +0 -0
  384. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_fsutil.py +0 -0
  385. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_hashutil.py +0 -0
  386. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_keychain.py +0 -0
  387. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_loaderutil.py +0 -0
  388. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_localeutil.py +0 -0
  389. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_modifier.py +0 -0
  390. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_protobuf.py +0 -0
  391. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_record.py +0 -0
  392. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_regutil.py +0 -0
  393. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/helpers/test_utils.py +0 -0
  394. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/__init__.py +0 -0
  395. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_asdf.py +0 -0
  396. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_cb.py +0 -0
  397. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_dir.py +0 -0
  398. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_hyperv.py +0 -0
  399. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_kape.py +0 -0
  400. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_local.py +0 -0
  401. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_log.py +0 -0
  402. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_mqtt.py +0 -0
  403. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_multiraw.py +0 -0
  404. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_ova.py +0 -0
  405. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_overlay.py +0 -0
  406. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_ovf.py +0 -0
  407. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_phobos.py +0 -0
  408. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_pvm.py +0 -0
  409. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_pvs.py +0 -0
  410. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_remote.py +0 -0
  411. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_smb.py +0 -0
  412. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_tanium.py +0 -0
  413. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_tar.py +0 -0
  414. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_utm.py +0 -0
  415. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_vbox.py +0 -0
  416. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_velociraptor.py +0 -0
  417. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/loaders/test_vmwarevm.py +0 -0
  418. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/__init__.py +0 -0
  419. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/__init__.py +0 -0
  420. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/av/__init__.py +0 -0
  421. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/av/test_mcafee.py +0 -0
  422. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/av/test_sophos.py +0 -0
  423. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/av/test_symantec.py +0 -0
  424. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/av/test_trendmicro.py +0 -0
  425. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/__init__.py +0 -0
  426. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/test_brave.py +0 -0
  427. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/test_chrome.py +0 -0
  428. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/test_chromium.py +0 -0
  429. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/test_edge.py +0 -0
  430. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/test_firefox.py +0 -0
  431. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/browser/test_iexplore.py +0 -0
  432. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/container/__init__.py +0 -0
  433. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/container/test_docker.py +0 -0
  434. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/remoteaccess/__init__.py +0 -0
  435. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/remoteaccess/test_anydesk.py +0 -0
  436. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/remoteaccess/test_teamviewer.py +0 -0
  437. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/shell/__init__.py +0 -0
  438. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/shell/test_powershell.py +0 -0
  439. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/ssh/__init__.py +0 -0
  440. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/ssh/test_openssh.py +0 -0
  441. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/ssh/test_opensshd.py +0 -0
  442. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/ssh/test_putty.py +0 -0
  443. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/vpn/__init__.py +0 -0
  444. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/vpn/test_openvpn.py +0 -0
  445. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/vpn/test_wireguard.py +0 -0
  446. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webhosting/__init__.py +0 -0
  447. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webhosting/test_cpanel.py +0 -0
  448. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/__init__.py +0 -0
  449. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/test_apache.py +0 -0
  450. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/test_caddy.py +0 -0
  451. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/test_citrix.py +0 -0
  452. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/test_iis.py +0 -0
  453. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/test_nginx.py +0 -0
  454. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/apps/webserver/test_webserver.py +0 -0
  455. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/child/__init__.py +0 -0
  456. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/child/test_docker.py +0 -0
  457. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/child/test_hyperv.py +0 -0
  458. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/child/test_virtuozzo.py +0 -0
  459. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/child/test_wsl.py +0 -0
  460. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/__init__.py +0 -0
  461. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/ntfs/__init__.py +0 -0
  462. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/ntfs/test_mft.py +0 -0
  463. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/ntfs/test_usnjrnl.py +0 -0
  464. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/test_acquire_handles.py +0 -0
  465. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/test_acquire_hash.py +0 -0
  466. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/test_icat.py +0 -0
  467. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/test_resolver.py +0 -0
  468. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/test_walkfs.py +0 -0
  469. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/test_yara.py +0 -0
  470. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/unix/__init__.py +0 -0
  471. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/unix/test_capability.py +0 -0
  472. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/filesystem/unix/test_suid.py +0 -0
  473. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/general/__init__.py +0 -0
  474. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/general/test_config.py +0 -0
  475. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/general/test_default.py +0 -0
  476. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/general/test_plugins.py +0 -0
  477. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/general/test_scrape.py +0 -0
  478. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/general/test_users.py +0 -0
  479. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/__init__.py +0 -0
  480. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/__init__.py +0 -0
  481. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/__init__.py +0 -0
  482. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/citrix/__init__.py +0 -0
  483. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/citrix/test__os.py +0 -0
  484. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/citrix/test_history.py +0 -0
  485. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/osx/__init__.py +0 -0
  486. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/osx/test__os.py +0 -0
  487. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/bsd/osx/test_user.py +0 -0
  488. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/esxi/__init__.py +0 -0
  489. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/esxi/test__os.py +0 -0
  490. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/__init__.py +0 -0
  491. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/android/__init__.py +0 -0
  492. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/android/test__os.py +0 -0
  493. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/debian/__init__.py +0 -0
  494. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/debian/test_apt.py +0 -0
  495. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/debian/test_dpkg.py +0 -0
  496. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/fortios/test_keys.py +0 -0
  497. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/redhat/__init__.py +0 -0
  498. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/redhat/test_yum.py +0 -0
  499. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/suse/__init__.py +0 -0
  500. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/suse/test_zypper.py +0 -0
  501. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_cmdline.py +0 -0
  502. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_environ.py +0 -0
  503. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_iptables.py +0 -0
  504. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_modules.py +0 -0
  505. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_netstat.py +0 -0
  506. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_proc.py +0 -0
  507. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_processes.py +0 -0
  508. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_services.py +0 -0
  509. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/linux/test_sockets.py +0 -0
  510. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/locate/__init__.py +0 -0
  511. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/locate/test_gnulocate.py +0 -0
  512. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/locate/test_mlocate.py +0 -0
  513. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/__init__.py +0 -0
  514. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/test_atop.py +0 -0
  515. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/test_audit.py +0 -0
  516. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/test_auth.py +0 -0
  517. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/test_lastlog.py +0 -0
  518. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/test_messages.py +0 -0
  519. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/log/test_utmp.py +0 -0
  520. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test__os.py +0 -0
  521. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_generic.py +0 -0
  522. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_history.py +0 -0
  523. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_ips.py +0 -0
  524. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_journal.py +0 -0
  525. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_locale.py +0 -0
  526. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_packagemanager.py +0 -0
  527. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_shadow.py +0 -0
  528. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_users.py +0 -0
  529. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/unix/test_version.py +0 -0
  530. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/__init__.py +0 -0
  531. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/log/test_etl.py +0 -0
  532. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/log/test_evt.py +0 -0
  533. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/log/test_evtx.py +0 -0
  534. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/log/test_schedlgu.py +0 -0
  535. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/__init__.py +0 -0
  536. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/test_appxdebugkeys.py +0 -0
  537. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/test_cit.py +0 -0
  538. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/test_clsid.py +0 -0
  539. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/test_muicache.py +0 -0
  540. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/test_trusteddocs.py +0 -0
  541. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/regf/test_userassist.py +0 -0
  542. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test__os.py +0 -0
  543. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_adpolicy.py +0 -0
  544. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_amcache.py +0 -0
  545. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_catroot.py +0 -0
  546. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_clfs.py +0 -0
  547. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_credhist.py +0 -0
  548. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_datetime.py +0 -0
  549. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_defender.py +0 -0
  550. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_dpapi.py +0 -0
  551. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_env.py +0 -0
  552. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_generic.py +0 -0
  553. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_lnk.py +0 -0
  554. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_locale.py +0 -0
  555. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_mru.py +0 -0
  556. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_notifications.py +0 -0
  557. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_prefetch.py +0 -0
  558. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_recyclebin.py +0 -0
  559. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_registry.py +0 -0
  560. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_sam.py +0 -0
  561. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_shimcache.py +0 -0
  562. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_sru.py +0 -0
  563. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_syscache.py +0 -0
  564. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_tasks.py +0 -0
  565. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_thumbcache.py +0 -0
  566. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_ual.py +0 -0
  567. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/plugins/os/windows/test_wer.py +0 -0
  568. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_container.py +0 -0
  569. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_filesystem.py +0 -0
  570. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_plugin.py +0 -0
  571. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_registration.py +0 -0
  572. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_report.py +0 -0
  573. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_target.py +0 -0
  574. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/test_volume.py +0 -0
  575. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/__init__.py +0 -0
  576. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_dump.py +0 -0
  577. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_fs.py +0 -0
  578. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_mount.py +0 -0
  579. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_query.py +0 -0
  580. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_reg.py +0 -0
  581. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_shell.py +0 -0
  582. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/tools/test_utils.py +0 -0
  583. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/volumes/__init__.py +0 -0
  584. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/volumes/test_bde.py +0 -0
  585. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tests/volumes/test_md.py +0 -0
  586. {dissect_target-3.18.dev1 → dissect_target-3.18.dev3}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.target
3
- Version: 3.18.dev1
3
+ Version: 3.18.dev3
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
@@ -71,6 +71,9 @@ class McAfeePlugin(Plugin):
71
71
  """Return msc log history records from McAfee.
72
72
 
73
73
  Yields McAfeeMscLogRecord with the following fields:
74
+
75
+ .. code-block:: text
76
+
74
77
  hostname (string): The target hostname.
75
78
  domain (string): The target domain.
76
79
  ts (datetime): timestamp.
@@ -56,6 +56,9 @@ class SophosPlugin(Plugin):
56
56
  """Return alert log records from Sophos Hitman Pro/Alert.
57
57
 
58
58
  Yields HitmanAlertRecord with the following fields:
59
+
60
+ .. code-block:: text
61
+
59
62
  ts (datetime): Timestamp.
60
63
  alert (string): Type of Alert.
61
64
  description (string): Short description of the alert.
@@ -85,6 +88,9 @@ class SophosPlugin(Plugin):
85
88
  """Return log history records from Sophos Home.
86
89
 
87
90
  Yields SophosLogRecord with the following fields:
91
+
92
+ .. code-block:: text
93
+
88
94
  ts (datetime): Timestamp.
89
95
  description (string): Short description of the alert.
90
96
  path (path): Path to the infected file (if available).
@@ -293,6 +293,9 @@ class SymantecPlugin(Plugin):
293
293
  """Return log records.
294
294
 
295
295
  Yields SEPLogRecord with the following fields:
296
+
297
+ .. code-block:: text
298
+
296
299
  ts (datetime): Timestamp associated with the event.
297
300
  virus (string): Name of the virus.
298
301
  user (string): Name of the user associated with the event.
@@ -326,6 +329,9 @@ class SymantecPlugin(Plugin):
326
329
  """Return log firewall records.
327
330
 
328
331
  Yields SEPFirewallRecord with the following fields:
332
+
333
+ .. code-block:: text
334
+
329
335
  ts (datetime): Timestamp associated with the event.
330
336
  protocol (string): Protocol name associated with the firewall record.
331
337
  local_ip ("net.ipaddress"): Local IP address associated with the event.
@@ -71,6 +71,9 @@ class TrendMicroPlugin(Plugin):
71
71
  """Return Trend Micro Worry-free log history records.
72
72
 
73
73
  Yields TrendMicroWFLogRecord with the following fields:
74
+
75
+ .. code-block:: text
76
+
74
77
  hostname (string): The target hostname.
75
78
  domain (string): The target domain.
76
79
  ts (datetime): timestamp.
@@ -94,6 +97,9 @@ class TrendMicroPlugin(Plugin):
94
97
  """Return Trend Micro Worry-free firewall log history records.
95
98
 
96
99
  Yields TrendMicroWFFirewallRecord with the following fields:
100
+
101
+ .. code-block:: text
102
+
97
103
  hostname (string): The target hostname.
98
104
  domain (string): The target domain.
99
105
  ts (datetime): timestamp.
@@ -148,6 +148,9 @@ class ChromiumMixin:
148
148
  browser_name: The name of the browser as a string.
149
149
 
150
150
  Yields:
151
+
152
+ .. code-block:: text
153
+
151
154
  Records with the following fields:
152
155
  ts (datetime): Visit timestamp.
153
156
  browser (string): The browser from which the records are generated from.
@@ -209,6 +212,9 @@ class ChromiumMixin:
209
212
  browser_name: The name of the browser as a string.
210
213
 
211
214
  Yields:
215
+
216
+ .. code-block:: text
217
+
212
218
  Records with the following fields:
213
219
  ts_created (datetime): Cookie created timestamp.
214
220
  ts_last_accessed (datetime): Cookie last accessed timestamp.
@@ -284,6 +290,9 @@ class ChromiumMixin:
284
290
  browser_name: The name of the browser as a string.
285
291
 
286
292
  Yields:
293
+
294
+ .. code-block:: text
295
+
287
296
  Records with the following fields:
288
297
  ts_start (datetime): Download start timestamp.
289
298
  ts_end (datetime): Download end timestamp.
@@ -344,6 +353,9 @@ class ChromiumMixin:
344
353
  browser_name (str): Name of the browser to scan for extensions.
345
354
 
346
355
  Yields:
356
+
357
+ .. code-block:: text
358
+
347
359
  Records with the following fields:
348
360
  ts_install (datetime): Extension install timestamp.
349
361
  ts_update (datetime): Extension update timestamp.
@@ -132,6 +132,9 @@ class FirefoxPlugin(BrowserPlugin):
132
132
  """Return browser history records from Firefox.
133
133
 
134
134
  Yields BrowserHistoryRecord with the following fields:
135
+
136
+ .. code-block:: text
137
+
135
138
  ts (datetime): Visit timestamp.
136
139
  browser (string): The browser from which the records are generated from.
137
140
  id (string): Record ID.
@@ -193,6 +196,9 @@ class FirefoxPlugin(BrowserPlugin):
193
196
  browser_name: The name of the browser as a string.
194
197
 
195
198
  Yields:
199
+
200
+ .. code-block:: text
201
+
196
202
  Records with the following fields:
197
203
  ts_created (datetime): Cookie created timestamp.
198
204
  ts_last_accessed (datetime): Cookie last accessed timestamp.
@@ -232,6 +238,9 @@ class FirefoxPlugin(BrowserPlugin):
232
238
  """Return browser download records from Firefox.
233
239
 
234
240
  Yields BrowserDownloadRecord with the following fields:
241
+
242
+ .. code-block:: text
243
+
235
244
  ts_start (datetime): Download start timestamp.
236
245
  ts_end (datetime): Download end timestamp.
237
246
  browser (string): The browser from which the records are generated from.
@@ -315,7 +324,10 @@ class FirefoxPlugin(BrowserPlugin):
315
324
  def extensions(self) -> Iterator[BrowserExtensionRecord]:
316
325
  """Return browser extension records for Firefox.
317
326
 
318
- Yields BrowserExtensionRecord with the following fields::
327
+ Yields BrowserExtensionRecord with the following fields:
328
+
329
+ .. code-block:: text
330
+
319
331
  ts_install (datetime): Extension install timestamp.
320
332
  ts_update (datetime): Extension update timestamp.
321
333
  browser (string): The browser from which the records are generated.
@@ -131,6 +131,9 @@ class InternetExplorerPlugin(BrowserPlugin):
131
131
  """Return browser history records from Internet Explorer.
132
132
 
133
133
  Yields BrowserHistoryRecord with the following fields:
134
+
135
+ .. code-block:: text
136
+
134
137
  ts (datetime): Visit timestamp.
135
138
  browser (string): The browser from which the records are generated from.
136
139
  id (string): Record ID.
@@ -183,6 +186,9 @@ class InternetExplorerPlugin(BrowserPlugin):
183
186
  """Return browser downloads records from Internet Explorer.
184
187
 
185
188
  Yields BrowserDownloadRecord with the following fields:
189
+
190
+ .. code-block:: text
191
+
186
192
  ts_start (datetime): Download start timestamp.
187
193
  ts_end (datetime): Download end timestamp.
188
194
  browser (string): The browser from which the records are generated from.
@@ -29,6 +29,9 @@ class CmdlinePlugin(Plugin):
29
29
  Think of this output as the command line that the process wants you to see.
30
30
 
31
31
  Yields CmdlineRecord with the following fields:
32
+
33
+ .. code-block:: text
34
+
32
35
  hostname (string): The target hostname.
33
36
  domain (string): The target domain.
34
37
  ts (datetime): The starttime of the process.
@@ -27,6 +27,9 @@ class EnvironPlugin(Plugin):
27
27
  the environ(7) variable directly), this plugin will not reflect those changes.
28
28
 
29
29
  Yields EnvironmentVariableRecord with the following fields:
30
+
31
+ .. code-block:: text
32
+
30
33
  hostname (string): The target hostname.
31
34
  domain (string): The target domain.
32
35
  ts (datetime): The modification timestamp of the processes' environ file.
@@ -29,6 +29,9 @@ class ProcProcesses(Plugin):
29
29
  Each ``/proc/[pid]`` subdirectory contains various pseudo-files.
30
30
 
31
31
  Yields ProcProcessRecord with the following fields:
32
+
33
+ .. code-block:: text
34
+
32
35
  hostname (string): The target hostname.
33
36
  domain (string): The target domain.
34
37
  ts (datetime): The start time of the process.
@@ -78,6 +78,9 @@ class NetSocketPlugin(Plugin):
78
78
  """This plugin yields the packet sockets and available stats associated with them.
79
79
 
80
80
  Yields PacketSocketRecord with the following fields:
81
+
82
+ .. code-block:: text
83
+
81
84
  hostname (string): The target hostname.
82
85
  domain (string): The target domain.
83
86
  protocol (int): The captured protocol i.e. 0003 is ETH_P_ALL
@@ -101,6 +104,9 @@ class NetSocketPlugin(Plugin):
101
104
  """This plugin yields the unix sockets and available stats associated with them.
102
105
 
103
106
  Yields UnixSocketRecord with the following fields:
107
+
108
+ .. code-block:: text
109
+
104
110
  hostname (string): The target hostname.
105
111
  domain (string): The target domain.
106
112
  protocol (string): The protocol used by the socket.
@@ -117,6 +123,9 @@ class NetSocketPlugin(Plugin):
117
123
  """This plugin yields the raw and raw6 sockets and available stats associated with them.
118
124
 
119
125
  Yields NetSocketRecord with the following fields:
126
+
127
+ .. code-block:: text
128
+
120
129
  hostname (string): The target hostname.
121
130
  domain (string): The target domain.
122
131
  protocol (string): The protocol used by the socket.
@@ -140,6 +149,9 @@ class NetSocketPlugin(Plugin):
140
149
  """This plugin yields the udp and udp6 sockets and available stats associated with them.
141
150
 
142
151
  Yields NetSocketRecord with the following fields:
152
+
153
+ .. code-block:: text
154
+
143
155
  hostname (string): The target hostname.
144
156
  domain (string): The target domain.
145
157
  protocol (string): The protocol used by the socket.
@@ -163,6 +175,9 @@ class NetSocketPlugin(Plugin):
163
175
  """This plugin yields the tcp and tcp6 sockets and available stats associated with them.
164
176
 
165
177
  Yields NetSocketRecord with the following fields:
178
+
179
+ .. code-block:: text
180
+
166
181
  hostname (string): The target hostname.
167
182
  domain (string): The target domain.
168
183
  protocol (string): The protocol used by the socket.
@@ -1,8 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import platform
4
- from io import BytesIO
5
- from typing import BinaryIO, Iterable
4
+ from typing import BinaryIO, Iterator
6
5
 
7
6
  from dissect.cstruct import cstruct
8
7
  from dissect.util.stream import RangeStream
@@ -13,7 +12,11 @@ from dissect.target.plugin import export
13
12
  from dissect.target.plugins.os.unix.locate.locate import BaseLocatePlugin
14
13
 
15
14
  try:
16
- import zstandard # noqa
15
+ from zstandard import (
16
+ DECOMPRESSION_RECOMMENDED_OUTPUT_SIZE,
17
+ ZstdCompressionDict,
18
+ ZstdDecompressor,
19
+ )
17
20
 
18
21
  HAS_ZSTD = True
19
22
  except ImportError:
@@ -32,7 +35,7 @@ struct header {
32
35
  uint64_t filename_index_offset_bytes;
33
36
 
34
37
  /* Version 1 and up only. */
35
- uint32_t max_version;
38
+ uint32_t max_version; // Nominally 1 or 2, but can be increased if more features are added in a backward-compatible way.
36
39
  uint32_t zstd_dictionary_length_bytes;
37
40
  uint64_t zstd_dictionary_offset_bytes;
38
41
 
@@ -44,6 +47,7 @@ struct header {
44
47
  uint64_t conf_block_length_bytes;
45
48
  uint64_t conf_block_offset_bytes;
46
49
 
50
+ // Only if max_version >= 2.
47
51
  uint8_t check_visibility;
48
52
  char padding[7]; /* padding for alignment */
49
53
  };
@@ -51,7 +55,7 @@ struct header {
51
55
  struct file {
52
56
  char path[];
53
57
  };
54
- """
58
+ """ # noqa : E501
55
59
 
56
60
  PLocateRecord = TargetRecordDescriptor(
57
61
  "linux/locate/plocate",
@@ -104,40 +108,46 @@ class PLocateFile:
104
108
  self.dict_data = None
105
109
 
106
110
  if self.header.zstd_dictionary_offset_bytes:
107
- self.dict_data = zstandard.ZstdCompressionDict(self.fh.read(self.header.zstd_dictionary_length_bytes))
111
+ self.dict_data = ZstdCompressionDict(self.fh.read(self.header.zstd_dictionary_length_bytes))
108
112
 
109
113
  self.compressed_length_bytes = (
110
114
  self.header.filename_index_offset_bytes - self.HEADER_SIZE - self.header.zstd_dictionary_length_bytes
111
115
  )
112
- self.ctx = zstandard.ZstdDecompressor(dict_data=self.dict_data)
116
+ self.ctx = ZstdDecompressor(dict_data=self.dict_data)
113
117
  self.buf = RangeStream(self.fh, self.fh.tell(), self.compressed_length_bytes)
114
118
 
115
- def __iter__(self) -> Iterable[PLocateFile]:
119
+ def __iter__(self) -> Iterator[PLocateFile]:
116
120
  # NOTE: This is a workaround for a PyPy bug
117
121
  # We don't know what breaks, but PyPy + zstandard = unhappy times
118
122
  # You just get random garbage data back instead of the decompressed data
119
123
  # This weird dance of using a decompressobj and unused data is the only way that seems to work
120
124
  # It's more expensive on memory, but at least it doesn't break
121
125
  if platform.python_implementation() == "PyPy":
122
- obj = self.ctx.decompressobj()
123
126
  buf = self.buf.read()
124
127
 
125
- tmp = obj.decompress(buf)
126
- while unused_data := obj.unused_data:
127
- obj = self.ctx.decompressobj()
128
- tmp += obj.decompress(unused_data)
128
+ def reader(ctx: ZstdDecompressor) -> Iterator[bytes]:
129
+ obj = ctx.decompressobj()
129
130
 
130
- reader = BytesIO(tmp)
131
+ yield obj.decompress(buf)
132
+ while unused_data := obj.unused_data:
133
+ obj = self.ctx.decompressobj()
134
+ yield obj.decompress(unused_data)
135
+
136
+ it = reader(self.ctx)
131
137
  else:
132
- reader = self.ctx.stream_reader(self.buf)
133
-
134
- with reader:
135
- try:
136
- while True:
137
- file = c_plocate.file(reader)
138
- yield file.path.decode(errors="surrogateescape")
139
- except EOFError:
140
- return
138
+ # NOTE: The end of a zstandard frame does not include a final `0x00`.
139
+ # This causes the c_plocate `file` struct to parse the last path and the first path on the next frame as one
140
+ # since cstruct will read it across frame boundaries waiting for a `0x00`.
141
+ def reader() -> Iterator[bytes]:
142
+ with self.ctx.stream_reader(self.buf) as reader:
143
+ while chunk := reader.read(DECOMPRESSION_RECOMMENDED_OUTPUT_SIZE):
144
+ yield chunk
145
+
146
+ it = reader()
147
+
148
+ for chunk in it:
149
+ for path in chunk.split(b"\x00"):
150
+ yield path.decode(errors="surrogateescape")
141
151
 
142
152
  def filename_index(self) -> bytes:
143
153
  """Return the filename index of the plocate.db file."""
@@ -270,6 +270,9 @@ class AtopPlugin(Plugin):
270
270
  - https://diablohorn.com/2022/11/17/parsing-atop-files-with-python-dissect-cstruct/
271
271
 
272
272
  Yields AtopRecord with fields:
273
+
274
+ .. code-block:: text
275
+
273
276
  hostname (string): The target hostname.
274
277
  process (string): The process name.
275
278
  cmdline (string): The command-line of the process.
@@ -77,6 +77,9 @@ class ActivitiesCachePlugin(Plugin):
77
77
  - https://salt4n6.com/2018/05/03/windows-10-timeline-forensic-artefacts/
78
78
 
79
79
  Yields ActivitiesCacheRecords with the following fields:
80
+
81
+ .. code-block:: text
82
+
80
83
  hostname (string): The target hostname.
81
84
  domain (string): The target domain.
82
85
  start_time (datetime): StartTime field.
@@ -105,6 +105,9 @@ class CatrootPlugin(Plugin):
105
105
  - https://docs.microsoft.com/en-us/windows-hardware/drivers/install/catalog-files
106
106
 
107
107
  Yields CatrootRecords with the following fields:
108
+
109
+ .. code-block:: text
110
+
108
111
  hostname (string): The target hostname.
109
112
  domain (string): The target domain.
110
113
  digest (digest): The parsed digest.
@@ -210,6 +213,9 @@ class CatrootPlugin(Plugin):
210
213
  - https://docs.microsoft.com/en-us/windows-hardware/drivers/install/catalog-files
211
214
 
212
215
  Yields CatrootRecords with the following fields:
216
+
217
+ .. code-block:: text
218
+
213
219
  hostname (string): The target hostname.
214
220
  domain (string): The target domain.
215
221
  digest (digest): The parsed digest.
@@ -51,6 +51,9 @@ class LnkPlugin(Plugin):
51
51
  """Parse all .lnk files in /ProgramData, /Users, and /Windows or from a specified path in record format.
52
52
 
53
53
  Yields a LnkRecord record with the following fields:
54
+
55
+ .. code-block:: text
56
+
54
57
  lnk_path (path): Path of the link (.lnk) file.
55
58
  lnk_name (string): Name of the link (.lnk) file.
56
59
  lnk_mtime (datetime): Modification time of the link (.lnk) file.
@@ -122,6 +122,9 @@ class EtlPlugin(Plugin):
122
122
 
123
123
  Yields dynamically created records based on the fields inside an ETL event.
124
124
  At least contains the following fields:
125
+
126
+ .. code-block:: text
127
+
125
128
  hostname (string): The target hostname.
126
129
  domain (string): The target domain.
127
130
  ts (datetime): The TimeCreated_SystemTime field of the event.
@@ -140,6 +143,9 @@ class EtlPlugin(Plugin):
140
143
 
141
144
  Yields dynamically created records based on the fields inside an ETL event.
142
145
  At least contains the following fields:
146
+
147
+ .. code-block:: text
148
+
143
149
  hostname (string): The target hostname.
144
150
  domain (string): The target domain.
145
151
  ts (datetime): The TimeCreated_SystemTime field of the event.
@@ -157,6 +163,9 @@ class EtlPlugin(Plugin):
157
163
 
158
164
  Yields dynamically created records based on the fields inside an ETL event.
159
165
  At least contains the following fields:
166
+
167
+ .. code-block:: text
168
+
160
169
  hostname (string): The target hostname.
161
170
  domain (string): The target domain.
162
171
  ts (datetime): The TimeCreated_SystemTime field of the event.
@@ -125,6 +125,9 @@ class EvtPlugin(WindowsEventlogsMixin, plugin.Plugin):
125
125
 
126
126
  Yields dynamically created records based on the fields in the event.
127
127
  At least contains the following fields:
128
+
129
+ .. code-block:: text
130
+
128
131
  hostname (string): The target hostname.
129
132
  domain (string): The target domain.
130
133
  ts (datetime): The TimeCreated_SystemTime field of the event.
@@ -47,6 +47,9 @@ class EvtxPlugin(WindowsEventlogsMixin, plugin.Plugin):
47
47
 
48
48
  Yields dynamically created records based on the fields in the event.
49
49
  At least contains the following fields:
50
+
51
+ .. code-block:: text
52
+
50
53
  hostname (string): The target hostname.
51
54
  domain (string): The target domain.
52
55
  ts (datetime): The TimeCreated_SystemTime field of the event.
@@ -41,6 +41,9 @@ class PfroPlugin(Plugin):
41
41
  - https://community.ccleaner.com/topic/49106-pending-file-rename-operations-log/
42
42
 
43
43
  Yields PfroRecords with fields:
44
+
45
+ .. code-block:: text
46
+
44
47
  hostname (string): The target hostname.
45
48
  domain (string): The target domain.
46
49
  ts (datetime): The parsed timestamp.
@@ -129,9 +129,12 @@ class SchedLgUPlugin(Plugin):
129
129
 
130
130
  Adversaries may use malicious ``.job`` files to gain persistence on a system.
131
131
 
132
- Yield:
132
+ Yields SchedLgURecord with fields:
133
+
134
+ .. code-block:: text
135
+
133
136
  ts (datetime): The timestamp of the event.
134
- job (str): The name of the ``.job`` file.
137
+ job (str): The name of the .job file.
135
138
  command (str): The command executed.
136
139
  status (str): The status of the event (finished, completed, exited, stopped).
137
140
  exit_code (int): The exit code of the event.
@@ -258,6 +258,9 @@ class PrefetchPlugin(Plugin):
258
258
  - https://www.geeksforgeeks.org/prefetch-files-in-windows/
259
259
 
260
260
  Yields PrefetchRecords with fields:
261
+
262
+ .. code-block:: text
263
+
261
264
  hostname (string): The target hostname.
262
265
  domain (string): The target domain.
263
266
  ts (datetime): Run timestamp.
@@ -269,6 +272,9 @@ class PrefetchPlugin(Plugin):
269
272
  with --grouped:
270
273
 
271
274
  Yields PrefetchRecords with fields:
275
+
276
+ .. code-block:: text
277
+
272
278
  hostname (string): The target hostname.
273
279
  domain (string): The target domain.
274
280
  ts (datetime): Run timestamp.
@@ -66,6 +66,9 @@ class RecyclebinPlugin(Plugin):
66
66
  Return files located in the recycle bin ($Recycle.Bin).
67
67
 
68
68
  Yields RecycleBinRecords with fields:
69
+
70
+ .. code-block:: text
71
+
69
72
  hostname (string): The target hostname
70
73
  domain (string): The target domain
71
74
  ts (datetime): The time of deletion
@@ -86,6 +86,9 @@ class AppxDebugKeysPlugin(Plugin):
86
86
  - https://oddvar.moe/2018/09/06/persistence-using-universal-windows-platform-apps-appx/
87
87
 
88
88
  Yields AppXDebugKeyRecords with fields:
89
+
90
+ .. code-block:: text
91
+
89
92
  hostname (string): The target hostname.
90
93
  domain (string): The target domain.
91
94
  ts (datetime): The registry key last modified timestamp.
@@ -41,6 +41,9 @@ class BamDamPlugin(Plugin):
41
41
  """Parse bam and dam registry keys.
42
42
 
43
43
  Yields BamDamRecords with fields:
44
+
45
+ .. code-block:: text
46
+
44
47
  hostname (string): The target hostname.
45
48
  domain (string): The target domain.
46
49
  ts (datetime): The parsed timestamp.
@@ -55,6 +55,9 @@ class CLSIDPlugin(Plugin):
55
55
  HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID.
56
56
 
57
57
  Yields CLSIDRecords with fields:
58
+
59
+ .. code-block:: text
60
+
58
61
  hostname (string): The target hostname.
59
62
  domain (string): The target domain.
60
63
  ts (datetime): Last modified timestamp of the registry key.
@@ -26,6 +26,9 @@ class FirewallPlugin(Plugin):
26
26
  HKLM\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\FirewallRules registry key.
27
27
 
28
28
  Yields dynamic records with usually the following fields:
29
+
30
+ .. code-block:: text
31
+
29
32
  hostname (string): The target hostname.
30
33
  domain (string): The target domain.
31
34
  key (string): The rule key name.
@@ -48,6 +48,9 @@ class MuiCachePlugin(Plugin):
48
48
  - https://forensafe.com/blogs/muicache.html
49
49
 
50
50
  Yields MuiCacheRecords with fields:
51
+
52
+ .. code-block:: text
53
+
51
54
  hostname (string): The target hostname.
52
55
  domain (string): The target domain.
53
56
  index (varint): The index of the entry.
@@ -45,6 +45,9 @@ class RecentFileCachePlugin(Plugin):
45
45
  """Parse RecentFileCache.bcf.
46
46
 
47
47
  Yields RecentFileCacheRecords with fields:
48
+
49
+ .. code-block:: text
50
+
48
51
  hostname (string): The target hostname.
49
52
  domain (string): The target domain.
50
53
  path (uri): The parsed path.
@@ -49,6 +49,9 @@ class RegfPlugin(Plugin):
49
49
  Yields RegistryKeyRecords and RegistryValueRecords
50
50
 
51
51
  RegistryKeyRecord fields:
52
+
53
+ .. code-block:: text
54
+
52
55
  hostname (string): The target hostname.
53
56
  domain (string): The target domain.
54
57
  ts (datetime): The registry key last modified time.
@@ -57,6 +60,9 @@ class RegfPlugin(Plugin):
57
60
  source (string): The hive file path.
58
61
 
59
62
  RegistryValueRecord fields:
63
+
64
+ .. code-block:: text
65
+
60
66
  hostname (string): The target hostname.
61
67
  domain (string): The target domain.
62
68
  ts (datetime): The registry key last modified time.
@@ -61,6 +61,9 @@ class RunKeysPlugin(Plugin):
61
61
  - https://docs.microsoft.com/en-us/windows/win32/setupapi/run-and-runonce-registry-keys
62
62
 
63
63
  Yields RunKeyRecords with fields:
64
+
65
+ .. code-block:: text
66
+
64
67
  hostname (string): The target hostname.
65
68
  domain (string): The target domain.
66
69
  ts (datetime): The registry key last modified timestamp.
@@ -318,6 +318,9 @@ class ShimcachePlugin(Plugin):
318
318
  - https://www.andreafortuna.org/2017/10/16/amcache-and-shimcache-in-forensic-analysis/
319
319
 
320
320
  Yields ShimcacheRecords with the following fields:
321
+
322
+ .. code-block:: text
323
+
321
324
  hostname (string): The target hostname.
322
325
  domain (string): The target domain.
323
326
  last_modified (datetime): The last modified date.