Giter Club home page Giter Club logo

decompile-apk's Introduction

decompile-apk

The decompile-apk tool consists of some scripts and different tools, it can provider auto decompile function for produce Java source code and resources from Android Apk files that displayed on GUI.

  • jd-gui

jd-gui

  • jadx

jadx

  • classyshark

classyshark

  • bytecode-viewer

bytecode-viewer

Tools

Platforms

  • Mac
  • Linux / Unix

Download

decompile-apk

Usage

# using integrated tools to decompile apk (recommend)
sh decompile-apk.sh *.apk

# using apktool/dex2jar/jd-gui to decompile apk
sh jdgui-apk.sh *.apk

# using jadx to decompile apk
sh jadx-apk.sh *.apk

# using classyshark to decompile apk
sh classyshark-apk.sh *.apk

# using bytecode-viewer to decompile apk
sh bytecode-viewer.sh *.apk

Summary

  • Apktool

    • advantage
      • complete resource files
      • source code in detail
    • disadvantage
      • using more complex, need for a combination of multiple tools
      • cannot better view the APK architecture logic
  • classyshark

    • advantage
      • easy to use, just a command line
      • source directory structure is clear, view the entire APK architecture graphically
    • disadvantage
      • source code too simple
      • cannot get resource files
  • jadx

    • advantage
      • convenient and quick
      • more perfect GUI interface, with more practical functions
      • decompile code readability is high
    • disadvantage
      • resource files partially missing
  • bytecode-viewer

    • advantage
      • support apk, dex, jar, and so on
      • better visual feedback
    • disadvantage
      • analyse file slower

Todo

  • more decompile tools
  • support decompile dex/aar/jar files

About

[email protected]

License

Apache 2.0

decompile-apk's People

Contributors

mohand1993 avatar venshine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

decompile-apk's Issues

dex 较多时 java 线程出现 OOM

I: Baksmaling classes.dex...
I: Baksmaling classes10.dex...
I: Baksmaling classes11.dex...
I: Baksmaling classes12.dex...
I: Baksmaling classes13.dex...
I: Baksmaling classes14.dex...
I: Baksmaling classes15.dex...
I: Baksmaling classes16.dex...
I: Baksmaling classes17.dex...
I: Baksmaling classes18.dex...
I: Baksmaling classes19.dex...
I: Baksmaling classes2.dex...
I: Baksmaling classes20.dex...
I: Baksmaling classes21.dex...
I: Baksmaling classes22.dex...
I: Baksmaling classes23.dex...
I: Baksmaling classes24.dex...
I: Baksmaling classes25.dex...
I: Baksmaling classes26.dex...
I: Baksmaling classes27.dex...
I: Baksmaling classes28.dex...
I: Baksmaling classes29.dex...
I: Baksmaling classes3.dex...
I: Baksmaling classes30.dex...
I: Baksmaling classes31.dex...
I: Baksmaling classes32.dex...
I: Baksmaling classes33.dex...
I: Baksmaling classes34.dex...
I: Baksmaling classes35.dex...
I: Baksmaling classes36.dex...
I: Baksmaling classes37.dex...
I: Baksmaling classes38.dex...
I: Baksmaling classes39.dex...
I: Baksmaling classes4.dex...
I: Baksmaling classes40.dex...
I: Baksmaling classes41.dex...
I: Baksmaling classes42.dex...
I: Baksmaling classes43.dex...
I: Baksmaling classes44.dex...
I: Baksmaling classes45.dex...
I: Baksmaling classes46.dex...
I: Baksmaling classes47.dex...
I: Baksmaling classes48.dex...
I: Baksmaling classes5.dex...
I: Baksmaling classes6.dex...
I: Baksmaling classes7.dex...
I: Baksmaling classes8.dex...
I: Baksmaling classes9.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
dex2jar /Users/bytedance/.Bytecode-Viewer/bcv_temp/HrscPFOWeQphBIazraTtnfFBERZxDYFI.apk -> ./HrscPFOWeQphBIazraTtnfFBERZxDYFI-dex2jar.jar
65535
Exception in thread "Image Animator 3" java.lang.OutOfMemoryError: GC overhead limit exceeded
	at sun.awt.image.ImageRepresentation.setPixels(ImageRepresentation.java:516)
	at java.awt.image.RGBImageFilter.setPixels(RGBImageFilter.java:228)
	at sun.awt.image.ImageDecoder.setPixels(ImageDecoder.java:126)
	at sun.awt.image.GifImageDecoder.sendPixels(GifImageDecoder.java:447)
	at sun.awt.image.GifImageDecoder.parseImage(Native Method)
	at sun.awt.image.GifImageDecoder.readImage(GifImageDecoder.java:596)
	at sun.awt.image.GifImageDecoder.produceImage(GifImageDecoder.java:212)
	at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
	at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
	at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
Exception in thread "Thread-7" java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.util.ArrayList.<init>(ArrayList.java:153)
	at com.googlecode.d2j.node.DexAnnotationNode.<init>(Unknown Source)
	at com.googlecode.d2j.node.DexClassNode.visitAnnotation(Unknown Source)
	at com.googlecode.d2j.node.DexAnnotationNode.accept(Unknown Source)
	at com.googlecode.d2j.reader.DexFileReader.read_annotation_item(Unknown Source)
	at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_item(Unknown Source)
	at com.googlecode.d2j.reader.DexFileReader.acceptClass(Unknown Source)
	at com.googlecode.d2j.reader.DexFileReader.accept(Unknown Source)
	at com.googlecode.d2j.reader.MultiDexFileReader.accept(Unknown Source)
	at com.googlecode.d2j.reader.MultiDexFileReader.accept(Unknown Source)
	at com.googlecode.d2j.dex.Dex2jar.doTranslate(Unknown Source)
	at com.googlecode.d2j.dex.Dex2jar.to(Unknown Source)
	at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Unknown Source)
	at com.googlecode.dex2jar.tools.BaseCmd.doMain(Unknown Source)
	at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Unknown Source)
	at the.bytecode.club.bytecodeviewer.util.Dex2Jar.dex2Jar(Dex2Jar.java:54)
	at the.bytecode.club.bytecodeviewer.BytecodeViewer$8.run(BytecodeViewer.java:957)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.