GDA (GJoy Dex Analyzer) – Android Reverse Engineering Suite
- Android Malware Static Analysis
- File loading and decompiling
- Variable Trace
- XML decoder
Fully self-implemented decoding function can bypass the Anti-decoding technology, successfully parse XML.
GDA is a new Dalvik bytecode decompiler written entirely in c++, so it does not rely on the Java platform, which is succinct, portable and fast, and supports APK, DEX, ODEX, oat.
So, unlike most app analysis tools, GDA does not need to rely on the Java platform, And as the use of the Bytecode directly translated into Java code without Smali code translation. So it is more succinct, more portable and faster.
GDA is completely self-independent and very stable. It supports APK, DEX, ODEX, oat files, and run without installation and Java VM support. You can use GDA in any newly installed windows system and virtual machine system without additional configuration.
In addition, GDA has more excellent features as follows:
1. Cross-references for strings, classes, methods and fields
2. Searching for strings, classes methods and fields
3. Comments for java code
4. Rename for methods, fields and classes
5. Save the analysis results in gda db file
Utilities for Assisted Analysis:
1. Extracting DEX from ODEX
2. Extracting DEX from OAT
3. XML Decoder
4. Algorithm tool
5. Device memory dump
- Brand new dalvik decompiler in c++ with friendly GUI
- Support python script
- Packers Recognition
- Multi-DEX supporting
- Making and loading signature of the method
- Malicious Behavior Scanning by API chains
- Taint analysis to preview the behavior of variables
- Taint analysis to trace the path of variables;
- API view with x-ref
- Association of permissions with modules
GDA shortcut key
- F5 Switch java to smali, pressing it again for back to java
- F Trace the args and return value by dataflow analysis
- X Cross-referencing, locating callers (of strings, classes, methods, field, Smali, Java)
- Esc/<-/Backspace Back to the last visit
- -> Forward to the next visit
- G Jump to somewhere by you inputting offset
- N Rename the variable/method/class name
- S Search for all the elements by the given string
- C Comments. Only supports the Java code
- DoubleClick The cursor’s placed at the method/str/field/class, and double-click to access objects
- M the cursor’s placed at the Smali line and pressing the key ‘M’ to edit the instruction
- UP Press ‘up’ key to access the up-method in the tree control
- Down Press “down” key to access the down-method in the tree control
- D Dump the binary data of methods, only supports the Smali window
- Enter The modification of edit boxes take effect
- H Show data in Hex
- Ctr+H Pop searching history window
- Ctr+A Select all
- Ctr+C Copy
- Ctr+V Paste, only for editable boxes
- Ctr+X Cut
- Ctr+F Find out the string of the current window
- Ctr+S Save the modifications into the GDA database file
Not yet, just double-click the bin and you can enjoy it form GDA – Android Reverse Engineering Suite.
Open GDA and drag the APK file you want to analyze to the software UI:
1. View all strings in DEX.
2. View all the strings used by all the methods.
3. View all APIs used by methods.
4. View AndroidManifest files.
5. Show data by Hexadecimal way.
6. Suspicious (malicious behavior analysis).
7. Vulnerability static scanning (to be implemented).
8. Expanding permissions and viewing the method which the permissions belong to.
9. Classes and methods, if there are more DexClass*, indicating that APK uses multi-dex.
10, DEX head, click on “DexClass*” item to display the corresponding head, each color block represents a different area of the head. the prompt will be shown when the mouse moves over on it. right-clicking in the area that is offset and jump to reference location.
11. Overview of the permissions applied by the application.
12. Double-click to view historical access.
13. Click to enter the entry function (method).
14. Connect the Android device for the memory dump.
If the APP is packed, GDA will automatically recognize and show the packer between the Dex header and the APK permission. Otherwise, nothing. As shown in the figure:
The DEX Header is just for fun, you can see the tip that shows the field of the header by moving the cursor over. Click the right mouse button and you can enter the subheader or offset table. Then, click the Entry button on the right-top to enter the APK entry function (usually onCreate of the main Activity):
GDA Android Reverse Engineering suite is for windows.
Example of Android Malware Static Analysis – Click here