how to use DEXtoJar
Asked Answered
S

13

68

I find the solution to decompile a file dex to jar from this link https://github.com/pxb1988/dex2jar but i don't understand how to use it.

Stiles answered 10/3, 2011 at 9:43 Comment(2)
adding download link : sourceforge.net/projects/dex2jar/files project is moved.Cavender
to get only symbol information, just drag and drop the .dex file into your android studioSphygmomanometer
K
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... :)

Ketubim answered 13/11, 2013 at 13:22 Comment(2)
@Rupesh not able to find 'setclasspath.bat' location?Avuncular
if you don't have setclasspath.bat you can just skeep part with it (works for me)Willpower
D
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

Decomposition answered 5/5, 2014 at 20:8 Comment(3)
Where do you see this d2j-dex2jar.sh? I don't see it anywhere.Cringle
@Cringle , download the latest version of dex2jar (link: sourceforge.net/projects/dex2jar) & you'll get both bat & sh versions of each script.Almeria
I still can not find the d2j-dex2jar.sh file. İt is really interesting.Robotize
J
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
Jody answered 14/7, 2011 at 4:32 Comment(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 hereOvershoot
you will need to specify read,write and execute permission, possibly you can write chmod 777 "directory name"Millisecond
@kendrelaxman i m also not getting 3rd point can u tell me how to do that ?Rags
@kendrelaxman regarding the 3rd step what did you do? I'm using Windows. how should I execute it? cmd?Poulter
There is no such thing as dex2jar.batCringle
@IgorGanapolsky, make sure you do not clone, but download the release: github.com/pxb1988/dex2jar/releasesSuperconductivity
F
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..
Forney answered 23/9, 2016 at 6:34 Comment(0)
P
5
  1. old link
  1. dex2jar syntax
  1. 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
  1. 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 convert jartojava 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): 安卓应用的安全和破解

Petronille answered 3/4, 2019 at 3:16 Comment(0)
L
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.

Lugar answered 19/9, 2014 at 7:15 Comment(1)
Great, this actually leverages dex2jar plus a few other tools.Rachellerachis
P
4

You can decompile your .apk files and download online.

http://www.javadecompilers.com/

Pons answered 7/10, 2015 at 6:54 Comment(1)
This worked like a charm! Was even able to go straight from apk to source. Thanks for the share!Sixpack
E
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
Extent answered 26/9, 2016 at 6:17 Comment(5)
Where did you find d2j-dex2jar.sh?Cringle
@IgorGanapolsky: It will be inside the directory extracted from the zip of dex2jarNanny
I couldn't find d2j-dex2jar.sh file as well after extracted zip.Robotize
@MustafaOlkun Download dex2jar-2.0.zip from above link. It is inside the folder. I just checked it.Extent
@ParindaRajapaksha Thank you for comment. I can just find!Robotize
P
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

Protamine answered 5/11, 2016 at 14:22 Comment(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.Berry
N
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
Nanny answered 9/3, 2017 at 3:54 Comment(0)
V
1

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.
Vitriolize answered 8/12, 2020 at 14:35 Comment(0)
U
0

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

Underlay answered 10/5, 2017 at 18:41 Comment(0)
T
-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/

Thermomagnetic answered 2/3, 2018 at 7:4 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.