HOTFIX: setup.py and directory refactoring

Python setup.py #1585
directory refactoring
This commit is contained in:
Ajin Abraham
2021-01-17 01:47:49 -05:00
committed by GitHub
parent 68bdcd15c8
commit cf59941081
335 changed files with 2642 additions and 1559 deletions
+12 -7
View File
@@ -6,16 +6,21 @@
.sonarcloud.properties
.pyup.yml
tox.ini
db.sqlite3
mobsf/db.sqlite3
Dockerfile
dist
*.egg-info
docker-compose.yml
*.md
venv
setup.py
MANIFEST.in
setup.bat
run.bat
*.md
setup.sh
run.sh
downloads
uploads
logs
venv
secret
mobsf/downloads
mobsf/uploads
mobsf/debug.log
mobsf/secret
mobsf/StaticAnalyzer/test_files/
+1 -1
View File
@@ -1 +1 @@
DynamicAnalyzer/tools/onDevice/frida/ filter=lfs diff=lfs merge=lfs -text
mobsf/DynamicAnalyzer/tools/onDevice/frida/ filter=lfs diff=lfs merge=lfs -text
+2 -2
View File
@@ -39,7 +39,7 @@ Guidelines for bug reports:
3. **Isolate the problem** — create a [reduced test
case](http://css-tricks.com/reduced-test-cases/) and a live example.
4. **Add Log file** — Please add the log file `logs/debug.log` while opening bugs.
4. **Add Log file** — Please add the log file `mobsf/debug.log` while opening bugs.
5. **Timely Response** — Once you open a bug, you should also provide additional information if requested. Failure to do so in 10 days will result in closure of the bug without further communication.
@@ -60,7 +60,7 @@ Example:
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
> 4. Log information from `logs/debug.log`
> 4. Log information from `mobsf/debug.log`
>
> `<url>` - a link to the reduced test case
>
+1 -1
View File
@@ -39,7 +39,7 @@ What happens, under which versions, under what conditions, when, and what were y
## LOG FILE
```
Paste the contents of logs/debug.log here or attach the log file.
Paste the contents of mobsf/debug.log here or attach the log file.
```
<!--
View File
+1 -1
View File
@@ -55,4 +55,4 @@ jobs:
- name: Unit Tests
run: |
git submodule update --init --recursive
python manage.py test
python manage.py test mobsf
+10 -8
View File
@@ -1,7 +1,6 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
MobSF/windows_vm_priv_key.asc
# C extensions
*.so
@@ -20,6 +19,7 @@ lib/
lib64/
parts/
sdist/
dist
var/
*.egg-info/
.installed.cfg
@@ -63,14 +63,16 @@ target/
#D2J Error file
classes-error.zip
#MobSF Files
logs/
uploads/
db.sqlite3
secret
#IntelliJ IDE
.idea
*/migrations/*
.fuse_hidden*
/MalwareAnalyzer/malwaredb/*
.tox
#MobSF Files
mobsf/debug.log
mobsf/uploads/
mobsf/db.sqlite3
mobsf/secret
mobsf/StaticAnalyzer/migrations
mobsf/MobSF/windows_vm_priv_key.asc
+2 -2
View File
@@ -1,3 +1,3 @@
[submodule "StaticAnalyzer/test_files"]
path = StaticAnalyzer/test_files
[submodule "mobsf/StaticAnalyzer/test_files"]
path = mobsf/StaticAnalyzer/test_files
url = https://github.com/MobSF/test_files.git
+1 -1
View File
@@ -1,3 +1,3 @@
sonar.sources=.
sonar.exclusions=static/**/*,templates/**/*
sonar.exclusions=mobsf/static/**/*,mobsf/templates/**/*
sonar.sourceEncoding=UTF-8
+2 -2
View File
@@ -87,8 +87,8 @@ COPY . .
RUN rm -rf /root/Mobile-Security-Framework-MobSF/scripts/wheels > /dev/null 2>&1
# Enable Use Home Directory and set adb path
RUN sed -i 's/USE_HOME = False/USE_HOME = True/g' MobSF/settings.py && \
sed -i "s#ADB_BINARY = ''#ADB_BINARY = '/usr/bin/adb'#" MobSF/settings.py
RUN sed -i 's/USE_HOME = False/USE_HOME = True/g' mobsf/MobSF/settings.py && \
sed -i "s#ADB_BINARY = ''#ADB_BINARY = '/usr/bin/adb'#" mobsf/MobSF/settings.py
# Postgres support is set to false by default
ARG POSTGRES=False
+10
View File
@@ -0,0 +1,10 @@
recursive-include mobsf/StaticAnalyzer/tools *
recursive-include mobsf/DynamicAnalyzer/tools *
recursive-include mobsf/StaticAnalyzer/views/android/rules *
recursive-include mobsf/StaticAnalyzer/views/ios/rules *
recursive-include mobsf/signatures *
recursive-include mobsf/static *
recursive-include mobsf/templates *
recursive-include mobsf/install *
recursive-exclude *.pyc
+1 -1
View File
@@ -7,7 +7,7 @@ import sys
warnings.filterwarnings('ignore', category=UserWarning, module='cffi')
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MobSF.settings')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mobsf.MobSF.settings')
from django.core.management import execute_from_command_line
if 'runserver' in sys.argv:
@@ -6,7 +6,7 @@ import time
import requests
from MobSF.utils import is_file_exists, upstream_proxy
from mobsf.MobSF.utils import is_file_exists, upstream_proxy
logger = logging.getLogger(__name__)
@@ -8,13 +8,15 @@ import shutil
import tarfile
from pathlib import Path
from MobSF.utils import (is_file_exists,
is_pipe_or_link,
python_list)
from StaticAnalyzer.models import StaticAnalyzerAndroid
from MalwareAnalyzer.views.MalwareDomainCheck import MalwareDomainCheck
from mobsf.MobSF.utils import (
is_file_exists,
is_pipe_or_link,
python_list,
)
from mobsf.StaticAnalyzer.models import StaticAnalyzerAndroid
from mobsf.MalwareAnalyzer.views.MalwareDomainCheck import (
MalwareDomainCheck,
)
logger = logging.getLogger(__name__)
@@ -12,25 +12,23 @@ from django.http import (HttpResponseRedirect,
from django.conf import settings
from django.shortcuts import render
from DynamicAnalyzer.views.android.environment import Environment
from DynamicAnalyzer.views.android.operations import (
from mobsf.DynamicAnalyzer.views.android.environment import Environment
from mobsf.DynamicAnalyzer.views.android.operations import (
get_package_name,
strict_package_check,
)
from DynamicAnalyzer.tools.webproxy import (
from mobsf.DynamicAnalyzer.tools.webproxy import (
start_httptools_ui,
stop_httptools,
)
from MobSF.utils import (
from mobsf.MobSF.utils import (
get_config_loc,
get_device,
get_proxy_ip,
is_md5,
print_n_send_error_response,
)
from StaticAnalyzer.models import StaticAnalyzerAndroid
from mobsf.StaticAnalyzer.models import StaticAnalyzerAndroid
logger = logging.getLogger(__name__)
@@ -58,7 +56,8 @@ def dynamic_analysis(request, api=False):
' find android instance identifier.'
' Please run an android instance and refresh'
' this page. If this error persists,'
' set ANALYZER_IDENTIFIER in MobSF/settings.py')
' set ANALYZER_IDENTIFIER in '
f'{get_config_loc()}')
return print_n_send_error_response(request, msg, api)
proxy_ip = get_proxy_ip(identifier)
context = {'apps': scan_apps,
@@ -105,7 +104,8 @@ def dynamic_analyzer(request, checksum, api=False):
' find android instance identifier. '
'Please run an android instance and refresh'
' this page. If this error persists,'
' set ANALYZER_IDENTIFIER in MobSF/settings.py')
' set ANALYZER_IDENTIFIER in '
f'{get_config_loc()}')
return print_n_send_error_response(request, msg, api)
env = Environment(identifier)
if not env.connect_n_mount():
@@ -13,25 +13,23 @@ from django.conf import settings
from OpenSSL import crypto
from DynamicAnalyzer.tools.webproxy import (
from mobsf.DynamicAnalyzer.tools.webproxy import (
get_ca_file,
start_proxy,
stop_httptools,
)
from MobSF.utils import (
from mobsf.MobSF.utils import (
get_adb,
get_device,
get_proxy_ip,
is_file_exists,
python_list,
)
from StaticAnalyzer.models import StaticAnalyzerAndroid
from mobsf.StaticAnalyzer.models import StaticAnalyzerAndroid
logger = logging.getLogger(__name__)
ANDROID_API_SUPPORTED = 29
FRIDA_VERSION = '14.2.2'
FRIDA_VERSION = '14.2.6'
class Environment:
@@ -9,17 +9,19 @@ from django.conf import settings
import frida
from DynamicAnalyzer.views.android.environment import Environment
from DynamicAnalyzer.views.android.frida_scripts import (
from mobsf.DynamicAnalyzer.views.android.environment import Environment
from mobsf.DynamicAnalyzer.views.android.frida_scripts import (
class_pattern,
class_trace,
get_loaded_classes,
get_methods,
string_catch,
string_compare)
from MobSF.utils import (get_device,
is_file_exists)
string_compare,
)
from mobsf.MobSF.utils import (
get_device,
is_file_exists,
)
logger = logging.getLogger(__name__)
@@ -2,7 +2,7 @@ import os
from django.conf import settings
from DynamicAnalyzer.views.android.operations import strict_package_check
from mobsf.DynamicAnalyzer.views.android.operations import strict_package_check
def get_content(file_name):
@@ -12,16 +12,16 @@ from django.conf import settings
from django.http import HttpResponse
from django.views.decorators.http import require_http_methods
from DynamicAnalyzer.views.android.environment import Environment
from MobSF.utils import (
from mobsf.DynamicAnalyzer.views.android.environment import (
Environment,
)
from mobsf.MobSF.utils import (
get_adb,
get_device,
is_md5,
is_number,
)
from StaticAnalyzer.models import StaticAnalyzerAndroid
from mobsf.StaticAnalyzer.models import StaticAnalyzerAndroid
logger = logging.getLogger(__name__)
@@ -10,19 +10,22 @@ from django.shortcuts import render
from django.template.defaulttags import register
from django.utils.html import escape
from DynamicAnalyzer.views.android.analysis import (
from mobsf.DynamicAnalyzer.views.android.analysis import (
generate_download,
get_screenshots,
run_analysis,
)
from DynamicAnalyzer.views.android.operations import (
from mobsf.DynamicAnalyzer.views.android.operations import (
get_package_name,
is_path_traversal,
)
from DynamicAnalyzer.views.android.tests_xposed import droidmon_api_analysis
from DynamicAnalyzer.views.android.tests_frida import apimon_analysis
from MobSF.utils import (
from mobsf.DynamicAnalyzer.views.android.tests_xposed import (
droidmon_api_analysis,
)
from mobsf.DynamicAnalyzer.views.android.tests_frida import (
apimon_analysis,
)
from mobsf.MobSF.utils import (
is_file_exists,
is_md5,
is_safe_path,
@@ -6,21 +6,23 @@ import os
from django.conf import settings
from django.views.decorators.http import require_http_methods
from DynamicAnalyzer.views.android.operations import (
from mobsf.DynamicAnalyzer.views.android.operations import (
get_package_name,
invalid_params,
send_response,
)
from DynamicAnalyzer.views.android.environment import Environment
from DynamicAnalyzer.views.android.tests_xposed import download_xposed_log
from DynamicAnalyzer.tools.webproxy import stop_httptools
from MobSF.utils import (
from mobsf.DynamicAnalyzer.views.android.environment import (
Environment,
)
from mobsf.DynamicAnalyzer.views.android.tests_xposed import (
download_xposed_log,
)
from mobsf.DynamicAnalyzer.tools.webproxy import stop_httptools
from mobsf.MobSF.utils import (
is_md5,
python_list,
)
from StaticAnalyzer.models import StaticAnalyzerAndroid
from mobsf.StaticAnalyzer.models import StaticAnalyzerAndroid
logger = logging.getLogger(__name__)
@@ -13,15 +13,14 @@ from django.shortcuts import render
from django.conf import settings
from django.views.decorators.http import require_http_methods
from DynamicAnalyzer.views.android.frida_core import Frida
from DynamicAnalyzer.views.android.operations import (
from mobsf.DynamicAnalyzer.views.android.frida_core import Frida
from mobsf.DynamicAnalyzer.views.android.operations import (
get_package_name,
invalid_params,
is_attack_pattern,
send_response,
)
from MobSF.utils import (
from mobsf.MobSF.utils import (
is_file_exists,
is_md5,
is_safe_path,
@@ -6,9 +6,14 @@ import json
import os
import re
from DynamicAnalyzer.views.android.environment import Environment
from MobSF.utils import (is_base64, is_file_exists, python_list)
from mobsf.DynamicAnalyzer.views.android.environment import (
Environment,
)
from mobsf.MobSF.utils import (
is_base64,
is_file_exists,
python_list,
)
logger = logging.getLogger(__name__)
@@ -14,7 +14,7 @@ from django.conf import settings
import IP2Location
from MobSF.utils import (
from mobsf.MobSF.utils import (
is_internet_available,
update_local_db,
)
@@ -10,7 +10,7 @@ from collections import namedtuple
from django.conf import settings
from MobSF.utils import (
from mobsf.MobSF.utils import (
find_java_binary,
is_file_exists,
is_internet_available,
@@ -4,7 +4,7 @@ import requests
from django.conf import settings
from MobSF.utils import (
from mobsf.MobSF.utils import (
file_size,
upstream_proxy,
)
+9 -7
View File
@@ -6,7 +6,7 @@ import subprocess
import sys
import shutil
from install.windows.setup import windows_config_local
from mobsf.install.windows.setup import windows_config_local
logger = logging.getLogger(__name__)
@@ -59,7 +59,10 @@ def create_user_conf(mobsf_home, base_dir):
def django_operation(cmds, base_dir):
"""Generic Function for Djano operations."""
manage = os.path.join(base_dir, 'manage.py')
manage = os.path.join(base_dir, '../manage.py')
if not os.path.exists(manage):
# Bail out for package
return
args = [sys.executable, manage]
args.extend(cmds)
subprocess.call(args)
@@ -99,10 +102,6 @@ def get_mobsf_home(use_home, base_dir):
create_user_conf(mobsf_home, base_dir)
else:
mobsf_home = base_dir
# Logs Directory
log_dir = os.path.join(mobsf_home, 'logs/')
if not os.path.exists(log_dir):
os.makedirs(log_dir)
# Download Directory
dwd_dir = os.path.join(mobsf_home, 'downloads/')
if not os.path.exists(dwd_dir):
@@ -119,7 +118,10 @@ def get_mobsf_home(use_home, base_dir):
sig_dir = os.path.join(mobsf_home, 'signatures/')
if use_home:
src = os.path.join(base_dir, 'signatures/')
shutil.copytree(src, sig_dir, dirs_exist_ok=True)
try:
shutil.copytree(src, sig_dir)
except Exception:
pass
elif not os.path.exists(sig_dir):
os.makedirs(sig_dir)
return mobsf_home
+19 -22
View File
@@ -9,7 +9,7 @@ import imp
import logging
import os
from MobSF.init import (
from mobsf.MobSF.init import (
first_run,
get_mobsf_home,
)
@@ -20,9 +20,8 @@ logger = logging.getLogger(__name__)
# MOBSF CONFIGURATIONS
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MOBSF_VER = 'v3.2.5 Beta'
VERSION = '3.2.6'
MOBSF_VER = 'v3.2.6 Beta' # Remove this later with format
BANNER = """
__ __ _ ____ _____ _____ ____
| \/ | ___ | |__/ ___|| ___| |___ / |___ \
@@ -42,8 +41,6 @@ USE_HOME = False
# ===============================================
MobSF_HOME = get_mobsf_home(USE_HOME, BASE_DIR)
# Logs Directory
LOG_DIR = os.path.join(MobSF_HOME, 'logs/')
# Download Directory
DWD_DIR = os.path.join(MobSF_HOME, 'downloads/')
# Screenshot Directory
@@ -87,9 +84,9 @@ DATABASES = {
"""
# ===============================================
# ==========LOAD CONFIG FROM MobSF HOME==========
# ==========LOAD CONFIG from .MobSF HOME==========
try:
# Update Config from MobSF Home Directory
# Update Config from .MobSF Home Directory
if USE_HOME:
USER_CONFIG = os.path.join(MobSF_HOME, 'config.py')
sett = imp.load_source('user_settings', USER_CONFIG)
@@ -160,10 +157,10 @@ INSTALLED_APPS = (
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'StaticAnalyzer',
'DynamicAnalyzer',
'MobSF',
'MalwareAnalyzer',
'mobsf.StaticAnalyzer',
'mobsf.DynamicAnalyzer',
'mobsf.MobSF',
'mobsf.MalwareAnalyzer',
)
MIDDLEWARE_CLASSES = (
'django.middleware.security.SecurityMiddleware',
@@ -178,10 +175,10 @@ MIDDLEWARE_CLASSES = (
)
MIDDLEWARE = (
'MobSF.views.api.api_middleware.RestApiAuthMiddleware',
'mobsf.MobSF.views.api.api_middleware.RestApiAuthMiddleware',
)
ROOT_URLCONF = 'MobSF.urls'
WSGI_APPLICATION = 'MobSF.wsgi.application'
ROOT_URLCONF = 'mobsf.MobSF.urls'
WSGI_APPLICATION = 'mobsf.MobSF.wsgi.application'
LANGUAGE_CODE = 'en-us'
TIME_ZONE = os.getenv('TIME_ZONE', 'UTC')
USE_I18N = True
@@ -254,7 +251,7 @@ else:
# ======WINDOWS STATIC ANALYSIS SETTINGS ===========
# Private key
WINDOWS_VM_SECRET = 'MobSF/windows_vm_priv_key.asc'
WINDOWS_VM_SECRET = 'mobsf/MobSF/windows_vm_priv_key.asc'
# IP and Port of the MobSF Windows VM
# example: WINDOWS_VM_IP = '127.0.0.1' ;noqa E800
WINDOWS_VM_IP = None
@@ -336,7 +333,7 @@ else:
ITUNES_URL = 'https://itunes.apple.com/lookup'
GITHUB_URL = ('https://raw.githubusercontent.com/'
'MobSF/Mobile-Security-Framework-MobSF/'
'master/MobSF/settings.py')
'master/mobsf/MobSF/settings.py')
GOOGLE = 'https://www.google.com'
BAIDU = 'https://www.baidu.com/'
@@ -388,7 +385,7 @@ LOGGING = {
'logfile': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(MobSF_HOME, 'logs', 'debug.log'),
'filename': os.path.join(MobSF_HOME, 'debug.log'),
'formatter': 'standard',
},
'console': {
@@ -409,22 +406,22 @@ LOGGING = {
'level': 'INFO',
'propagate': False, # Don't propagate to other handlers
},
'MobSF': {
'mobsf.MobSF': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
'propagate': False,
},
'StaticAnalyzer': {
'mobsf.StaticAnalyzer': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
'propagate': False,
},
'MalwareAnalyzer': {
'mobsf.MalwareAnalyzer': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
'propagate': False,
},
'DynamicAnalyzer': {
'mobsf.DynamicAnalyzer': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
'propagate': False,
+15 -16
View File
@@ -1,30 +1,29 @@
from django.conf.urls import url
from DynamicAnalyzer.views.android import dynamic_analyzer as dz
from DynamicAnalyzer.views.android import (
from mobsf.DynamicAnalyzer.views.android import dynamic_analyzer as dz
from mobsf.DynamicAnalyzer.views.android import (
operations,
report,
tests_common,
tests_frida)
from MobSF import utils
from MobSF.views import home
from MobSF.views.api import api_static_analysis as api_sz
from MobSF.views.api import api_dynamic_analysis as api_dz
from StaticAnalyzer import tests
from StaticAnalyzer.views import shared_func
from StaticAnalyzer.views.android import (
tests_frida,
)
from mobsf.MobSF import utils
from mobsf.MobSF.views import home
from mobsf.MobSF.views.api import api_static_analysis as api_sz
from mobsf.MobSF.views.api import api_dynamic_analysis as api_dz
from mobsf.StaticAnalyzer import tests
from mobsf.StaticAnalyzer.views import shared_func
from mobsf.StaticAnalyzer.views.android import (
find,
generate_downloads,
manifest_view,
source_tree,
view_source,
)
from StaticAnalyzer.views.windows import windows
from StaticAnalyzer.views.android import static_analyzer as android_sa
from StaticAnalyzer.views.ios import static_analyzer as ios_sa
from StaticAnalyzer.views.ios import view_source as io_view_source
from mobsf.StaticAnalyzer.views.windows import windows
from mobsf.StaticAnalyzer.views.android import static_analyzer as android_sa
from mobsf.StaticAnalyzer.views.ios import static_analyzer as ios_sa
from mobsf.StaticAnalyzer.views.ios import view_source as io_view_source
from . import settings
+18 -3
View File
@@ -334,14 +334,16 @@ def get_device():
return dev_id
logger.error('Is the Android VM running?\n'
'MobSF cannot identify device id.\n'
'Please set ANALYZER_IDENTIFIER in MobSF/settings.py')
'Please set ''ANALYZER_IDENTIFIER in '
'%s', get_config_loc())
def get_adb():
"""Get ADB binary path."""
try:
adb_loc = None
adb_msg = ('Set adb path, ADB_BINARY in MobSF/settings.py'
adb_msg = ('Set adb path, ADB_BINARY in'
f'{get_config_loc()}'
' with same adb binary used'
' by Genymotion VM/Emulator AVD.')
global ADB_PATH
@@ -396,7 +398,8 @@ def check_basic_env():
logger.error(
'JDK 8+ is not available. '
'Set JAVA_HOME environment variable'
' or JAVA_DIRECTORY in MobSF/settings.py')
' or JAVA_DIRECTORY in '
'%s', get_config_loc())
logger.info('Current Configuration: '
'JAVA_DIRECTORY=%s', settings.JAVA_DIRECTORY)
logger.info('Example Configuration:'
@@ -525,3 +528,15 @@ def is_md5(user_input):
if not stat:
logger.error('Invalid scan hash')
return stat
def get_config_loc():
"""Get config location."""
if settings.USE_HOME:
return os.path.join(
os.path.expanduser('~'),
'.MobSF',
'config.py',
)
else:
return 'MobSF/settings.py'
@@ -3,10 +3,9 @@
from django.views.decorators.csrf import csrf_exempt
from MobSF.views.helpers import request_method
from MobSF.views.api.api_middleware import make_api_response
from DynamicAnalyzer.views.android import (
from mobsf.MobSF.views.helpers import request_method
from mobsf.MobSF.views.api.api_middleware import make_api_response
from mobsf.DynamicAnalyzer.views.android import (
dynamic_analyzer,
operations,
report,
@@ -3,7 +3,7 @@
from django.http import JsonResponse
from django.utils.deprecation import MiddlewareMixin
from MobSF.utils import api_key
from mobsf.MobSF.utils import api_key
OK = 200
@@ -4,19 +4,18 @@
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from MobSF.views.helpers import request_method
from MobSF.views.home import RecentScans, Upload, delete_scan
from MobSF.views.api.api_middleware import make_api_response
from StaticAnalyzer.views.android import view_source
from StaticAnalyzer.views.android.static_analyzer import static_analyzer
from StaticAnalyzer.views.ios import view_source as ios_view_source
from StaticAnalyzer.views.ios.static_analyzer import static_analyzer_ios
from StaticAnalyzer.views.shared_func import (
from mobsf.MobSF.views.helpers import request_method
from mobsf.MobSF.views.home import RecentScans, Upload, delete_scan
from mobsf.MobSF.views.api.api_middleware import make_api_response
from mobsf.StaticAnalyzer.views.android import view_source
from mobsf.StaticAnalyzer.views.android.static_analyzer import static_analyzer
from mobsf.StaticAnalyzer.views.ios import view_source as ios_view_source
from mobsf.StaticAnalyzer.views.ios.static_analyzer import static_analyzer_ios
from mobsf.StaticAnalyzer.views.shared_func import (
compare_apps,
pdf,
)
from StaticAnalyzer.views.windows import windows
from mobsf.StaticAnalyzer.views.windows import windows
@request_method(['POST'])
@@ -14,16 +14,21 @@ from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.template.defaulttags import register
from MobSF.forms import FormUtil, UploadFileForm
from MobSF.utils import (api_key, is_dir_exists, is_file_exists,
print_n_send_error_response)
from MobSF.views.helpers import FileType
from MobSF.views.scanning import Scanning
from StaticAnalyzer.models import (RecentScansDB,
StaticAnalyzerAndroid,
StaticAnalyzerIOS,
StaticAnalyzerWindows)
from mobsf.MobSF.forms import FormUtil, UploadFileForm
from mobsf.MobSF.utils import (
api_key,
is_dir_exists,
is_file_exists,
print_n_send_error_response,
)
from mobsf.MobSF.views.helpers import FileType
from mobsf.MobSF.views.scanning import Scanning
from mobsf.StaticAnalyzer.models import (
RecentScansDB,
StaticAnalyzerAndroid,
StaticAnalyzerIOS,
StaticAnalyzerWindows,
)
LINUX_PLATFORM = ['Darwin', 'Linux']
HTTP_BAD_REQUEST = 400
@@ -226,7 +231,7 @@ def search(request):
def download(request):
"""Download from MobSF Route."""
"""Download from mobsf.MobSF Route."""
msg = 'Error Downloading File '
if request.method == 'GET':
allowed_exts = settings.ALLOWED_EXTENSIONS
@@ -6,7 +6,7 @@ import os
from django.conf import settings
from django.utils import timezone
from StaticAnalyzer.models import RecentScansDB
from mobsf.StaticAnalyzer.models import RecentScansDB
logger = logging.getLogger(__name__)
+5 -2
View File
@@ -13,9 +13,12 @@ from django.core.wsgi import get_wsgi_application
from whitenoise import WhiteNoise
from . import settings
warnings.filterwarnings('ignore', category=UserWarning, module='cffi')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MobSF.settings')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mobsf.MobSF.settings')
static = os.path.join(settings.BASE_DIR, 'static')
application = WhiteNoise(get_wsgi_application(),
root='static', prefix='static/')
root=static, prefix='static/')
@@ -8,7 +8,7 @@ from django.conf import settings
from django.http import HttpResponse
from django.test import Client, TestCase
from MobSF.utils import api_key
from mobsf.MobSF.utils import api_key
logger = logging.getLogger(__name__)

Some files were not shown because too many files have changed in this diff Show More