{"repo":"skylot/jadx","free":true,"listed":false,"github":"https://github.com/skylot/jadx","clone":"git clone https://github.com/skylot/jadx.git","description":"Dex to Java decompiler","language":"Java","stars":50086,"topics":["android","decompiler","dex","java"],"license":"Apache-2.0","category":"reverse_engineering","readme_excerpt":"<img src=\"https://raw.githubusercontent.com/skylot/jadx/master/jadx-gui/src/main/resources/logos/jadx-logo.png\" width=\"64\" align=\"left\" />\n\n## JADX\n\n![Build status](https://img.shields.io/github/actions/workflow/status/skylot/jadx/build-artifacts.yml)\n![GitHub contributors](https://img.shields.io/github/contributors/skylot/jadx)\n![GitHub all releases](https://img.shields.io/github/downloads/skylot/jadx/total)\n![GitHub release (latest by SemVer)](https://img.shields.io/github/downloads/skylot/jadx/latest/total)\n![Latest release](https://img.shields.io/github/release/skylot/jadx.svg)\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.skylot/jadx-core)](https://search.maven.org/search?q=g:io.github.skylot%20AND%20jadx)\n![Java 11+](https://img.shields.io/badge/Java-11%2B-blue)\n[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n\n**jadx** - Dex to Java decompiler\n\nCommand line and GUI tools for producing Java source code from Android Dex and Apk files\n\n> [!WARNING]\n> Please note that in most cases **jadx** can't decompile all 100% of the code, so errors will occur.<br />\n> Check [Troubleshooting guide](https://github.com/skylot/jadx/wiki/Troubleshooting-Q&A#decompilation-issues) for workarounds.\n\n**Main features:**\n- decompile Dalvik bytecode to Java code from APK, dex, aar, aab and zip files\n- decode `AndroidManifest.xml` and other resources from `resources.arsc`\n- deobfuscator included\n\n**jadx-gui features:**\n- view decompiled code with highlighted syntax\n- jump to declaration\n- find usage\n- full text search\n- smali debugger, check [wiki page](https://github.com/skylot/jadx/wiki/Smali-debugger) for setup and usage\n\nJadx-gui key bindings can be found [here](https://github.com/skylot/jadx/wiki/JADX-GUI-Key-bindings)\n\nSee these features in action here: [jadx-gui features overview](https://github.com/skylot/jadx/wiki/jadx-gui-features-overview)\n\n<img src=\"https://user-images.githubusercontent.com/118523/142730720-839f017e-38db-423e-b53f-39f5f0a0316f.png\" width=\"700\"/>\n\n### Download\n- release\n  from [github: ![Latest release](https://img.shields.io/github/release/skylot/jadx.svg)](https://github.com/skylot/jadx/releases/latest)\n- latest [unstable build ![GitHub commits since tagged version (branch)](https://img.shields.io/github/commits-since/skylot/jadx/latest/master)](https://nightly.link/skylot/jadx/workflows/build-artifacts/master)\n\nAfter download unpack zip file go to `bin` directory and run:\n- `jadx` - command line version\n- `jadx-gui` - UI version\n\nOn Windows run `.bat` files with double-click\\\n**Note:** ensure you have installed Java 11 or later 64-bit version.\nFor Windows, you can download it from [oracle.com](https://www.oracle.com/java/technologies/downloads/#jdk17-windows) (select x64 Installer).\n\n### Install\n- Arch Linux\n  [![Arch Linux package](https://img.shields.io/archlinux/v/extra/any/jadx)](https://archlinux.org/packages/extra/any/jadx/)\n  [![AUR Version](https://img.shields.io/aur/version/jadx-git)](https://aur.archlinux.org/packages/jadx-git)\n  ```bash\n  sudo pacman -S jadx\n  ```\n- macOS\n  [![homebrew version](https://img.shields.io/homebrew/v/jadx)](https://formulae.brew.sh/formula/jadx)\n  ```bash\n  brew install jadx\n  ```\n- Flathub\n  [![Flathub Version](https://img.shields.io/flathub/v/com.github.skylot.jadx)](https://flathub.org/apps/com.github.skylot.jadx)\n  ```bash\n  flatpak install flathub com.github.skylot.jadx\n  ```\n\n### Use jadx as a library\nYou can use jadx in your java projects, check details on [wiki page](https://github.com/skylot/jadx/wiki/Use-jadx-as-a-library)\n\n### Build from source\nJDK 17 or higher must be installed:\n```\ngit clone https://github.com/skylot/jadx.git\ncd jadx\n./gradlew dist\n```\n\n(on Windows, use `gradlew.bat` instead of `./gradlew`)\n\nScripts for run jadx will be placed in `build/jadx/bin`\nand also packed to `build/jadx-<version>.zip`\n\n### Usage\n```\njadx[-gui] [command] [options] <input files> (.apk, .dex, .jar, .class, .smali, .zip, .aar, .arsc, .aab, .xapk, .apkm, .jadx.kts)\ncommands (use '<command> --help' for command options):\n  plugins\t  - manage jadx plugins\n\noptions:\n  -d, --output-dir                              - output directory\n  -ds, --output-dir-src                         - output directory for sources\n  -dr, --output-dir-res                         - output directory for resources\n  -r, --no-res                                  - do not decode resources\n  -s, --no-src                                  - do not decompile source code\n  -j, --threads-count                           - processing threads count, default: 16\n  --single-class                                - decompile a single class, full name, raw or alias\n  --single-class-output                         - file or dir for write if decompile a single class\n  --output-format                               - can be 'java' or 'json', default: java\n  -e, --export-gradle                           - save as gradle project (set '--export-gradle-type' to 'auto')\n  --export-gradle-type                          - Gradle project template for export:\n                                                   'auto' - detect automatically\n                                                   'android-app' - Android Application (apk)\n                                                   'android-library' - Android Library (aar)\n                                                   'simple-java' - simple Java\n  -m, --decompilation-mode                      - code output mode:\n                                                   'auto' - trying best options (default)\n                                                   'restructure' - restore code structure (normal java code)\n                                                   'simple' - simplified instructions (linear, with goto's)\n                                                   'fallback' - raw instructions without modifications\n  --show-bad-code                               - show inconsistent code (incorrectly decompiled)\n  --no-xml-pretty-print                         - do not prettify XML\n  --no-imports                                  - disable use of imports, always write entire package name\n  --no-debug-info                               - disable debug info parsing and processing\n  --add-debug-lines                             - add comments with debug line numbers if available\n  --no-inline-anonymous                         - disable anonymous classes inline\n  --no-inline-methods                           - disable methods inline\n  --no-move-inner-classes                       - disable move inner classes into parent\n  --no-inline-kotlin-lambda                     - disable inline for Kotlin lambdas\n  --no-finally                                  - don't extract finally block\n  --no-restore-switch-over-string               - don't restore switch over string\n  --no-replace-consts                           - don't replace constant value with matching constant field\n  --escape-unicode                              - escape non latin characters in strings (with \\u)\n  --respect-bytecode-access-modifiers           - don't change original access modifiers\n  --mappings-path                               - deobfuscation mappings file or directory. Allowed formats: Tiny and Tiny v2 (both '.tiny'), Enigma (.mapping) or Enigma directory\n  --mappings-mode                               - set mode for handling the deobfuscation mapping file:\n                                                   'read' - just read, user can always save manually (default)\n                                                   'read-and-autosave-every-change' - read and autosave after every change\n                                                   'read-and-autosave-before-closing' - read and autosave before exiting the app or closing the project\n                                                   'ignore' - don't read or save (can be used to skip loading mapping files referenced in the project file)\n  --deobf                                       - activate deobfuscation\n  --deobf-min                                   - min length of name, renamed if shorter, default: 3\n  --deobf-max                                   - max length of name, renamed if longer, default: 64\n  --deobf-whitelist                             - space separated list of classes (full name) and packages (ends with '.*') to exclude from deobfuscation, default: android.support.v4.* android.support.v7.* android.support.v4.os.* android.support.annotation.Px androidx.core.os.* androidx.annotation.Px\n  --deobf-cfg-file                              - deobfuscation mappings file used for JADX auto-generated names (in the JOBF file format), default: same dir and name as input file with '.jobf' extension\n  --deobf-cfg-file-mode                         - set mode for handling the JADX auto-generated names' deobfuscation map file:\n                                                   'read' - read if found, don't save (default)\n                                                   'read-or-save' - read if found, save otherwise (don't overwrite)\n                                                   'overwrite' - don't read, always save\n                                                   'ignore' - don't read and don't save\n  --deobf-res-name-source                       - better name source for resources:\n                                                   'auto' - automatically select best name (default)\n                                                   'resources' - use resources names\n                                                   'code' - use R class fields names\n  --use-source-name-as-class-name-alias         - use source name as class name alias:\n                                                   'always' - always use source name if it's available\n                                                   'if-better' - use source name if it seems better than the current one\n             ","default_branch":"master","files":2470,"tree":[".editorconfig",".gitattributes",".github/ISSUE_TEMPLATE/config.yml",".github/ISSUE_TEMPLATE/decompilation-issue.yml",".github/ISSUE_TEMPLATE/feature-request.yml",".github/ISSUE_TEMPLATE/jadx-gui-issue.yml",".github/dependabot.yml",".github/pull_request_template.md",".github/workflows/build-artifacts.yml",".github/workflows/build-test.yml",".github/workflows/release.yml",".gitignore",".gitlab-ci.yml",".jitpack.yml",".run/jadx-gui.run.xml",".typos.toml","CODE_OF_CONDUCT.md","CONTRIBUTING.md","LICENSE","NOTICE","README.md","SECURITY.md","build.gradle.kts","buildSrc/build.gradle.kts","buildSrc/src/main/kotlin/jadx-java.gradle.kts","buildSrc/src/main/kotlin/jadx-kotlin.gradle.kts","buildSrc/src/main/kotlin/jadx-library.gradle.kts","buildSrc/src/main/kotlin/jadx-rewrite.gradle.kts","config/checkstyle/checkstyle.xml","config/code-formatter/eclipse.importorder","config/code-formatter/eclipse.xml","config/jflex/.gitignore","config/jflex/README.md","config/jflex/SmaliTokenMaker.flex","config/jflex/skeleton.default","contrib/jadx-gui.desktop","gradle.properties","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","jadx-cli/build.gradle.kts","jadx-cli/src/main/java/jadx/cli/JCommanderWrapper.java","jadx-cli/src/main/java/jadx/cli/JadxAppCommon.java","jadx-cli/src/main/java/jadx/cli/JadxCLI.java","jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java","jadx-cli/src/main/java/jadx/cli/JadxCLICommands.java","jadx-cli/src/main/java/jadx/cli/LogHelper.java","jadx-cli/src/main/java/jadx/cli/SingleClassMode.java","jadx-cli/src/main/java/jadx/cli/clst/ConvertToClsSet.java","jadx-cli/src/main/java/jadx/cli/commands/CommandPlugins.java","jadx-cli/src/main/java/jadx/cli/commands/ICommand.java","jadx-cli/src/main/java/jadx/cli/config/IJadxConfig.java","jadx-cli/src/main/java/jadx/cli/config/JadxConfigAdapter.java","jadx-cli/src/main/java/jadx/cli/config/JadxConfigExclude.java","jadx-cli/src/main/java/jadx/cli/plugins/JadxFilesGetter.java","jadx-cli/src/main/java/jadx/cli/tools/ConvertArscFile.java","jadx-cli/src/main/resources/logback.xml","jadx-cli/src/test/java/jadx/cli/BaseCliIntegrationTest.java","jadx-cli/src/test/java/jadx/cli/JadxCLIArgsTest.java","jadx-cli/src/test/java/jadx/cli/RenameConverterTest.java","jadx-cli/src/test/java/jadx/cli/TestExport.java","jadx-cli/src/test/java/jadx/cli/TestInput.java","jadx-cli/src/test/java/jadx/plugins/tools/utils/PluginUtilsTest.java","jadx-cli/src/test/resources/samples/HelloWorld.class","jadx-cli/src/test/resources/samples/HelloWorld.smali","jadx-cli/src/test/resources/samples/defpkg.smali","jadx-cli/src/test/resources/samples/hello.dex","jadx-cli/src/test/resources/samples/resources-only.apk","jadx-cli/src/test/resources/samples/small.apk","jadx-cli/src/test/resources/samples/test-lib.aar","jadx-commons/jadx-analysis/README.md","jadx-commons/jadx-analysis/build.gradle.kts","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraph.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraphAttrNode.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraphBuilder.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraphEdge.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraphExportDot.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraphExportJson.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/CallGraphNode.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/JadxCallGraph.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/api/ICallGraph.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/api/ICallGraphBuilder.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/api/ICallGraphEdge.java","jadx-commons/jadx-analysis/src/main/java/jadx/analysis/callgraph/api/ICallGraphNode.java","jadx-commons/jadx-analysis/src/test/java/jadx/analysis/callgraph/test/JadxCallGraphTest.java","jadx-commons/jadx-analysis/src/test/resources/samples/simple.smali","jadx-commons/jadx-app-commons/README.md","jadx-commons/jadx-app-commons/build.gradle.kts","jadx-commons/jadx-app-commons/src/main/java/jadx/commons/app/JadxCommonEnv.java","jadx-commons/jadx-app-commons/src/main/java/jadx/commons/app/JadxCommonFiles.java","jadx-commons/jadx-app-commons/src/main/java/jadx/commons/app/JadxSystemInfo.java","jadx-commons/jadx-app-commons/src/main/java/jadx/commons/app/JadxTempFiles.java","jadx-commons/jadx-zip/README.md","jadx-commons/jadx-zip/build.gradle.kts","jadx-commons/jadx-zip/src/main/java/jadx/zip/IZipEntry.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/IZipParser.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/ZipContent.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/ZipReader.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/ZipReaderFlags.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/ZipReaderOptions.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/fallback/FallbackException.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/fallback/FallbackZipEntry.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/fallback/FallbackZipParser.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/io/ByteBufferBackedInputStream.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/io/LimitedInputStream.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/parser/JadxZipEntry.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/parser/JadxZipParser.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/parser/ZipDeflate.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/security/DisabledZipSecurity.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/security/IJadxZipSecurity.java","jadx-commons/jadx-zip/src/main/java/jadx/zip/security/JadxZipSecurity.java","jadx-core/build.gradle.kts","jadx-core/src/main/java/jadx/api/CommentsLevel.java","jadx-core/src/main/java/jadx/api/DecompilationMode.java","jadx-core/src/main/java/jadx/api/ICodeCache.java","jadx-core/src/main/java/jadx/api/ICodeInfo.java","jadx-core/src/main/java/jadx/api/ICodeWriter.java","jadx-core/src/main/java/jadx/api/IDecompileScheduler.java","jadx-core/src/main/java/jadx/api/JadxArgs.java","jadx-core/src/main/java/jadx/api/JadxArgsValidator.java","jadx-core/src/main/java/jadx/api/JadxDecompiler.java","jadx-core/src/main/java/jadx/api/JavaClass.java","jadx-core/src/main/java/jadx/api/JavaField.java","jadx-core/src/main/java/jadx/api/JavaMethod.java","jadx-core/src/main/java/jadx/api/JavaNode.java","jadx-core/src/main/java/jadx/api/JavaPackage.java","jadx-core/src/main/java/jadx/api/JavaVariable.java","jadx-core/src/main/java/jadx/api/ResourceFile.java","jadx-core/src/main/java/jadx/api/ResourceFileContainer.java","jadx-core/src/main/java/jadx/api/ResourceFileContent.java","jadx-core/src/main/java/jadx/api/ResourceType.java","jadx-core/src/main/java/jadx/api/ResourcesLoader.java","jadx-core/src/main/java/jadx/api/args/GeneratedRenamesMappingFileMode.java","jadx-core/src/main/java/jadx/api/args/IntegerFormat.java","jadx-core/src/main/java/jadx/api/args/ResourceNameSource.java","jadx-core/src/main/java/jadx/api/args/UseSourceNameAsClassNameAlias.java","jadx-core/src/main/java/jadx/api/args/UserRenamesMappingsMode.java","jadx-core/src/main/java/jadx/api/data/CodeRefType.java","jadx-core/src/main/java/jadx/api/data/CommentStyle.java","jadx-core/src/main/java/jadx/api/data/ICodeComment.java","jadx-core/src/main/java/jadx/api/data/ICodeData.java","jadx-core/src/main/java/jadx/api/data/ICodeRename.java","jadx-core/src/main/java/jadx/api/data/IJavaCodeRef.java","jadx-core/src/main/java/jadx/api/data/IJavaNodeRef.java","jadx-core/src/main/java/jadx/api/data/IRenameNode.java","jadx-core/src/main/java/jadx/api/data/impl/JadxCodeComment.java","jadx-core/src/main/java/jadx/api/data/impl/JadxCodeData.java","jadx-core/src/main/java/jadx/api/data/impl/JadxCodeRef.java","jadx-core/src/main/java/jadx/api/data/impl/JadxCodeRename.java","jadx-core/src/main/java/jadx/api/data/impl/JadxNodeRef.java","jadx-core/src/main/java/jadx/api/deobf/IAliasProvider.java","jadx-core/src/main/java/jadx/api/deobf/IDeobfCondition.java","jadx-core/src/main/java/jadx/api/deobf/IRenameCondition.java","jadx-core/src/main/java/jadx/api/deobf/impl/AlwaysRename.java","jadx-core/src/main/java/jadx/api/deobf/impl/AnyRenameCondition.java","jadx-core/src/main/java/jadx/api/deobf/impl/CombineDeobfConditions.java","jadx-core/src/main/java/jadx/api/gui/tree/ITreeNode.java","jadx-core/src/main/java/jadx/api/impl/AnnotatedCodeInfo.java","jadx-core/src/main/java/jadx/api/impl/AnnotatedCodeWriter.java","jadx-core/src/main/java/jadx/api/impl/DelegateCodeCache.java","jadx-core/src/main/java/jadx/api/impl/InMemoryCodeCache.java","jadx-core/src/main/java/jadx/api/impl/NoOpCodeCache.java","jadx-core/src/main/java/jadx/api/impl/SimpleCodeInfo.java","jadx-core/src/main/java/jadx/api/impl/SimpleCodeWriter.java","jadx-core/src/main/java/jadx/api/impl/passes/DecompilePassWrapper.java","jadx-core/src/main/java/jadx/api/impl/passes/IPassWrapperVisitor.java","jadx-core/src/main/java/jadx/api/impl/passes/PreparePassWrapper.java","jadx-core/src/main/java/jadx/api/metadata/ICodeAnnotation.java","jadx-core/src/main/java/jadx/api/metadata/ICodeMetadata.java","jadx-core/src/main/java/jadx/api/metadata/ICodeNodeRef.java","jadx-core/src/main/java/jadx/api/metadata/annotations/InsnCodeOffset.java","jadx-core/src/main/java/jadx/api/metadata/annotations/NodeDeclareRef.java","jadx-core/src/main/java/jadx/api/metadata/annotations/NodeEnd.java","jadx-core/src/main/java/jadx/api/metadata/annotations/VarNode.java","jadx-core/src/main/java/jadx/api/metadata/annotations/VarRef.java","jadx-core/src/main/java/jadx/api/metadata/impl/CodeMetadataStorage.java","jadx-core/src/main/java/jadx/api/plugins/CustomResourcesLoader.java","jadx-core/src/main/java/jadx/api/plugins/JadxPlugin.java","jadx-core/src/main/java/jadx/api/plugins/JadxPluginContext.java","jadx-core/src/main/java/jadx/api/plugins/JadxPluginInfo.java","jadx-core/src/main/java/jadx/api/plugins/JadxPluginInfoBuilder.java","jadx-core/src/main/java/jadx/api/plugins/data/IJadxFiles.java","jadx-core/src/main/java/jadx/api/plugins/data/IJadxPlugins.java","jadx-core/src/main/java/jadx/api/plugins/data/JadxPluginRuntimeData.java","jadx-core/src/main/java/jadx/api/plugins/events/IJadxEvent.java","jadx-core/src/main/java/jadx/api/plugins/events/IJadxEvents.java","jadx-core/src/main/java/jadx/api/plugins/events/JadxEventType.java","jadx-core/src/main/java/jadx/api/plugins/events/JadxEvents.java","jadx-core/src/main/java/jadx/api/plugins/events/types/NodeRenamedByUser.java","jadx-core/src/main/java/jadx/api/plugins/events/types/ReloadProject.java","jadx-core/src/main/java/jadx/api/plugins/events/types/ReloadSettingsWindow.java","jadx-core/src/main/java/jadx/api/plugins/gui/ISettingsGroup.java","jadx-core/src/main/java/jadx/api/plugins/gui/JadxGuiContext.java","jadx-core/src/main/java/jadx/api/plugins/gui/JadxGuiSettings.java","jadx-core/src/main/java/jadx/api/plugins/loader/JadxBasePluginLoader.java","jadx-core/src/main/java/jadx/api/plugins/loader/JadxPluginLoader.java","jadx-core/src/main/java/jadx/api/plugins/options/JadxPluginOptions.java","jadx-core/src/main/java/jadx/api/plugins/options/OptionDescription.java","jadx-core/src/main/java/jadx/api/plugins/options/OptionFlag.java","jadx-core/src/main/java/jadx/api/plugins/options/OptionType.java","jadx-core/src/main/java/jadx/api/plugins/options/impl/BaseOptionsParser.java","jadx-core/src/main/java/jadx/api/plugins/options/impl/BasePluginOptionsBuilder.java","jadx-core/src/main/java/jadx/api/plugins/options/impl/JadxOptionDescription.java","jadx-core/src/main/java/jadx/api/plugins/options/impl/OptionBuilder.java","jadx-core/src/main/java/jadx/api/plugins/pass/JadxPass.java","jadx-core/src/main/java/jadx/api/plugins/pass/JadxPassInfo.java","jadx-core/src/main/java/jadx/api/plugins/pass/impl/OrderedJadxPassInfo.java","jadx-core/src/main/java/jadx/api/plugins/pass/impl/SimpleAfterLoadPass.java","jadx-core/src/main/java/jadx/api/plugins/pass/impl/SimpleJadxPassInfo.java","jadx-core/src/main/java/jadx/api/plugins/pass/types/JadxAfterLoadPass.java","jadx-core/src/main/java/jadx/api/plugins/pass/types/JadxDecompilePass.java","jadx-core/src/main/java/jadx/api/plugins/pass/types/JadxPassType.java","jadx-core/src/main/java/jadx/api/plugins/pass/types/JadxPreparePass.java","jadx-core/src/main/java/jadx/api/plugins/resources/IResContainerFactory.java","jadx-core/src/main/java/jadx/api/plugins/resources/IResTableParserProvider.java","jadx-core/src/main/java/jadx/api/plugins/resources/IResourcesLoader.java","jadx-core/src/main/java/jadx/api/plugins/utils/CommonFileUtils.java","jadx-core/src/main/java/jadx/api/plugins/utils/Utils.java","jadx-core/src/main/java/jadx/api/plugins/utils/ZipSecurity.java","jadx-core/src/main/java/jadx/api/resources/ResourceContentType.java","jadx-core/src/main/java/jadx/api/security/IJadxSecurity.java","jadx-core/src/main/java/jadx/api/security/JadxSecurityFlag.java","jadx-core/src/main/java/jadx/api/security/SanitizeType.java","jadx-core/src/main/java/jadx/api/security/impl/JadxSecurity.java","jadx-core/src/main/java/jadx/api/usage/IUsageInfoCache.java","jadx-core/src/main/java/jadx/api/usage/IUsageInfoData.java","jadx-core/src/main/java/jadx/api/usage/IUsageInfoVisitor.java","jadx-core/src/main/java/jadx/api/usage/impl/EmptyUsageInfoCache.java","jadx-core/src/main/java/jadx/api/usage/impl/InMemoryUsageInfoCache.java","jadx-core/src/main/java/jadx/api/utils/CodeUtils.java","jadx-core/src/main/java/jadx/api/utils/tasks/ITaskExecutor.java","jadx-core/src/main/java/jadx/core/Consts.java","jadx-core/src/main/java/jadx/core/Jadx.java","jadx-core/src/main/java/jadx/core/ProcessClass.java","jadx-core/src/main/java/jadx/core/clsp/ClsSet.java","jadx-core/src/main/java/jadx/core/clsp/ClspClass.java","jadx-core/src/main/java/jadx/core/clsp/ClspClassSource.java","jadx-core/src/main/java/jadx/core/clsp/ClspGraph.java","jadx-core/src/main/java/jadx/core/clsp/ClspMethod.java","jadx-core/src/main/java/jadx/core/clsp/SimpleMethodDetails.java","jadx-core/src/main/java/jadx/core/codegen/AnnotationGen.java","jadx-core/src/main/java/jadx/core/codegen/ClassGen.java","jadx-core/src/main/java/jadx/core/codegen/CodeGen.java","jadx-core/src/main/java/jadx/core/codegen/ConditionGen.java","jadx-core/src/main/java/jadx/core/codegen/InsnGen.java","jadx-core/src/main/java/jadx/core/codegen/MethodGen.java","jadx-core/src/main/java/jadx/core/codegen/NameGen.java","jadx-core/src/main/java/jadx/core/codegen/RegionGen.java","jadx-core/src/main/java/jadx/core/codegen/SimpleModeHelper.java","jadx-core/src/main/java/jadx/core/codegen/TypeGen.java","jadx-core/src/main/java/jadx/core/codegen/json/JsonCodeGen.java","jadx-core/src/main/java/jadx/core/codegen/json/JsonMappingGen.java","jadx-core/src/main/java/jadx/core/codegen/json/cls/JsonClass.java","jadx-core/src/main/java/jadx/core/codegen/json/cls/JsonCodeLine.java","jadx-core/src/main/java/jadx/core/codegen/json/cls/JsonField.java","jadx-core/src/main/java/jadx/core/codegen/json/cls/JsonMethod.java","jadx-core/src/main/java/jadx/core/codegen/json/cls/JsonNode.java","jadx-core/src/main/java/jadx/core/codegen/json/mapping/JsonClsMapping.java","jadx-core/src/main/java/jadx/core/codegen/json/mapping/JsonFieldMapping.java","jadx-core/src/main/java/jadx/core/codegen/json/mapping/JsonMapping.java","jadx-core/src/main/java/jadx/core/codegen/json/mapping/JsonMthMapping.java","jadx-core/src/main/java/jadx/core/codegen/utils/CodeComment.java","jadx-core/src/main/java/jadx/core/codegen/utils/CodeGenUtils.java","jadx-core/src/main/java/jadx/core/deobf/DeobfAliasProvider.java","jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java","jadx-core/src/main/java/jadx/core/deobf/DeobfuscatorVisitor.java","jadx-core/src/main/java/jadx/core/deobf/FileTypeDetector.java","jadx-core/src/main/java/jadx/core/deobf/NameMapper.java","jadx-core/src/main/java/jadx/core/deobf/SaveDeobfMapping.java","jadx-core/src/main/java/jadx/core/deobf/conditions/AbstractDeobfCondition.java","jadx-core/src/main/java/jadx/core/deobf/conditions/AvoidClsAndPkgNamesCollision.java","jadx-core/src/main/java/jadx/core/deobf/conditions/BaseDeobfCondition.java","jadx-core/src/main/java/jadx/core/deobf/conditions/DeobfLengthCondition.java","jadx-core/src/main/java/jadx/core/deobf/conditions/DeobfWhitelist.java","jadx-core/src/main/java/jadx/core/deobf/conditions/ExcludeAndroidRClass.java","jadx-core/src/main/java/jadx/core/deobf/conditions/ExcludePackageWithTLDNames.java","jadx-core/src/main/java/jadx/core/deobf/conditions/JadxRenameConditions.java","jadx-core/src/main/java/jadx/core/dex/attributes/AFlag.java","jadx-core/src/main/java/jadx/core/dex/attributes/AType.java","jadx-core/src/main/java/jadx/core/dex/attributes/AttrList.java","jadx-core/src/main/java/jadx/core/dex/attributes/AttrNode.java","jadx-core/src/main/java/jadx/core/dex/attributes/AttributeStorage.java","jadx-core/src/main/java/jadx/core/dex/attributes/EmptyAttrStorage.java","jadx-core/src/main/java/jadx/core/dex/attributes/FieldInitInsnAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/IAttributeNode.java","jadx-core/src/main/java/jadx/core/dex/attributes/ILineAttributeNode.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/AnonymousClassAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/ClassTypeVarsAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/CodeFeaturesAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/DeclareVariablesAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/DecompileModeOverrideAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/EdgeInsnAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/EnumClassAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/EnumMapAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/ExcSplitCrossAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/FieldReplaceAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/ForceReturnAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/GenericInfoAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/InlinedAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/JadxCommentsAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/JadxError.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/JumpInfo.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/LineAttrNode.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/LocalVarsDebugInfoAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/LoopInfo.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/LoopLabelAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/MethodBridgeAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/MethodInlineAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/MethodOverrideAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/MethodReplaceAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/MethodThrowsAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/MethodTypeVarsAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/NotificationAttrNode.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/PhiListAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/RegDebugInfoAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/RegionRefAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/RenameReasonAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/SkipMethodArgsAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/SpecialEdgeAttr.java","jadx-core/src/main/java/jadx/core/dex/attributes/nodes/TmpEdgeAttr.java","jadx-core/src/main/java/jadx/core/dex/info/AccessInfo.java","jadx-core/src/main/java/jadx/core/dex/info/ClassAliasInfo.java","jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java","jadx-core/src/main/java/jadx/core/dex/info/ConstStorage.java","jadx-core/src/main/java/jadx/core/dex/info/FieldInfo.java","jadx-core/src/main/java/jadx/core/dex/info/InfoStorage.java","jadx-core/src/main/java/jadx/core/dex/info/MethodInfo.java","jadx-core/src/main/java/jadx/core/dex/info/PackageInfo.java","jadx-core/src/main/java/jadx/core/dex/instructions/ArithNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/ArithOp.java","jadx-core/src/main/java/jadx/core/dex/instructions/BaseInvokeNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/ConstClassNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/ConstStringNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/FillArrayData.java","jadx-core/src/main/java/jadx/core/dex/instructions/FillArrayInsn.java","jadx-core/src/main/java/jadx/core/dex/instructions/FilledNewArrayNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/GotoNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/IfNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/IfOp.java","jadx-core/src/main/java/jadx/core/dex/instructions/IndexInsnNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/InsnDecoder.java","jadx-core/src/main/java/jadx/core/dex/instructions/InsnType.java","jadx-core/src/main/java/jadx/core/dex/instructions/InvokeCustomBuilder.java","jadx-core/src/main/java/jadx/core/dex/instructions/InvokeCustomNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/InvokeCustomRawNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/InvokeNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/InvokePolymorphicNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/InvokeType.java","jadx-core/src/main/java/jadx/core/dex/instructions/NewArrayNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/PhiInsn.java","jadx-core/src/main/java/jadx/core/dex/instructions/SwitchData.java","jadx-core/src/main/java/jadx/core/dex/instructions/SwitchInsn.java","jadx-core/src/main/java/jadx/core/dex/instructions/TargetInsnNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/CodeVar.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/InsnArg.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/InsnWrapArg.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/LiteralArg.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/Named.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/NamedArg.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/PrimitiveType.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/RegisterArg.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/SSAVar.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/Typed.java","jadx-core/src/main/java/jadx/core/dex/instructions/args/VarName.java","jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomLambdaCall.java","jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomRawCall.java","jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomStringConcat.java","jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/InvokeCustomUtils.java","jadx-core/src/main/java/jadx/core/dex/instructions/java/JsrNode.java","jadx-core/src/main/java/jadx/core/dex/instructions/mods/ConstructorInsn.java","jadx-core/src/main/java/jadx/core/dex/instructions/mods/TernaryInsn.java","jadx-core/src/main/java/jadx/core/dex/nodes/BlockNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/Edge.java","jadx-core/src/main/java/jadx/core/dex/nodes/FieldNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/IBlock.java","jadx-core/src/main/java/jadx/core/dex/nodes/IBranchRegion.java","jadx-core/src/main/java/jadx/core/dex/nodes/ICodeDataUpdateListener.java","jadx-core/src/main/java/jadx/core/dex/nodes/ICodeNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/IConditionRegion.java","jadx-core/src/main/java/jadx/core/dex/nodes/IContainer.java","jadx-core/src/main/java/jadx/core/dex/nodes/IDexNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/IFieldInfoRef.java","jadx-core/src/main/java/jadx/core/dex/nodes/ILoadable.java","jadx-core/src/main/java/jadx/core/dex/nodes/IMethodDetails.java","jadx-core/src/main/java/jadx/core/dex/nodes/IPackageUpdate.java","jadx-core/src/main/java/jadx/core/dex/nodes/IRegion.java","jadx-core/src/main/java/jadx/core/dex/nodes/IUsageInfoNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/InsnContainer.java","jadx-core/src/main/java/jadx/core/dex/nodes/InsnNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/LoadStage.java","jadx-core/src/main/java/jadx/core/dex/nodes/MethodNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/PackageNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/ProcessState.java","jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java","jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java","jadx-core/src/main/java/jadx/core/dex/nodes/utils/MethodUtils.java","jadx-core/src/main/java/jadx/core/dex/nodes/utils/SelectFromDuplicates.java"],"storefront":"/r/skylot","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/skylot/jadx/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}