How adhilbinmujeeb/mas_course_project-team- works
This repository statically analyzes Android APKs (never installs or executes them), then presents explainable, app-category-aware risk assessments through a CLI and Flask dashboard. The primary workflow is APK intake and parsing, DEX feature extraction, normalization, contextual scoring, and HTML reporting; existing analysis JSON can also enter through the dashboard or CLI. The graph preserves documented extraction and category capabilities, but several orchestration details are unsampled, so uncertain call links are omitted.
Main entry points: pipeline.py CLI Pipeline · app.py Flask Dashboard · apk_loader.py DEX Loader · report_generator.py Report Builder
Components 17
APK Intake
- CLI Pipeline
pipeline.py - APK Parser
apk_parser.py
Static Analysis
- DEX Loader
feature_extraction/apk_loader.py - Sensitive API Scan
feature_extraction/sensitive_apis.py - String Scan
feature_extraction/string_extraction.py - Obfuscation Checks
feature_extraction/obfuscation_heuristics.py - Feature Normalizer
anzal_android-malware-framework/android-malware-framework/analyzer.py
Risk Assessment
- Category Context
anzal_android-malware-framework/android-malware-framework/app_category.py - Risk Scoring
anzal_android-malware-framework/android-malware-framework/scoring_engine.py
User Delivery
- Report Builder
anzal_android-malware-framework/android-malware-framework/report_generator.py - Flask Dashboard
anzal_android-malware-framework/android-malware-framework/app.py - Report Views
anzal_android-malware-framework/android-malware-framework/templates - Dashboard Charts
anzal_android-malware-framework/android-malware-framework/static/js/dashboard.js - Saved Reports
anzal_android-malware-framework/android-malware-framework/reports
Other components
- Analyst
- APK or JSON
- Androguard
Connections 24
- Analyst → CLI Pipeline: runs scan
- Analyst → Flask Dashboard: uploads file
- APK or JSON → CLI Pipeline: provides input
- CLI Pipeline → APK Parser: parses archive
- CLI Pipeline → DEX Loader: loads DEX
- DEX Loader → Androguard: uses parser
- Sensitive API Scan → DEX Loader: reads analysis
- String Scan → DEX Loader: reads DEX
- Obfuscation Checks → DEX Loader: reads analysis
- CLI Pipeline → Sensitive API Scan: extracts API hits
- CLI Pipeline → String Scan: extracts strings
- CLI Pipeline → Obfuscation Checks: checks obfuscation
- CLI Pipeline → Feature Normalizer: normalizes findings
- CLI Pipeline → Risk Scoring: scores features
- Feature Normalizer → Category Context: resolves context
- Risk Scoring → Category Context: uses tiers
- Flask Dashboard → Feature Normalizer: builds features
- Flask Dashboard → Risk Scoring: calculates risk
- Flask Dashboard → Report Builder: requests report
- Report Builder → Report Views: renders view
- Report Builder → Saved Reports: saves report
- Flask Dashboard → Report Views: renders dashboard
- Report Views → Dashboard Charts: embeds chart data
- Flask Dashboard → Analyst: shows assessment