Compare commits

...

6 Commits

Author SHA1 Message Date
Nex
e70054d0c2 Bumped version 2021-08-26 12:48:09 +02:00
Nex
a75cf58f72 Added missing dependency 2021-08-26 12:47:46 +02:00
Nex
c859b43220 Adding logo to iOS cli 2021-08-26 12:40:45 +02:00
Nex
75ee2db02e Upgrading version 2021-08-26 12:36:37 +02:00
Nex
f6efb3c89a Bumped version 2021-08-25 21:58:38 +02:00
Nex
b27047ed27 Updated lookup modules to new format (closes: #175) 2021-08-25 21:58:03 +02:00
7 changed files with 58 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ from rich.logging import RichHandler
from mvt.common.help import *
from mvt.common.indicators import Indicators, IndicatorsFileBadFormat
from mvt.common.logo import logo
from mvt.common.module import run_module, save_timeline
from .download_apks import DownloadAPKs
@@ -30,7 +31,7 @@ log = logging.getLogger(__name__)
#==============================================================================
@click.group(invoke_without_command=False)
def cli():
return
logo()
#==============================================================================

View File

@@ -27,12 +27,12 @@ def koodous_lookup(packages):
total_packages = len(packages)
for i in track(range(total_packages), description=f"Looking up {total_packages} packages..."):
package = packages[i]
for file in package.files:
for file in package.get("files", []):
url = f"https://api.koodous.com/apks/{file['sha256']}"
res = requests.get(url)
report = res.json()
row = [package.name, file["local_name"]]
row = [package["package_name"], file["local_name"]]
if "package_name" in report:
trusted = "no"

View File

@@ -41,7 +41,7 @@ def virustotal_lookup(packages):
unique_hashes = []
for package in packages:
for file in package.files:
for file in package.get("files", []):
if file["sha256"] not in unique_hashes:
unique_hashes.append(file["sha256"])
@@ -74,8 +74,8 @@ def virustotal_lookup(packages):
table.add_column("Detections")
for package in packages:
for file in package.files:
row = [package.name, file["local_name"]]
for file in package.get("files", []):
row = [package["package_name"], file["local_name"]]
if file["sha256"] in detections:
detection = detections[file["sha256"]]

25
mvt/common/logo.py Normal file
View File

@@ -0,0 +1,25 @@
# Mobile Verification Toolkit (MVT)
# Copyright (c) 2021 The MVT Project Authors.
# Use of this software is governed by the MVT License 1.1 that can be found at
# https://license.mvt.re/1.1/
from rich import print
from .version import MVT_VERSION, check_for_updates
def logo():
print("\n")
print("\t[bold]MVT[/bold] - Mobile Verification Toolkit")
print("\t\thttps://mvt.re")
print(f"\t\tVersion: {MVT_VERSION}")
try:
latest_version = check_for_updates()
except:
pass
else:
if latest_version:
print(f"\t\t[bold]Version {latest_version} is available! Upgrade mvt![/bold]")
print("\n")

19
mvt/common/version.py Normal file
View File

@@ -0,0 +1,19 @@
# Mobile Verification Toolkit (MVT)
# Copyright (c) 2021 The MVT Project Authors.
# Use of this software is governed by the MVT License 1.1 that can be found at
# https://license.mvt.re/1.1/
import requests
from packaging import version
MVT_VERSION = "1.2.5"
def check_for_updates():
res = requests.get("https://pypi.org/pypi/mvt/json")
data = res.json()
latest_version = data.get("info", {}).get("version", "")
if version.parse(latest_version) > version.parse(MVT_VERSION):
return latest_version
return None

View File

@@ -12,6 +12,7 @@ from rich.prompt import Prompt
from mvt.common.help import *
from mvt.common.indicators import Indicators, IndicatorsFileBadFormat
from mvt.common.logo import logo
from mvt.common.module import run_module, save_timeline
from mvt.common.options import MutuallyExclusiveOption
@@ -34,7 +35,7 @@ PASSWD_ENV = "MVT_IOS_BACKUP_PASSWORD"
#==============================================================================
@click.group(invoke_without_command=False)
def cli():
return
logo()
#==============================================================================

View File

@@ -7,9 +7,7 @@ import os
from setuptools import find_packages, setup
__package_name__ = "mvt"
__version__ = "1.2.2"
__description__ = "Mobile Verification Toolkit"
from mvt.common.version import MVT_VERSION
this_directory = os.path.abspath(os.path.dirname(__file__))
readme_path = os.path.join(this_directory, "README.md")
@@ -24,6 +22,7 @@ requires = (
"tqdm>=4.61.2",
"requests>=2.26.0",
"simplejson>=3.17.3",
"packaging>=21.0",
# iOS dependencies:
"iOSbackup>=0.9.912",
# Android dependencies:
@@ -43,9 +42,9 @@ def get_package_data(package):
return {package: filepaths}
setup(
name=__package_name__,
version=__version__,
description=__description__,
name="mvt",
version=MVT_VERSION,
description="Mobile Verification Toolkit",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/mvt-project/mvt",