Giter Site home page Giter Site logo

niranjan94 / show-java Goto Github PK

View Code? Open in Web Editor NEW
758.0 82.0 234.0 39.3 MB

An APK (android application), JAR & Dex decompiler for android.

Home Page: https://showjava.page.link/get

License: GNU General Public License v3.0

Kotlin 98.59% CSS 0.94% JavaScript 0.47%

show-java's Introduction

Known Vulnerabilities Build Status License Info Play Store Info GitHub app version Play Store downloads

ShowJava Banner v0.1

An APK (android application), JAR & Dex decompiler for android.

The current GitHub master branch may be ahead of the Play Store version (and could be unstable/incomplete/buggy at some places)

Get Show Java on Google Play

About

This is a Decompiler that extracts the source code of an Android application (including XML files and image assets), JAR Packages and dex files. Works directly from your android device.

Features

  • Select either CFR 0.140, JaDX 0.9.0 or FernFlower a0a8f0a (analytical decompiler) to use as the decompiler.
  • Runs directly on an android device (4.1.x and above).
  • Select apk/jar/dex from sdcard (or) from a list of installed applications.
  • Decompiles android resources (layouts, Drawables, Menus, AndroidManifest, image assets, values, etc).
  • Easy to use source navigator with built-in media & code viewer.
  • Displays code in a clean-syntax-highlighted form with zoom & line-wrap.
  • The decompiled source can easily be copied from the sdcard (source is stored in show-java folder in the sdcard).
  • Share the decompiled source easily with the built in archive + share mechanism.

Compatibility Matrix

Version 3.0

JaDX and Fernflower use newer Java features such as some types of lambda's which are not available on pre-N versions of Android.

CFR 0.140 JaDX 0.9.0 Fernflower
Oreo
Nougat
Marshmallow - -
Lollipop - -
KitKat - -
Jelly Bean - -

Available from the Play Store on all Android devices running Jelly Bean and above.

Version 2.0

CFR 0.110 JaDX 0.6.1 Fernflower
ICS & Above

Can be downloaded from here.

Contributing to ShowJava

Head over here to know more about how to contribute, report bugs and request feature additions.

Open Source License

Unless explicitly stated otherwise all files in this repository are licensed under the GNU General Public License v3.0. All projects must properly attribute The Original Source.

Show Java - A java/apk decompiler for android
Copyright (C) 2019 Niranjan Rajendran

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

An unmodified copy of the above license text must be included in all forks.

To obtain the software under a different license, please contact Niranjan Rajendran at me <at> niranjan.io.

External Credits

  1. A Big-Huge Thanks to Lee Benfield ([email protected]) for his awesome CFR - Class File Reader
  2. Panxiaobo ([email protected]) for dex2jar.
  3. Hsiafan for apk-parser.
  4. Ben Gruver for dexlib2.
  5. skylot for JaDX.
  6. JetBrains for FernFlower analytical decompiler.

Android, Google Play and the Google Play logo are trademarks of Google LLC.

show-java's People

Contributors

gkaffka avatar hellpie avatar kaozaza2 avatar niranjan94 avatar pwnfoo avatar xdragonz 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  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

show-java's Issues

Support for system apps and odex files

The main issue with this app is that it requires a deodexed APK that is either installed or on the SD card. Can support for system apps and odex files be added?

That would be great.

decompile failed

To test the app I tried to decompile Keepass2Android 0.9.7b.
It seems that the sources couldn't be decompiled.
I am using a Nexus 5 running the Android M developer preview 3.

Summary for /storage/emulated/0/ShowJava/sources/keepass2android.keepass2android/keepass2android.keepass2android.jar
Decompiled with CFR 0_102
Exception analysing jar org.benf.cfr.reader.util.ConfusedCFRException: Failed to load jar /storage/emulated/0/ShowJava/sources/keepass2android.keepass2android/keepass2android.keepass2android.jar

Bug in dex2jar module

Expected: many packages in jar.
Actual: not all packages and classes are present in jar, so Fernflower and CFR doesn't decompile them.
App: Flud - torrent downloader from Google Play. A couple of mine apps (in fact, doesn't decompile them, only a couple of 3rd-party libs I used).
Steps to represent:

  1. Use 2.0.9 or later version (previous not tested).
  2. Decompile app with JaDX. Look at the package structure.
  3. Decompile app with other decompilers. Compare package structure. Some packages are missing.
    OS:
    Android 5.1.1 Lollipop (CM 12.1)
    Samsung Galaxy Ace 2 (GT-I8160)
    ShowJava latest (2.1.0 at the present time).

Decompiler info

Add a page to show details about the decompilers and compare them.

This way we can choose the right decompiler for our needs.

E.G: JaDX decompiles variables better than CFR

bug with show-java

  1. I decompiled an app, then I updated the app, and now show-java doesn't decompile it anymore

  2. I tried to deinstall and clean the cache, but when I reinstall it another app which I also decompiled is still there, with all its java and layouts...

Wake lock

Acquire wake lock while decompiling + add dark theme for amoled devices (almost white screen for 10 mins really hurts my phone battery)

Auto delete cache

If I decompile new version of already decompiled apk, it shows java classes that already dont exist in new version of apk.

giberish

When the source code contains Chinese characters,the part of Chinese characters is
messy and disorder in the result.Hope to repair it,thanks!

Editor and an IDE

It would be very helpful if the app has an editor and a compiler(IDE).It would be very handful and time-saver.

Bug report

If I put the end of a method at the middle of it,just like this:(smali)
...
Label_xx:
...
return-void/renturn rx
...
goto :Label_xx
And then it can not work anymore.
I know you can fix it up,looking forward your update.
(I tryed my best to translate,ignore my grammar mistake, thanks)

Hidden bugs

Please kindly check if any hidden bugs to my app because I can't use my google play thank you

Crashes

Keep crashing after marshmallow update.

to see the origan code

Your app is gud.. no doubt.. but last two days i am used your app but this will not work not decompile any android app.. before up dating ur app is working very well nd compile.. u provide twi types decompiler in ur ap no one useable

small bug..

When I click the abiuts option in the action bar the about activity starts and again I clicked the about option in settings and again I did that.. when I pressed the back option in action bar repeatedly it was moving to abouts page again and again...

Check app version while picking app for decompiling

Right now, the app doesn't check the version of the app before decompiling it. This might create problems when I have source of an older version of package com.example.x and try to decompile a newer version of the same package. Of course, I can click Decompile again but it'd be really nice if the app can handle the versions properly.

Again, thanks for this wonderful app. 💃 💃

Integrity check error

Whenever I run the app to decompile something on Android, it says integrity check failed

giberish

When the source code contains Chinese characters,the part of Chinese characters is
messy and disorder in the result.Hope to repair it,thanks!

Cannot decompile

The app always says that the current app cannot be decompiled - please choose another. Using a nexus 6 with android M preview 3. Logcat didn't show anything useful..

Decompiling not working on my Samsung GT-N7100

In my samsung galaxy GT-7100 NOTE 2 decompilation takes hours to decompile an APK, but still app shows a message that dexing your application. What would be the reason for this? My device contains 1.6 Ghz of quad-core processor and 1.74 GB of RAM.

Hacked

James williams has hacked my phone and everything I have on line. I vany access any of my emails he has made new ones under my name and my web pages name. He has hacked every web page I have. He is also a user of this sit and github. I'm sure he has gotten into my accounts there also. His email is [email protected]

你好

I ask how to set the stack size?

Orginal: 请问堆栈大小怎么设置?

License contradiction

The homepage's license statement contradicts the Apache license. While the Apache license allows redistribution, a statement on the home page does not.

Homepage: Unless explicitly stated otherwise all files in this repository are licensed under the Apache Software License 2.0. All projects must properly attribute The Original Source. You are not allowed to release unofficial/forked versions of Show Java without the permission of the Original Author.

ASL 2.0: Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

Kik Decompilng error.

When Decompilng Kik(as of this comment Kik ver. 10.7.0) Show Java freezes when merging class by random.

Back and up buttons

When navigating through code, the back and up (back) buttons often take me to the root of the source files. It should go back into the package that the file is in.

Camera issues

After ported Legoice_fusion_v5 jb 4.2.2 custom rom development by "sagarwep" on my phone, camera and wife not working but show message "unfortunately gallery has stopped"
Please help me.
Sorry for bad English write.
My email : [email protected]
Thanks for you.

Add an option select which packages to ignore while decompiling

Currently, the packages here are not decompiled to speed up the process and to prevent OutOfMemory errors. But, [email protected] has suggested that I could add an option for the user to select which libraries to ignore and which not to.

I'm not sure if it's possible to add this without adding the possibility of StackOverflow errors, but i'll give it a try nevertheless. 😉

Allow decompilation of jar files

Hello,
I recently downloaded this app, by the way, it's amazing, to be able to learn from others' code even when I'm not at my computer. The only thing is that I want to be able to decompile the jars that I download from the Internet, but I don't see a practical way to do that. I'm not able to see any files (I can see directories) within my device's /storage/emulated/0/Download . This could be me doing this wrong, or maybe it's a bug. I'm not sure, but feedback is appreciated!
Thanks,
Kael

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.