Skip to main content

Reverse Engineering : Convert class or jar to Java files

Reverse Engineering : Convert class or jar to Java files
Previously, we have seen how to extract contents of .img file and also how to convert dex files to classes/jar.
In this post, I'm going to show a method to covert class/classes/jar file to java file(s).
To do so, we are going to use a tool, JD-GUI. It is a Java Decompiler, which supports all versions of Java, including java-7.
Download the application from here, and extract it to a proper location.
Now, open the terminal (in case of Linux) and run the following command:
./jd-gui
It will open the GUI window of Java decompiler.

Reverse Engineering : Convert class or jar to Java files

Just drag-and-drop a class/jar file into this window. In the left panel, we can find the corresponding java files, arranged in proper package format.
To save a single file, select it and choose "Save Source" from the top menu. And to save entire package, choose "Save all sources".

Troubleshooting:
You may ran into one of these problems, while trying to open jd-gui. Install the packages specified accordingly.
Error 1:
./jd-gui: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Solution:
sudo apt-get install libgtk2.0-0:i386
Error 2:
./jd-gui: error while loading shared libraries: libXxf86vm.so.1: cannot open shared object file: No such file or directory
Solution:
sudo apt-get install libxxf86vm1:i386
Error 3:
./jd-gui: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory
Solution:
sudo apt-get install libsm6:i386
Error 4:
/jd-gui: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Solution:
sudo apt-get install lib32stdc++6

Comments

Popular posts from this blog

Ubuntu: Access a usb flash drive from the terminal

    1. Find what the drive is called You'll need to know what the drive is called to mount it. To do that fire off: sudo fdisk -l You're looking for a partition that should look something like:   /dev/sdb1 . Remember what it's called. 2. Create a mount point Create a new directory in   /media   so you can mount the drive onto the filesystem: sudo mkdir /media/usb 3. Mount! sudo mount /dev/sdb1 /media/usb When you're done, just fire off: sudo umount /media/usb Source: StackOverflow

Code for Php based online Treasure Hunt

Hello guys. Some time back I organized an online treasure hunt as part of an event at my college. I thought of sharing the code with you, as you might find it useful. So, I uploaded it on github and here is the link to my repository. Download it from here , and enjoy organizing the game

OS X 10.8 Mountain Lion bootable USB (without MAC)

Download the raw file from here . How to use: 1 - Copy the .raw file to an USB stick using  SUSE Studio Image Writer . If you have error during copy, eject and re-connect the pen drive. When Windows asks if you want to format it, cancel and run Image Writer again. If the problem persists, disable your anti-virus software, it may be blocking raw write to the drive. Another Image Writer for Windows, if SUSE doesn't work https://launchpad.net/win32-image-writer/+download 2 - Boot the USB drive and install. If you need, type  boot options , for example: -v (verbose boot) [default] -x (safe) -s (single user) GraphicsEnabler=yes (enable graphics card drivers) [default] USBBusFix=yes (fix problems with USB devices) npci=0x2000 (use if boot stops at "PCI configuration begin") cpus=1 If you need, use  TransMac  to remove kexts which are causing problems (System/Library/Extensions) and use the flag -f (ignore caches) at boot, or remove /System/Library/Ca