jadx

Command line and GUI tools for produce Java source code from Android Dex and Apk files.
jadx logo

Jadx


Options

  • --progress/ -p: Progress output
  • --error/ -e: Error output
  • --warn/ -w: Warning output
  • --info/ -i: Info output
  • --debug/ -d: Debug output
  • --default: Default output (no logging)

Verbosity Options

  • -v, --verbose: Verbose output (set --log-level to DEBUG)
  • -q, --quiet: Turn off output (set --log-level to QUIET)

Plugin Options

  • -P<name>=<value>: Load plugin with specified options
    • dex-input:
      • verify-checksum: Verify dex file checksum before load (yes/no, default: yes)
    • java-convert:
      • mode: Convert mode (dx/d8/both, default: both)
      • d8-desugar: Use desugar in d8 (yes/no, default: no)
    • kotlin-metadata:
      • class-alias: Rename class alias (yes/no, default: yes)
      • method-args: Rename function arguments (yes/no, default: yes)
      • fields: Rename fields (yes/no, default: yes)
      • companion: Rename companion object (yes/no, default: yes)
      • data-class: Add data class modifier (yes/no, default: yes)
      • to-string: Rename fields using toString (yes/no, default: yes)
      • getters: Rename simple getters to field names (yes/no, default: yes)
    • rename-mappings:
      • format: Mapping format (auto/tiny_file/tiny_2_file/enigma_file/enigma_dir/srg_file/xsrg_file/jam_file/csrh_file/tsrg_file/tsrg_2_file/proguard_file/recaf_simple_file/jobf_file, default: auto)
      • invert: Invert mapping on load (yes/no, default: no)
    • smali-input:
      • api-level: Android API level (default: 27)

Environment Variables

  • JDK_DISABLE_XML_SECURITY: Disable all security checks for XML files
  • JDK_DISABLE_ZIP_SECURITY: Disable all security checks for zip files
  • JDK_ZIP_MAX_ENTRIES_COUNT: Maximum allowed number of entries in zip files (default: 100,000)
  • JDK_CONFIG_DIR: Custom config directory (using system by default)
  • JDK_CACHE_DIR: Custom cache directory (using system by default)
  • JDK_TMP_DIR: Custom temp directory (using system by default)

Examples

  • jadx -d out classes.dex
  • jadx --rename-flags "none" classes.dex
  • jadx --log-level ERROR app.apk
  • jadx -Pdex-input.verify-checksum=no app.apk

Troubleshooting

Please check wiki page Troubleshooting Q&AI


Contributing

To support this project you can: - Post thoughts about new features/optimizations that are important to you - Submit decompilation issues, please read before proceed: Open issue - Open pull request, please follow these rules: Pull Request Process





> Visit jadx Website <