# android-app-security/android-trojan-2.0-modified architecture

> Architecture diagram of the GitHub repository android-app-security/android-trojan-2.0-modified, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/android-app-security/android-trojan-2.0-modified
- Repository: https://github.com/android-app-security/android-trojan-2.0-modified

## Overview

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: [`routes/webRoutes.js`](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/routes/webRoutes.js) (Web Routes), [`server.js`](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/server.js) (Server), [`static/html`](https://github.com/android-app-security/android-trojan-2.0-modified/tree/main/static/html) (Web Pages), [`mobile/app/src/main/java/com/example/maintrojan`](https://github.com/android-app-security/android-trojan-2.0-modified/tree/main/mobile/app/src/main/java/com/example/maintrojan) (Android App)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["Operator Console"]
  node_dashboard["Device Dashboard<br/>[index.js]"]
  node_loginui["Login UI<br/>[login.js]"]
  node_webui["Web Pages"]
end

subgraph group_server["C2 Server"]
  node_serverapp["Server<br/>[server.js]"]
  node_web_routes["Web Routes<br/>[webRoutes.js]"]
  node_crypto_routes["Crypto API<br/>[crypto.js]"]
  node_realtime["Realtime Transport<br/>[server.js]"]
end

subgraph group_provision["APK Provisioning"]
  node_apk_config["APK Configuration<br/>[setIpPort.js]"]
  node_apk_compile["APK Compilation<br/>[compileApk.js]"]
  node_android_app["Android App"]
end

subgraph group_data["Data Services"]
  node_supabase_client["Supabase Client<br/>[superBaseAPI.js]"]
  node_supabase[("Supabase")]
  node_schema["Database Schema"]
end

node_operator(("Operator"))
node_device(("Android Device"))

node_operator -->|"opens console"| node_webui
node_webui -.->|"loads login"| node_loginui
node_loginui -.->|"submits credentials"| node_serverapp
node_serverapp -->|"mounts routes"| node_web_routes
node_web_routes -->|"serves pages"| node_webui
node_dashboard -->|"receives device events"| node_realtime
node_serverapp -->|"routes device events"| node_realtime
node_device -.->|"connects"| node_realtime
node_serverapp -->|"queries records"| node_supabase_client
node_crypto_routes -->|"queries crypto records"| node_supabase_client
node_supabase_client -->|"reads and writes"| node_supabase
node_schema -.->|"defines tables"| node_supabase
node_dashboard -.->|"requests APK setup"| node_web_routes
node_web_routes -->|"sets connection values"| node_apk_config
node_web_routes -->|"starts compilation"| node_apk_compile
node_apk_config -->|"writes app settings"| node_android_app
node_apk_compile -->|"builds APK"| node_android_app
node_android_app -.->|"communicates"| node_realtime

click node_dashboard "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/static/js/index.js"
click node_loginui "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/static/js/login.js"
click node_webui "https://github.com/android-app-security/android-trojan-2.0-modified/tree/main/static/html"
click node_serverapp "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/server.js"
click node_web_routes "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/routes/webRoutes.js"
click node_crypto_routes "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/routes/crypto.js"
click node_realtime "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/server.js"
click node_apk_config "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/modules/setIpPort.js"
click node_apk_compile "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/modules/compileApk.js"
click node_android_app "https://github.com/android-app-security/android-trojan-2.0-modified/tree/main/mobile/app/src/main/java/com/example/maintrojan"
click node_supabase_client "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/modules/superBaseAPI.js"
click node_schema "https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/database/supabase_schema.sql"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dashboard,node_loginui,node_webui toneBlue
class node_serverapp,node_web_routes,node_crypto_routes,node_realtime toneAmber
class node_apk_config,node_apk_compile,node_android_app toneMint
class node_supabase_client,node_supabase,node_schema toneRose
class node_operator,node_device toneIndigo
```

## Components

### Operator Console

- [Device Dashboard](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/static/js/index.js): `static/js/index.js`
- [Login UI](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/static/js/login.js): `static/js/login.js`
- [Web Pages](https://github.com/android-app-security/android-trojan-2.0-modified/tree/main/static/html): `static/html`

### C2 Server

- [Server](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/server.js): `server.js`
- [Web Routes](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/routes/webRoutes.js): `routes/webRoutes.js`
- [Crypto API](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/routes/crypto.js): `routes/crypto.js`
- [Realtime Transport](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/server.js): `server.js`

### APK Provisioning

- [APK Configuration](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/modules/setIpPort.js): `modules/setIpPort.js`
- [APK Compilation](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/modules/compileApk.js): `modules/compileApk.js`
- [Android App](https://github.com/android-app-security/android-trojan-2.0-modified/tree/main/mobile/app/src/main/java/com/example/maintrojan): `mobile/app/src/main/java/com/example/maintrojan`

### Data Services

- [Supabase Client](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/modules/superBaseAPI.js): `modules/superBaseAPI.js`
- **Supabase**
- [Database Schema](https://github.com/android-app-security/android-trojan-2.0-modified/blob/main/database/supabase_schema.sql): `database/supabase_schema.sql`

### Other components

- **Operator**
- **Android Device**

## Connections

- Operator → Web Pages: opens console (evidence: `README.md`)
- Web Pages → Login UI: loads login
- Login UI → Server: submits credentials
- Server → Web Routes: mounts routes (evidence: `server.js`)
- Web Routes → Web Pages: serves pages (evidence: `routes/webRoutes.js`)
- Device Dashboard → Realtime Transport: receives device events (evidence: `static/js/index.js`)
- Server → Realtime Transport: routes device events (evidence: `server.js`)
- Android Device → Realtime Transport: connects
- Server → Supabase Client: queries records (evidence: `server.js`)
- Crypto API → Supabase Client: queries crypto records (evidence: `routes/crypto.js`)
- Supabase Client → Supabase: reads and writes (evidence: `modules/superBaseAPI.js`)
- Database Schema → Supabase: defines tables
- Device Dashboard → Web Routes: requests APK setup
- Web Routes → APK Configuration: sets connection values (evidence: `routes/webRoutes.js`)
- Web Routes → APK Compilation: starts compilation (evidence: `routes/webRoutes.js`)
- APK Configuration → Android App: writes app settings (evidence: `modules/setIpPort.js`)
- APK Compilation → Android App: builds APK (evidence: `modules/compileApk.js`)
- Android App → Realtime Transport: communicates
