Coder Social home page Coder Social logo

optionalg / gda-android-reversing-tool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from charles2gan/gda-android-reversing-tool

0.0 1.0 0.0 59.44 MB

GDA is a new fast and powerful decompiler for the APK, DEX, ODEX, OAT, JAR, AAR and CLASS file. which supports malicious behavior detection, privacy leaking detection, vulnerability detection, path solving, packer identification, variable tracking, deobfuscation, python&java scripts, device memory extraction, data decryption and encryption etc.

Home Page: https://twitter.com/charles_gan1

License: Apache License 2.0

Python 86.78% Batchfile 13.22%

gda-android-reversing-tool's Introduction

image image image image image image image image image

ˇ GDA(GJoy Dex Analysizer)

GDA, a new Dalvik bytecode decompiler, is implemented in C++, which has the advantages of faster execution and lower memory&disk consumption and an stronger ability to decompiling the APK, DEX, ODEX, OAT files(supports JAR, CLASS and AAR files since 3.79). GDA is completely self-independent and works without Java VM and installation, so it works well in any newly installed windows system and virtual machine system without additional configuration. GDA Decompiler project started in 2013 and its first version 1.0 released in 2015 at GDA website.

GDA is also a powerful and fast reverse analysis platform. Which does not only supports the basic decompiling operation, but also many excellent functions like Malicious behavior detection, Privacy leaking detection, Vulnerability detection, Path solving, Packer identification, Variable tracking analysis, Deobfuscation, Python& Java scripts, Device memory extraction, Data decryption and encryption etc.

All the excellent features as follows:

𝕬 Interactive operation:
    1. Cross-references for strings, classes, methods and fields;
    2. Searching for strings, classes methods and fields;
    3. Comments for java code;
    4. Rename 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 (Component filter);
    4. Algorithm tool(Support rolling encryption and almost all popular encryption algorithms);
    5. Device memory dump(Dump so, odex, dex, oat file);
    6. Path solving;
    7. Static vulnerability scanner;
    ...
    
𝕮 New features:
    1. Brand new dalvik decompiler in c++ with friendly GUI;
    2. Support python script and Java script;
    3. Packers Recognition;
    4. Multi-DEX supporting;
    5. Making and loading signature of the method;
    6. Malicious Behavior Scanning by API chains;
    7. Taint analysis to preview the behavior of variables;
    8. Taint analysis to source the variables;
    9. De-obfuscate;
    10. API view with x-ref;
    11. Association of permissions with modules;
    12. Extract all the urls in APK.
    13. Apk Forensics Analysis.
    14. Static vulnerability scanner based on stack state machine and dynamic rule interpreter..
    15. Smart Rename.
    16. Support for .jar files, .class files and .aar files.
    17. Dual decompiler mode.
    18. Deep URL extraction.
    19. Multi-DEX Merge.
    20. Personalized and Customizable UI.
    21. Privacy leaking scanning.
    22. Path solving based on low-level intermediate representation(LIR).
    ...

𝕲𝕯𝕬 shortcut key

shortcut description
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)
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 code area
Ctr+S Save the modifications into the GDA database file

ˇ Installing

Not yet, just double-click the bin and you can enjoy it.

ˇ False positive report

For copyright protection, GDA is protected by an authorized VMP, which may lead to false positives of some anti-virus software. Please ignore or add GDA to the white list. GDA does not have any malicious behavior.

GDA is embedded with ADB and gdump (used to dump device memory data), as well as vul rules, source-taint rules, api fingerprint etc. so, you will see some file in directory %APPDATA%/GDA.

ˇ Supported platforms

Only for windows

ˇ Usage:

Drag file into GDA, if you wanna analyze .jar/.class/.aar file, please convert the jar/class/aar to DEX by dx tool in android sdk path android-sdk/build-tools/{sdkversion}/

dx --dex --output=<target.dex> <origin.jar>

Since GDA3.79, the automatic conversion of the above files is supported. You just need to choose the correct dx.bat path(JUST ONCE) when open the .jar/.class/.aar file. If you don't have Android SDK in your system, you can try THIS ONE. Please make sure that the dx.bat works properly.

Brief guide

Python script

GDA Path Solver

GDA APK Forensic

GDA static taint analysis

Batch decryption of APP strings

GDA Vulnerability Scanner

ˇ Color theme:

Download Here

ˇ Shows:

☰ File loading and decompiling:

☱ MalScan, API search, x-ref...

☲ Url,Xml,string x-ref...

☳ Variable trace

gda-android-reversing-tool's People

Contributors

charles2gan avatar

Watchers

 avatar

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.