How android-app-security/android-trojan-2.0-modified works
This repository presents an Android C2 dashboard and server: an operator logs in, monitors connected devices, and can request configured APK variants. The server provides web routes, session-backed authentication, real-time device communication, and Supabase-backed records. The README also documents APK generation and multi-device monitoring; sampled code confirms parts of those flows. Android implementation details and some server routes were not sampled, so those links are shown only where documented or omitted. The crypto-related API is a separate sampled feature. This is a high-level component map, not an operational guide.
Main entry points: webRoutes.js Web Routes · server.js Server · html Web Pages · maintrojan Android App
Components 15
Operator Console
- Device Dashboard
static/js/index.js - Login UI
static/js/login.js - Web Pages
static/html
C2 Server
- Server
server.js - Web Routes
routes/webRoutes.js - Crypto API
routes/crypto.js - Realtime Transport
server.js
APK Provisioning
- APK Configuration
modules/setIpPort.js - APK Compilation
modules/compileApk.js - Android App
mobile/app/src/main/java/com/example/maintrojan
Data Services
- Supabase Client
modules/superBaseAPI.js - Supabase
- Database Schema
database/supabase_schema.sql
Other components
- Operator
- Android Device
Connections 18
- Operator → Web Pages: opens console
README.md - Web Pages → Login UI: loads login
- Login UI → Server: submits credentials
- Server → Web Routes: mounts routes
server.js - Web Routes → Web Pages: serves pages
routes/webRoutes.js - Device Dashboard → Realtime Transport: receives device events
static/js/index.js - Server → Realtime Transport: routes device events
server.js - Android Device → Realtime Transport: connects
- Server → Supabase Client: queries records
server.js - Crypto API → Supabase Client: queries crypto records
routes/crypto.js - Supabase Client → Supabase: reads and writes
modules/superBaseAPI.js - Database Schema → Supabase: defines tables
- Device Dashboard → Web Routes: requests APK setup
- Web Routes → APK Configuration: sets connection values
routes/webRoutes.js - Web Routes → APK Compilation: starts compilation
routes/webRoutes.js - APK Configuration → Android App: writes app settings
modules/setIpPort.js - APK Compilation → Android App: builds APK
modules/compileApk.js - Android App → Realtime Transport: communicates