dissect.target 3.11.2.dev24__py3-none-any.whl → 3.11.2.dev26__py3-none-any.whl
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.
- dissect/target/loaders/local.py +29 -5
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/METADATA +2 -2
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/RECORD +8 -8
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/COPYRIGHT +0 -0
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/LICENSE +0 -0
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/WHEEL +0 -0
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/entry_points.txt +0 -0
- {dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/top_level.txt +0 -0
dissect/target/loaders/local.py
CHANGED
@@ -13,8 +13,18 @@ from dissect.target.filesystems.dir import DirectoryFilesystem
|
|
13
13
|
from dissect.target.helpers.utils import parse_path_uri
|
14
14
|
from dissect.target.loader import Loader
|
15
15
|
|
16
|
+
SOLARIS_DEV_DIR = Path("/dev/dsk")
|
16
17
|
SOLARIS_DRIVE_REGEX = re.compile(r".+d\d+$")
|
17
|
-
|
18
|
+
|
19
|
+
LINUX_DEV_DIR = Path("/dev")
|
20
|
+
LINUX_DRIVE_REGEX = re.compile(r"(([sh]|xv)d[a-z]$)|(fd\d+$)|(nvme\d+n\d+$)")
|
21
|
+
VOLATILE_LINUX_PATHS = [
|
22
|
+
Path("/proc"),
|
23
|
+
Path("/sys"),
|
24
|
+
]
|
25
|
+
|
26
|
+
ESXI_DEV_DIR = Path("/vmfs/devices/disks")
|
27
|
+
|
18
28
|
WINDOWS_ERROR_INSUFFICIENT_BUFFER = 0x7A
|
19
29
|
WINDOWS_DRIVE_FIXED = 3
|
20
30
|
|
@@ -59,21 +69,35 @@ class LocalLoader(Loader):
|
|
59
69
|
|
60
70
|
|
61
71
|
def map_linux_drives(target: Target):
|
62
|
-
"""Map Linux raw disks.
|
72
|
+
"""Map Linux raw disks and /proc and /sys.
|
63
73
|
|
64
74
|
Iterate through /dev and match raw device names (not partitions).
|
75
|
+
|
76
|
+
/proc and /sys are mounted if they exists, allowing access to volatile files.
|
65
77
|
"""
|
66
|
-
for drive in
|
78
|
+
for drive in LINUX_DEV_DIR.iterdir():
|
67
79
|
if LINUX_DRIVE_REGEX.match(drive.name):
|
68
80
|
_add_disk_as_raw_container_to_target(drive, target)
|
69
81
|
|
82
|
+
# Volatile filesystems are not present when running on a local target's raw
|
83
|
+
# disks, so they are explicitly mounted here.
|
84
|
+
#
|
85
|
+
# Note that when running on a local target using a directory fs (through
|
86
|
+
# force-directory-fs or fallback-to-directory-fs), these filesystems are
|
87
|
+
# already present as they are usually mounted on the local system.
|
88
|
+
for volatile_path in VOLATILE_LINUX_PATHS:
|
89
|
+
if volatile_path.exists():
|
90
|
+
volatile_fs = DirectoryFilesystem(volatile_path)
|
91
|
+
target.filesystems.add(volatile_fs)
|
92
|
+
target.fs.mount(str(volatile_path), volatile_fs)
|
93
|
+
|
70
94
|
|
71
95
|
def map_solaris_drives(target):
|
72
96
|
"""Map Solaris raw disks.
|
73
97
|
|
74
98
|
Iterate through /dev/dsk and match raw device names (not slices or partitions).
|
75
99
|
"""
|
76
|
-
for drive in
|
100
|
+
for drive in SOLARIS_DEV_DIR.iterdir():
|
77
101
|
if not SOLARIS_DRIVE_REGEX.match(drive.name):
|
78
102
|
continue
|
79
103
|
_add_disk_as_raw_container_to_target(drive, target)
|
@@ -84,7 +108,7 @@ def map_esxi_drives(target):
|
|
84
108
|
|
85
109
|
Get all devices from /vmfs/devices/disks/* (not partitions).
|
86
110
|
"""
|
87
|
-
for drive in
|
111
|
+
for drive in ESXI_DEV_DIR.glob("vml.*"):
|
88
112
|
if ":" in drive.name:
|
89
113
|
continue
|
90
114
|
_add_disk_as_raw_container_to_target(drive, target)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: dissect.target
|
3
|
-
Version: 3.11.2.
|
3
|
+
Version: 3.11.2.dev26
|
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
|
@@ -31,7 +31,7 @@ Requires-Dist: dissect.ntfs <4.0.dev,>=3.4.dev
|
|
31
31
|
Requires-Dist: dissect.regf <4.0.dev,>=3.3.dev
|
32
32
|
Requires-Dist: dissect.util <4.0.dev,>=3.0.dev
|
33
33
|
Requires-Dist: dissect.volume <4.0.dev,>=3.0.dev
|
34
|
-
Requires-Dist: flow.record ~=3.
|
34
|
+
Requires-Dist: flow.record ~=3.12.0
|
35
35
|
Requires-Dist: structlog
|
36
36
|
Provides-Extra: cb
|
37
37
|
Requires-Dist: dissect.target[full] ; extra == 'cb'
|
@@ -63,7 +63,7 @@ dissect/target/loaders/dir.py,sha256=nEJepNGI4EEP7MX3X15xysH9agKDmlKjfyd1DDulieU
|
|
63
63
|
dissect/target/loaders/hyperv.py,sha256=_IOUJEO0BXaCBZ6sjIX0DZTkG9UNW5Vs9VcNHYv073w,5928
|
64
64
|
dissect/target/loaders/itunes.py,sha256=69aMTQiiGYpmD_EYSmf9mO1re8C3jAZIEStmwlMxdAk,13146
|
65
65
|
dissect/target/loaders/kape.py,sha256=t5TfrGLqPeIpUUpXzIl6aHsqXMEGDqJ5YwDCs07DiBA,1237
|
66
|
-
dissect/target/loaders/local.py,sha256=
|
66
|
+
dissect/target/loaders/local.py,sha256=Ul-LCd_fY7SyWOVR6nH-NqbkuNpxoZVmffwrkvQElU8,16453
|
67
67
|
dissect/target/loaders/log.py,sha256=_Mo44icM_4qQ05pjgcowrSnLeUHkwAGVYlYrHiIXLJw,1234
|
68
68
|
dissect/target/loaders/multiraw.py,sha256=4a3ZST0NwjnfPDxHkcEfAcX2ddUlT_C-rcrMHNg1wp4,1046
|
69
69
|
dissect/target/loaders/ovf.py,sha256=ro1F9Gr3ta5dgov483twzine9_Sw6hwZoILz2srHJI0,1069
|
@@ -281,10 +281,10 @@ dissect/target/volumes/bde.py,sha256=gYGg5yF9MNARwNzEkrEfZmKkxyZW4rhLkpdnPJCbhGk
|
|
281
281
|
dissect/target/volumes/disk.py,sha256=95grSsPt1BLVpKwTclwQYzPFGKTkFFqapIk0RoGWf38,968
|
282
282
|
dissect/target/volumes/lvm.py,sha256=_kIB1mdRs1OFhRgoT4VEP5Fv8imQnI7oQ_ie4x710tQ,1814
|
283
283
|
dissect/target/volumes/vmfs.py,sha256=mlAJ8278tYaoRjk1u6tFFlCaDQUrVu5ZZE4ikiFvxi8,1707
|
284
|
-
dissect.target-3.11.2.
|
285
|
-
dissect.target-3.11.2.
|
286
|
-
dissect.target-3.11.2.
|
287
|
-
dissect.target-3.11.2.
|
288
|
-
dissect.target-3.11.2.
|
289
|
-
dissect.target-3.11.2.
|
290
|
-
dissect.target-3.11.2.
|
284
|
+
dissect.target-3.11.2.dev26.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
|
285
|
+
dissect.target-3.11.2.dev26.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
286
|
+
dissect.target-3.11.2.dev26.dist-info/METADATA,sha256=kXsUBDd9biwYZYnSt-67u-m2rO5n6BB3Cx3e6kXr0qw,10978
|
287
|
+
dissect.target-3.11.2.dev26.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
288
|
+
dissect.target-3.11.2.dev26.dist-info/entry_points.txt,sha256=tvFPa-Ap-gakjaPwRc6Fl6mxHzxEZ_arAVU-IUYeo_s,447
|
289
|
+
dissect.target-3.11.2.dev26.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
|
290
|
+
dissect.target-3.11.2.dev26.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
{dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/entry_points.txt
RENAMED
File without changes
|
{dissect.target-3.11.2.dev24.dist-info → dissect.target-3.11.2.dev26.dist-info}/top_level.txt
RENAMED
File without changes
|