You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As you may imagine, a lot of forensics examination can only happen from offline workstations, where a pip install mvt is not feasible because of no Internet connection.
Could you provide, for instance on Github releases (and/or PyPi), a zip of all the wheels needed to install mvt on offline system ?
It would be really appreciated !
FYI, I managed to create such a zip following these instructions, specifically:
$ git clone https://github.com/mvt-project/mvt.git
$ cd mvt
$ pip wheel . -w wheels
Processing /sec/root/mvt
Preparing metadata (setup.py) ... done
Collecting adb-shell>=0.4.3 (from mvt==2.5.0)
Using cached adb_shell-0.4.4-py3-none-any.whl
Collecting appdirs>=1.4.4 (from mvt==2.5.0)
Using cached appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB)
Collecting click>=8.1.3 (from mvt==2.5.0)
Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting cryptography>=38.0.1 (from mvt==2.5.0)
Using cached cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.3 kB)
Collecting iOSbackup>=0.9.923 (from mvt==2.5.0)
Using cached iOSbackup-0.9.925-py3-none-any.whl.metadata (20 kB)
Collecting libusb1>=3.0.0 (from mvt==2.5.0)
Using cached libusb1-3.1.0-py3-none-any.whl.metadata (15 kB)
Collecting packaging>=21.3 (from mvt==2.5.0)
Using cached packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
Collecting pyahocorasick>=2.0.0 (from mvt==2.5.0)
Using cached pyahocorasick-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)
Collecting pyyaml>=6.0 (from mvt==2.5.0)
Using cached PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting requests>=2.28.1 (from mvt==2.5.0)
Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting rich>=12.6.0 (from mvt==2.5.0)
Using cached rich-13.7.1-py3-none-any.whl.metadata (18 kB)
Collecting simplejson>=3.17.6 (from mvt==2.5.0)
Using cached simplejson-3.19.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.1 kB)
Collecting tld>=0.12.6 (from mvt==2.5.0)
Using cached tld-0.13-py2.py3-none-any.whl.metadata (9.4 kB)
Collecting pyasn1 (from adb-shell>=0.4.3->mvt==2.5.0)
Using cached pyasn1-0.6.0-py2.py3-none-any.whl.metadata (8.3 kB)
Collecting rsa (from adb-shell>=0.4.3->mvt==2.5.0)
Using cached rsa-4.9-py3-none-any.whl.metadata (4.2 kB)
Collecting cffi>=1.12 (from cryptography>=38.0.1->mvt==2.5.0)
Using cached cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting NSKeyedUnArchiver (from iOSbackup>=0.9.923->mvt==2.5.0)
Using cached NSKeyedUnArchiver-1.5-py3-none-any.whl.metadata (2.1 kB)
Collecting pycryptodome (from iOSbackup>=0.9.923->mvt==2.5.0)
Using cached pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.28.1->mvt==2.5.0)
Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests>=2.28.1->mvt==2.5.0)
Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.28.1->mvt==2.5.0)
Using cached urllib3-2.2.1-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests>=2.28.1->mvt==2.5.0)
Using cached certifi-2024.2.2-py3-none-any.whl.metadata (2.2 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=12.6.0->mvt==2.5.0)
Using cached markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting pygments<3.0.0,>=2.13.0 (from rich>=12.6.0->mvt==2.5.0)
Using cached pygments-2.17.2-py3-none-any.whl.metadata (2.6 kB)
Collecting pycparser (from cffi>=1.12->cryptography>=38.0.1->mvt==2.5.0)
Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=12.6.0->mvt==2.5.0)
Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Using cached cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl (4.6 MB)
Using cached iOSbackup-0.9.925-py3-none-any.whl (18 kB)
Using cached libusb1-3.1.0-py3-none-any.whl (62 kB)
Using cached packaging-24.0-py3-none-any.whl (53 kB)
Using cached pyahocorasick-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118 kB)
Using cached PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached rich-13.7.1-py3-none-any.whl (240 kB)
Using cached simplejson-3.19.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (144 kB)
Using cached tld-0.13-py2.py3-none-any.whl (263 kB)
Using cached certifi-2024.2.2-py3-none-any.whl (163 kB)
Using cached cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (464 kB)
Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
Using cached idna-3.6-py3-none-any.whl (61 kB)
Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Using cached pygments-2.17.2-py3-none-any.whl (1.2 MB)
Using cached urllib3-2.2.1-py3-none-any.whl (121 kB)
Using cached NSKeyedUnArchiver-1.5-py3-none-any.whl (3.5 kB)
Using cached pyasn1-0.6.0-py2.py3-none-any.whl (85 kB)
Using cached pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
Using cached rsa-4.9-py3-none-any.whl (34 kB)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Saved ./wheels/adb_shell-0.4.4-py3-none-any.whl
Saved ./wheels/appdirs-1.4.4-py2.py3-none-any.whl
Saved ./wheels/click-8.1.7-py3-none-any.whl
Saved ./wheels/cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl
Saved ./wheels/iOSbackup-0.9.925-py3-none-any.whl
Saved ./wheels/libusb1-3.1.0-py3-none-any.whl
Saved ./wheels/packaging-24.0-py3-none-any.whl
Saved ./wheels/pyahocorasick-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./wheels/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./wheels/requests-2.31.0-py3-none-any.whl
Saved ./wheels/rich-13.7.1-py3-none-any.whl
Saved ./wheels/simplejson-3.19.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./wheels/tld-0.13-py2.py3-none-any.whl
Saved ./wheels/certifi-2024.2.2-py3-none-any.whl
Saved ./wheels/cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./wheels/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./wheels/idna-3.6-py3-none-any.whl
Saved ./wheels/markdown_it_py-3.0.0-py3-none-any.whl
Saved ./wheels/pygments-2.17.2-py3-none-any.whl
Saved ./wheels/urllib3-2.2.1-py3-none-any.whl
Saved ./wheels/NSKeyedUnArchiver-1.5-py3-none-any.whl
Saved ./wheels/pyasn1-0.6.0-py2.py3-none-any.whl
Saved ./wheels/pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./wheels/rsa-4.9-py3-none-any.whl
Saved ./wheels/mdurl-0.1.2-py3-none-any.whl
Saved ./wheels/pycparser-2.22-py3-none-any.whl
Building wheels for collected packages: mvt
Building wheel for mvt (setup.py) ... done
Created wheel for mvt: filename=mvt-2.5.0-py3-none-any.whl size=220928 sha256=0f8e7a9cf37bf9bb3a6fe3d7cdf2384d8b9cd33f125b80acc52f50c0f1104601
Stored in directory: /tmp/pip-ephem-wheel-cache-y7rok20w/wheels/b9/0e/b4/c1c8db6ef65d0d69d234c7806007d903c804cbf7fb166cc31a
Successfully built mvt
If you zip the wheels folder, you have all dependencies gathered for offline installation, which you can do like this:
Would like to learn more on the workflow here - would an offline docker image (.tar archive) also suffice for your use case? How are you loading the zip file onto the airgapped machine? I'd prefer not to maintain another install path if possible, but it sounds like airgapped installation could be something we might want to support in general.
I don't know anything about Docker but it might be a solution for Docker aficionados, if and only if using a Docker pre-made image does not need an Internet connection to work.
The zip file is loaded with a USB thumb drive on the airgapped machine.
Hello there,
Thank you very much for this awesome project !
As you may imagine, a lot of forensics examination can only happen from offline workstations, where a
pip install mvt
is not feasible because of no Internet connection.Could you provide, for instance on Github releases (and/or PyPi), a zip of all the wheels needed to install
mvt
on offline system ?It would be really appreciated !
FYI, I managed to create such a zip following these instructions, specifically:
If you zip the
wheels
folder, you have all dependencies gathered for offline installation, which you can do like this:Cheers!
The text was updated successfully, but these errors were encountered: