How mg1937/asc works
Droid ASC is an on-demand Android APK/DEX analysis and decompilation tool. Its main workflow locates a requested class in an APK, extracts its DEX, rebuilds a minimal DEX, and decompiles that class. Separate commands enumerate classes, decode the manifest, and search references across DEX entries; a GUI provides an interactive analysis surface. The graph follows the documented capabilities and sampled call sites; some GUI and APK-worker internals were not available, so uncertain wiring is omitted.
Main entry points: dex_manager.py DEX manager · cli.py CLI commands · asc_handler.py Analysis facade · findrefs_manager.py Reference manager
Components 19
User interfaces
- CLI commands
droidasc/cli.py - Interactive GUI
droidasc/asc_client/gui/app.py
APK access
- APK operations
droidasc/asc_client/apk_handler.py - Manifest decoder
droidasc/asc_client/manifest_handler.py
DEX analysis
- Analysis facade
droidasc/asc_client/asc_handler.py - DEX manager
droidasc/asc_core/core/dex/dex_manager.py - Opcode interpreter
droidasc/asc_core/core/dvm_interpreter.py - Index collection
droidasc/asc_core/core/dvm_handlers.py - DEX extraction
droidasc/asc_core/core/dex/dex_constructor.py - Index remapping
droidasc/asc_core/core/dex/dex_remapper.py - DEX builder
droidasc/asc_core/core/dex/dex_builder.py - Source decompiler
droidasc/asc_core/utils/decompiler.py
Reference search
- Reference manager
droidasc/asc_core/findrefs/findrefs_manager.py - Reference locators
droidasc/asc_core/findrefs/locator - Code scanner
droidasc/asc_core/findrefs/scan/code_item_scan.py
Other components
- Analyst
- APK file
- Androguard
- Analysis output
Connections 24
- Analyst → CLI commands: runs commands
- Analyst → Interactive GUI: opens GUI
- CLI commands → APK operations: locates or lists
- CLI commands → Manifest decoder: decodes manifest
- CLI commands → Analysis facade: requests decompilation
- CLI commands → Analysis output: writes results
- APK file → APK operations: scanned by
- APK file → Manifest decoder: provides manifest
- Manifest decoder → Androguard: decodes XML with
- APK operations → Analysis facade: searches references through
- Analysis facade → DEX manager: extracts and rebuilds
- DEX manager → Opcode interpreter: interprets bytecode
- DEX manager → Index collection: collects indices
- Opcode interpreter → Index collection: dispatches opcodes
- DEX manager → DEX extraction: hollows DEX
- DEX manager → Index remapping: remaps indices
- DEX manager → DEX builder: builds DEX
- Analysis facade → Source decompiler: decompiles rebuilt DEX
- Analysis facade → Reference manager: searches references
- Reference manager → Reference locators: resolves query indices
- Reference manager → Code scanner: scans references
- Source decompiler → Analysis output: returns source
- Reference manager → Analysis output: returns matches
- APK operations → Analysis output: returns class data