dissect.target 3.20.dev12__py3-none-any.whl → 3.20.dev14__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/plugins/filesystem/ntfs/mft.py +8 -6
- dissect/target/plugins/os/unix/bsd/osx/_os.py +3 -1
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/METADATA +1 -1
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/RECORD +9 -9
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/COPYRIGHT +0 -0
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/LICENSE +0 -0
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/WHEEL +0 -0
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/entry_points.txt +0 -0
- {dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/top_level.txt +0 -0
@@ -105,6 +105,7 @@ FilesystemMACBRecord = TargetRecordDescriptor(
|
|
105
105
|
("filesize", "filesize"),
|
106
106
|
("boolean", "resident"),
|
107
107
|
("boolean", "inuse"),
|
108
|
+
("boolean", "ads"),
|
108
109
|
("string", "volume_uuid"),
|
109
110
|
],
|
110
111
|
)
|
@@ -151,7 +152,7 @@ class MftPlugin(Plugin):
|
|
151
152
|
"--macb",
|
152
153
|
group="fmt",
|
153
154
|
action="store_true",
|
154
|
-
help="compacts
|
155
|
+
help="compacts MFT timestamps into MACB bitfield (format: MACB[standard|ads]/MACB[filename])",
|
155
156
|
)
|
156
157
|
def mft(
|
157
158
|
self, compact: bool = False, fs: int | None = None, start: int = 0, end: int = -1, macb: bool = False
|
@@ -342,12 +343,13 @@ def macb_aggr(records: list[Record]) -> Iterator[Record]:
|
|
342
343
|
for record in records:
|
343
344
|
found = False
|
344
345
|
|
345
|
-
|
346
|
-
|
346
|
+
offset = 0
|
347
|
+
if not getattr(record, "ads", False):
|
348
|
+
offset = int(record._desc.name == "filesystem/ntfs/mft/filename") * 5
|
347
349
|
|
348
|
-
field = "MACB".find(record.ts_type) +
|
350
|
+
field = "MACB".find(record.ts_type) + offset
|
349
351
|
for macb in macbs:
|
350
|
-
if macb.ts == record.ts:
|
352
|
+
if macb.ts == record.ts and macb.path == record.path:
|
351
353
|
macb.macb = macb_set(macb.macb, field, record.ts_type)
|
352
354
|
found = True
|
353
355
|
break
|
@@ -356,7 +358,7 @@ def macb_aggr(records: list[Record]) -> Iterator[Record]:
|
|
356
358
|
continue
|
357
359
|
|
358
360
|
macb = FilesystemMACBRecord.init_from_record(record)
|
359
|
-
macb.macb = "
|
361
|
+
macb.macb = "..../...."
|
360
362
|
macb.macb = macb_set(macb.macb, field, record.ts_type)
|
361
363
|
|
362
364
|
macbs.append(macb)
|
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|
3
3
|
import plistlib
|
4
4
|
from typing import Iterator, Optional
|
5
5
|
|
6
|
+
from flow.record.fieldtypes import posix_path
|
7
|
+
|
6
8
|
from dissect.target.filesystem import Filesystem
|
7
9
|
from dissect.target.helpers.record import UnixUserRecord
|
8
10
|
from dissect.target.plugin import OperatingSystem, export
|
@@ -71,7 +73,7 @@ class MacPlugin(BsdPlugin):
|
|
71
73
|
uid=user.get("uid", [None])[0],
|
72
74
|
gid=user.get("gid", [None])[0],
|
73
75
|
gecos=user.get("realname", [None])[0],
|
74
|
-
home=home_dir,
|
76
|
+
home=posix_path(home_dir) if home_dir else None,
|
75
77
|
shell=user.get("shell", [None])[0],
|
76
78
|
source=path,
|
77
79
|
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: dissect.target
|
3
|
-
Version: 3.20.
|
3
|
+
Version: 3.20.dev14
|
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
|
@@ -170,7 +170,7 @@ dissect/target/plugins/filesystem/resolver.py,sha256=HfyASUFV4F9uD-yFXilFpPTORAs
|
|
170
170
|
dissect/target/plugins/filesystem/walkfs.py,sha256=rklbN805roy2fKAQe5L1JhTvI0qNgGS70ZNGFwevLB0,2740
|
171
171
|
dissect/target/plugins/filesystem/yara.py,sha256=zh4hU3L_egddLqDeaHDVuCWYhTlNzPYPVak36Q6IMxI,6621
|
172
172
|
dissect/target/plugins/filesystem/ntfs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
173
|
-
dissect/target/plugins/filesystem/ntfs/mft.py,sha256=
|
173
|
+
dissect/target/plugins/filesystem/ntfs/mft.py,sha256=2YEkdPpMz4WcXHUD4SnB8kCkZgXRgeXgXf827F1nh3w,12429
|
174
174
|
dissect/target/plugins/filesystem/ntfs/mft_timeline.py,sha256=vvNFAZbr7s3X2OTYf4ES_L6-XsouTXcTymfxnHfZ1Rw,6791
|
175
175
|
dissect/target/plugins/filesystem/ntfs/usnjrnl.py,sha256=uiT1ipmcAo__6VIUi8R_vvIu22vdnjMACKwLSAbzYjs,3704
|
176
176
|
dissect/target/plugins/filesystem/ntfs/utils.py,sha256=xG7Lgw9NX4tDDrZVRm0vycFVJTOM7j-HrjqzDh0f4uA,3136
|
@@ -211,7 +211,7 @@ dissect/target/plugins/os/unix/bsd/ios/_os.py,sha256=VlJXGxkQZ4RbGbSC-FlbR2YWOJp
|
|
211
211
|
dissect/target/plugins/os/unix/bsd/openbsd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
212
212
|
dissect/target/plugins/os/unix/bsd/openbsd/_os.py,sha256=9npz-osM-wHmjOACUqof5N5HJeps7J8KuyenUS5MZDs,923
|
213
213
|
dissect/target/plugins/os/unix/bsd/osx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
214
|
-
dissect/target/plugins/os/unix/bsd/osx/_os.py,sha256=
|
214
|
+
dissect/target/plugins/os/unix/bsd/osx/_os.py,sha256=_ceh3R9hHsQrYM-vX8c_9igT3luM3oQebTMem8vFb1E,3497
|
215
215
|
dissect/target/plugins/os/unix/bsd/osx/network.py,sha256=j2yq2QTAmAuZBu3j0vHnHHxkUyeB4b-6WdUSWCE_QsE,3691
|
216
216
|
dissect/target/plugins/os/unix/bsd/osx/user.py,sha256=qopB0s3n7e6Q7NjWzn8Z-dKtDtU7e6In4Vm7hIvvedo,2322
|
217
217
|
dissect/target/plugins/os/unix/esxi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -365,10 +365,10 @@ dissect/target/volumes/luks.py,sha256=OmCMsw6rCUXG1_plnLVLTpsvE1n_6WtoRUGQbpmu1z
|
|
365
365
|
dissect/target/volumes/lvm.py,sha256=wwQVR9I3G9YzmY6UxFsH2Y4MXGBcKL9aayWGCDTiWMU,2269
|
366
366
|
dissect/target/volumes/md.py,sha256=7ShPtusuLGaIv27SvEETtgsuoQyAa4iAAeOR1NEaajI,1689
|
367
367
|
dissect/target/volumes/vmfs.py,sha256=-LoUbn9WNwTtLi_4K34uV_-wDw2W5hgaqxZNj4UmqAQ,1730
|
368
|
-
dissect.target-3.20.
|
369
|
-
dissect.target-3.20.
|
370
|
-
dissect.target-3.20.
|
371
|
-
dissect.target-3.20.
|
372
|
-
dissect.target-3.20.
|
373
|
-
dissect.target-3.20.
|
374
|
-
dissect.target-3.20.
|
368
|
+
dissect.target-3.20.dev14.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
|
369
|
+
dissect.target-3.20.dev14.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
370
|
+
dissect.target-3.20.dev14.dist-info/METADATA,sha256=yLrkWdIhYUoYMdbxfNR2byfx4W0uKfC0LWE9ldpzZVg,12897
|
371
|
+
dissect.target-3.20.dev14.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
372
|
+
dissect.target-3.20.dev14.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
|
373
|
+
dissect.target-3.20.dev14.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
|
374
|
+
dissect.target-3.20.dev14.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
{dissect.target-3.20.dev12.dist-info → dissect.target-3.20.dev14.dist-info}/entry_points.txt
RENAMED
File without changes
|
File without changes
|