acquire 3.18.dev10__tar.gz → 3.18.dev11__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 (71) hide show
  1. {acquire-3.18.dev10 → acquire-3.18.dev11}/PKG-INFO +1 -1
  2. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/crypt.py +25 -7
  3. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/version.py +9 -4
  4. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/PKG-INFO +1 -1
  5. {acquire-3.18.dev10 → acquire-3.18.dev11}/.git-blame-ignore-revs +0 -0
  6. {acquire-3.18.dev10 → acquire-3.18.dev11}/.gitattributes +0 -0
  7. {acquire-3.18.dev10 → acquire-3.18.dev11}/COPYRIGHT +0 -0
  8. {acquire-3.18.dev10 → acquire-3.18.dev11}/LICENSE +0 -0
  9. {acquire-3.18.dev10 → acquire-3.18.dev11}/MANIFEST.in +0 -0
  10. {acquire-3.18.dev10 → acquire-3.18.dev11}/README.md +0 -0
  11. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/__init__.py +0 -0
  12. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/acquire.py +0 -0
  13. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/collector.py +0 -0
  14. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/__init__.py +0 -0
  15. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/__init__.py +0 -0
  16. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/collect.py +0 -0
  17. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/exceptions.py +0 -0
  18. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/handles.py +0 -0
  19. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/named_objects.py +0 -0
  20. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/ntdll.py +0 -0
  21. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/types.py +0 -0
  22. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/esxi.py +0 -0
  23. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/gui/__init__.py +0 -0
  24. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/gui/base.py +0 -0
  25. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/gui/win32.py +0 -0
  26. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/hashes.py +0 -0
  27. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/log.py +0 -0
  28. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/__init__.py +0 -0
  29. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/base.py +0 -0
  30. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/dir.py +0 -0
  31. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/tar.py +0 -0
  32. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/zip.py +0 -0
  33. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/tools/__init__.py +0 -0
  34. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/tools/decrypter.py +0 -0
  35. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/__init__.py +0 -0
  36. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/minio.py +0 -0
  37. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/plugin.py +0 -0
  38. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/plugin_registry.py +0 -0
  39. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/utils.py +0 -0
  40. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/volatilestream.py +0 -0
  41. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/SOURCES.txt +0 -0
  42. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/dependency_links.txt +0 -0
  43. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/entry_points.txt +0 -0
  44. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/requires.txt +0 -0
  45. {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/top_level.txt +0 -0
  46. {acquire-3.18.dev10 → acquire-3.18.dev11}/pyproject.toml +0 -0
  47. {acquire-3.18.dev10 → acquire-3.18.dev11}/setup.cfg +0 -0
  48. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/__init__.py +0 -0
  49. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_data/private_key.pem +0 -0
  50. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_data/public_key.pem +0 -0
  51. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/Makefile +0 -0
  52. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/__init__.py +0 -0
  53. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/conf.py +0 -0
  54. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/index.rst +0 -0
  55. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/conftest.py +0 -0
  56. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_acquire_command.py +0 -0
  57. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_acquire_modules.py +0 -0
  58. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_collector.py +0 -0
  59. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_decryptor_funcs.py +0 -0
  60. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_esxi_memory.py +0 -0
  61. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_file_sorting.py +0 -0
  62. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_gui.py +0 -0
  63. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_minio_uploader.py +0 -0
  64. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_misc_users.py +0 -0
  65. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_outputs_dir.py +0 -0
  66. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_outputs_tar.py +0 -0
  67. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_outputs_zip.py +0 -0
  68. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_plugin.py +0 -0
  69. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_utils.py +0 -0
  70. {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_volatile.py +0 -0
  71. {acquire-3.18.dev10 → acquire-3.18.dev11}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: acquire
3
- Version: 3.18.dev10
3
+ Version: 3.18.dev11
4
4
  Summary: A tool to quickly gather forensic artifacts from disk images or a live system into a lightweight container
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -2,11 +2,19 @@ from __future__ import annotations
2
2
 
3
3
  import hashlib
4
4
  import io
5
+ import os
5
6
  from datetime import datetime, timezone
6
7
  from typing import BinaryIO
7
8
 
8
9
  from dissect.cstruct import cstruct
9
10
 
11
+ try:
12
+ import _pystandalone
13
+
14
+ HAS_PYSTANDALONE = True
15
+ except ImportError:
16
+ HAS_PYSTANDALONE = False
17
+
10
18
  try:
11
19
  from Crypto.Cipher import AES, PKCS1_OAEP
12
20
  from Crypto.PublicKey import RSA
@@ -74,16 +82,26 @@ class EncryptedStream(io.RawIOBase):
74
82
  """
75
83
 
76
84
  def __init__(self, fh: BinaryIO, public_key: str):
77
- if not HAS_PYCRYPTODOME:
78
- raise ImportError("PyCryptodome is not available")
85
+ if not HAS_PYSTANDALONE and not HAS_PYCRYPTODOME:
86
+ raise ImportError("Neither _pystandalone nor PyCryptodome are available")
79
87
 
80
88
  self.fh = fh
81
89
 
82
- key = get_random_bytes(32)
83
- iv = get_random_bytes(12)
84
- self.cipher = AES.new(key, AES.MODE_GCM, nonce=iv)
85
-
86
- rsa = PKCS1_OAEP.new(RSA.import_key(public_key))
90
+ if HAS_PYSTANDALONE:
91
+ try:
92
+ key = _pystandalone.rand_bytes(32)
93
+ iv = _pystandalone.rand_bytes(12)
94
+ except Exception:
95
+ # Fallback if pystandalone does not work
96
+ key = os.urandom(32)
97
+ iv = os.urandom(12)
98
+ self.cipher = _pystandalone.aes_256_gcm(key, iv)
99
+ rsa = _pystandalone.rsa(public_key)
100
+ else:
101
+ key = get_random_bytes(32)
102
+ iv = get_random_bytes(12)
103
+ self.cipher = AES.new(key, AES.MODE_GCM, nonce=iv)
104
+ rsa = PKCS1_OAEP.new(RSA.import_key(public_key))
87
105
 
88
106
  plain_header = c_acquire.header(
89
107
  magic=HEADER_MAGIC,
@@ -1,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '3.18.dev10'
16
- __version_tuple__ = version_tuple = (3, 18, 'dev10')
20
+ __version__ = version = '3.18.dev11'
21
+ __version_tuple__ = version_tuple = (3, 18, 'dev11')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: acquire
3
- Version: 3.18.dev10
3
+ Version: 3.18.dev11
4
4
  Summary: A tool to quickly gather forensic artifacts from disk images or a live system into a lightweight container
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes