68

I find the solution to decompile a file dex to jar from this link http://code.google.com/p/dex2jar/downloads/list but i don't understand how to use it.

fou
  • 711
  • 1
  • 6
  • 6

13 Answers13

89

Follow the below steps to do so_

  1. Rename your APK file(e.g., rename your APK file to .zip Ex- test.apk -> test.zip) & extract resultant zip file.
  2. Copy your .dex file in to dex2jar folder.
  3. Run setclasspath.bat. This should be run because this data is used in the next step.
  4. Go to Windows Command prompt, change the folder path to the path of your dex2jar folder and run the command as follows: d2j-dex2jar.bat classes.dex
  5. enjoy!! Your jar file will be ready in the same folder with name classes_dex2jar.jar.

Hope this helps you and All reading this... :)

Rupesh Yadav
  • 12,096
  • 4
  • 53
  • 70
44
  1. Download dex2jar https://code.google.com/p/dex2jar/downloads/list
  2. Run dex2jar on apk d2j-dex2jar.sh someApk.apk
  3. open jar file in JD GUI http://jd.benow.ca/

Follow this guide: https://code.google.com/p/dex2jar/wiki/UserGuide

--Update 10/11/2016--

Found this ClassyShark from Google's github pretty easy to view code from APK.

https://github.com/google/android-classyshark

// make sure that you downloaded release https://github.com/pxb1988/dex2jar/releases (for the ppl who coldnt find this link in /dex2jar/downloads/list

Andrew
  • 3
  • 1
Prakash
  • 4,479
  • 30
  • 42
43
Step 1 extract the contents of dex2jar.*.*.zip file 
Step 2 copy your .dex file to the extracted directory
Step 3 execute dex2jar.bat <.dex filename> on windows, or ./dex2jar.sh <.dex filename> on linux
Nitin Nizhawan
  • 531
  • 4
  • 6
  • I'm using ubuntu and while running the 3rd command i'm getting an error: bash: ./dex2jar.sh:Permission denied , what's wrong happening here – Khay Jan 13 '14 at 07:22
  • 3
    you will need to specify read,write and execute permission, possibly you can write chmod 777 "directory name" – Kirtikumar A. Aug 27 '14 at 05:34
  • 1
    @kendrelaxman i m also not getting 3rd point can u tell me how to do that ? – nida Jan 15 '15 at 04:36
  • @kendrelaxman regarding the 3rd step what did you do? I'm using Windows. how should I execute it? cmd? – Ari Jun 30 '16 at 16:51
  • 7
    There is no such thing as **dex2jar.bat** – IgorGanapolsky Nov 02 '16 at 17:19
  • @IgorGanapolsky, make sure you do not clone, but download the release: https://github.com/pxb1988/dex2jar/releases – Daan Mar 11 '19 at 09:42
28

Simple way

  1. Rename your test.apk => test.zip
  2. Extract test.zip then open that folder
  3. Download dex2jax & Extract
  4. Copy classes.dex file from test folder
  5. Past to dex2jar Extracted folder
  6. if use windows press Alt & D keys then type cmd press Enter(open to cmd)
  7. run the command d2j-dex2jar.bat classes.dex
  8. Download JD-GUI
  9. Move classes-dex2jar.jar file to JD-GUI
  10. Everything Done..
Thamays
  • 2,978
  • 26
  • 31
5
  1. old link

  2. dex2jar syntax

  3. want dex to jar

    • if you have dex file (eg. using FDex2 dump from a running android apk/app), then you can:
    • sh d2j-dex2jar.sh -f ~/path/to/dex_to_decompile.dex
    • can got the converted jar from dex.
    • example:
    • /xxx/dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f com.huili.readingclub8825612.dex dex2jar com.huili.readingclub8825612.dex -> ./com.huili.readingclub8825612-dex2jar.jar
  4. want jar to java src

    • if you continue want convert from jar to java sourcecode, then you, have multiple choice:
      • using Jadx directly convert dex to java sourcecode
      • first convert dex to jar, second convertjartojava sourcecode`

Note

how to got d2j-dex2jar.sh?

download from dex2jar github release, got dex-tools-2.1-SNAPSHOT.zip, unzip then got

  • you expected Linux's d2j-dex2jar.sh
    • and Windows's d2j-dex2jar.bat
    • and related other tools
    • d2j-jar2dex.sh
    • d2j-dex2smali.sh
    • d2j-baksmali.sh
    • d2j-apk-sign.sh
    • etc.

what's the full process of convert dex to java sourcecode ?

you can refer my (crifan)'s full answer in another post: android - decompiling DEX into Java sourcecode - Stack Overflow

or refer my full tutorial (but written in Chinese): 安卓应用的安全和破解

crifan
  • 12,947
  • 1
  • 71
  • 56
4

If anyone is still looking for an easy way to decompile an APK (with resource decompiling), have a look at the tools I have created: https://github.com/dirkvranckaert/AndroidDecompiler

Just checkout the project locally and run the script as documented and you'll get all the resources and sources decompiled.

dirkvranckaert
  • 1,364
  • 1
  • 17
  • 30
4

You can decompile your .apk files and download online.

http://www.javadecompilers.com/

Burhan ARAS
  • 2,517
  • 25
  • 19
3
  1. Download latest dex2jar from here -> dex2jar
  2. Run this command on linux -> sh d2j-dex2jar.sh classes.dex
  3. Download java decompiler from here - > JD-GUI
  4. Drag and drop the classes-dex2jar.jar file to JD-GUI
Parinda Rajapaksha
  • 2,963
  • 1
  • 36
  • 40
2

If you're looking for the version for windows get it from source forge: https://sourceforge.net/projects/dex2jar/

It has the d2j-dex2jar.bat file you need

Tommy
  • 350
  • 3
  • 11
  • 1
    In this case, please post this as a comment instead of an answer if you think its helpful to give a hint towards answering the original question. Answers are for complete solutions to the original question only and not to share your own experience. – Bobby Nov 05 '16 at 14:40
1
  1. Download Dex2jar and Extract it.
  2. Go to Download path ./d2j-dex2jar.sh /path-to-your/someApk.apk if .sh is not compilable, update the permission: chmod a+x d2j-dex2jar.sh.
  3. It will generate .jar file.
  4. Now use the jar with JD-GUI to decompile it
ND27
  • 447
  • 1
  • 5
  • 16
0

After you extract the classes.dex file, just drag and drop it to d2j-dex2jar

ByBora
  • 1
  • 1
0

Can be used as follow:

  1. Download dex2jar here and extract it.
  2. Download Java decompiler here (If you want to investigate .class file)
  3. Get you release .apk file and change its extension with .zip
  4. Extract .zip and find the classes.dex and classes2.dex
  5. Paste these files into dex2jar folder where .bat file exist of dex2jar (normally names as d2j-dex2jar)
  6. From dex2jar folder, open cmd [Shift+right click to see option to open cmd/power shell]
  7. Type the command in cmd: d2j-dex2jar release.apk
  8. You will get the .class file, open this file into Java Decompiler.
Amir Raza
  • 2,320
  • 1
  • 23
  • 32
-1

The below url is doing same as above answers. Instead of downloading some jar files and doing much activities, you can try to decompile by:

http://apk-deguard.com/

Sarojini2064130
  • 221
  • 3
  • 7