
सबसे तेज़ और सबसे शक्तिशाली एंड्रॉइड डीकंपाइलर (बिना जावा VM के काम करने वाला नेटिव टूल) जो APK, DEX, ODEX, OAT, JAR, AAR, और CLASS फ़ाइलों के लिए है। जो दुर्भावनापूर्ण व्यवहार का पता लगाने, गोपनीयता लीक का पता लगाने, कमजोरियों का पता लगाने, पथ हल करने, पैकर पहचान, चर ट्रैकिंग, डीओबफस्केशन, पायथन और जावा स्क्रिप्ट, डिवाइस मेमोरी निष्कर्षण, डेटा डिक्रिप्शन और एन्क्रिप्शन आदि का समर्थन करता है।

GDA, C++ में लागू एक शक्तिशाली Dalvik बाइटकोड डीकंपाइलर है, जिसमें तेज विश्लेषण, कम मेमोरी और डिस्क खपत तथा apk, dex, odex, oat, jar, class, aar फ़ाइलों को डीकंपाइल करने की अधिक क्षमता के लाभ हैं।
GDA पूरी तरह से नेटिव सॉफ्टवेयर है और बिना किसी सेटअप या Java VM के काम करता है, यह बिना किसी अतिरिक्त कॉन्फ़िगरेशन के किसी भी नए विंडोज सिस्टम और वर्चुअल मशीन सिस्टम में अच्छी तरह से काम करता है। GDA Decompiler प्रोजेक्ट 2013 में शुरू हुआ और इसका पहला संस्करण 1.0 2015 में GDA वेबसाइट पर जारी किया गया था।
GDA एक शक्तिशाली और तेज़ रिवर्स विश्लेषण प्लेटफ़ॉर्म भी है। यह न केवल बुनियादी डीकंपाइलिंग संचालन का समर्थन करता है, बल्कि कई उत्कृष्ट सुविधाओं जैसे दुर्भावनापूर्ण व्यवहार का पता लगाना, गोपनीयता लीक का पता लगाना, भेद्यता का पता लगाना, पथ समाधान, पैकर पहचान, चर ट्रैकिंग विश्लेषण, डिओबफस्केशन, Python और Java स्क्रिप्ट, डिवाइस मेमोरी निकालना, डेटा डिक्रिप्शन और एन्क्रिप्शन आदि का भी समर्थन करता है।
सभी सुविधाएं निम्नलिखित हैं:
𝕬 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;
...
𝕮 Good Features:
1. Brand new dalvik decompiler in c++ with friendly GUI.
2. Packers Recognition.
3. Multi-DEX supporting.
4. De-obfuscate.
5. Malicious Behavior Scanning by API chains.
6. Static vulnerability scanner based on stack state machine and dynamic rule interpreter.
7. Taint analysis to preview the behavior of variables.
8. Taint analysis to source the variables.
9. APIs view with x-reference
10. Deep URL extraction.
11. Association of permissions with modules.
12. Apk Forensics Analysis.
13. Dual decompiler mode.
14. Smart Rename.
15. Device memory data dump, DEX file dump by memory searching.
16. Support Frida to hook and call the selected method or class.
17. Privacy leaking scanning.
18. Sensitive Infomation extraction.
19. Multi-DEX Merge.
20. Path solving based on low-level intermediate representation(LIR).
21. Junk instruction clearing.
22. Support call-graph view.
23. Smali instruction patch, apk repack and install.
24. Support subclass and parentclass view.
25. Support translation of the strings.
...
𝕲𝕯𝕬 shortcut key
कोई इंस्टॉलेशन आवश्यक नहीं है, बस bin पर डबल-क्लिक करें और आप इसका आनंद ले सकते हैं। नोटः यह एक ओपन सोर्स प्रोजेक्ट नहीं है, कम से कम अल्पावधि में। आप यहां प्रकाशित मुफ्त टूल और कुछ ओपन सोर्स स्क्रिप्ट का उपयोग कर सकते हैं।
कॉपीराइट संरक्षण के लिए, GDA एक अधिकृत VMP द्वारा संरक्षित है, जो कुछ एंटी-वायरस सॉफ्टवेयर के गलत सकारात्मक हो सकता है। कृपया इसे अनदेखा करें या GDA को श्वेत सूची में जोड़ें। GDA का कोई दुर्भावनापूर्ण व्यवहार नहीं है।
GDA में ADB और gdump (डिवाइस मेमोरी डेटा डंप करने के लिए) के साथ-साथ vul rules, source-taint rules, api fingerprint आदि एम्बेडेड हैं, इसलिए, आपको %APPDATA%/GDA निर्देशिका में कुछ फ़ाइलें दिखाई देंगी। यह व्यवहार अन्य निष्पादन योग्य फ़ाइलों को जारी करने को भी कुछ एंटीवायरस द्वारा वायरस के रूप में पहचाना जा सकता है।
केवल विंडोज़ के लिए
बस एक फ़ाइल को GDA में खींचें, बस हो गया।
यदि आपकी फ़ाइलें .jar/.class/.aar फ़ाइलें हैं, तो आपको dx टूल का समर्थन करने के लिए java की आवश्यकता है। कृपया सुनिश्चित करें कि java ठीक से काम कर रहा है।
जब विश्लेषित jar फ़ाइल का आकार बहुत बड़ा होता है, तो विश्लेषण में अधिक समय लग सकता है, कृपया धैर्य रखें।
>gda.exe
-sh src_file --> start a Shell
-sv src_file port --> start a Server
-h --> help
------------------------------------------------------------
>gda.exe -h
Usage:gda.exe [option] [apk_file] [-o output_file]
option:
-h help
-x show AndroidManifest.xml
-p app package name
-P permission
-i apk base info
-a attack surface
-k packer
-s all the strings
-S referenced strings
-c cert information
-d decompile all code
------------------------------------------------------------
>gda.exe -sv text.apk 12345
File Loading...
GDA Server listening on port 12345...
>client_gda.py help
------------------------------------------------------------
>gda -sh test.apk
>
>
GDA Shell >help
subcmd [-args]... [-t filter_string]
help --> shell command help
set -o file--> set output file
exit/q --> to exit
axml --> content of androidmainfest.xml
binfo --> apk base info
pname --> apk package name
permission --> permissions of APP
header n --> header of the n-st dex file
attsf --> attacksurface
packer --> packer
cert --> certifacate
appstr --> strings referenced by methods
malscan --> malcious behavior
sensinf --> sensitive infos
interface --> list interface classes
uri --> url,path etc.
native --> list native methods
api --> list api methods
listm cname--> list the methods of class(dot)
sclass cidx--> list subclasses by class index(hex)
pclass cidx--> list parent class by class index(hex)
dasm option--> disasembly a method
option: @type(e.g., dasm method@0045F0)
-n name(signature name,e.g.,"Lcom/base/Binary;->add(Lcom/base/Binary;)V")
dec option--> decompile a method or class,
option: @type (class/method type), e.g., dec method@21f
-c[-m] name(class/method signature name, e.g. , "Lcom/base/Binary;")
-a filepath(decompile the all classes)
find option--> search object by name(match partial/regex)
option: -c[-m][-M][-d][-s][-i][-a] name, e.g., find -C Frame (regex:~"Frame.*")
|-c(match class name) |-C(match class name with package)
|-m(match method name) |-M(match method name with package)
|-d(match field name) |-i(match api method name)
|-s(match string) |-a(match all[classes,methods,field and strings]
xref option --> search cross-reference of object
option(1): @type (method/class/field/string type), e.g. ,xref string@22e
option(2): -c[-m][-M][-d][-s][-i][-a] name(match partial), e.g. ,xref -m send
|-c(xref of class name) |-s(xref of string)
|-m(xref of method name) |-r(xref of resource name)
|-f(xref of field name) |-a(xref of all[classes,methods,field and strings]
एक कौशल का उदाहरण:
मैलवेयर विश्लेषण का एक उदाहरण:
मैलवेयर विश्लेषण के लिए कौशल उदाहरण
APP स्ट्रिंग्स का बैच डिक्रिप्शन
GDA: Smali पर आधारित DEX स्थैतिक पैच तकनीक
केवल GDA3.75+ का समर्थन करता है, अन्य संस्करण इस थीम फ़ाइल का उपयोग न करें। उपयोग: मेनू File -> Import Color Config पर क्लिक करें, एक थीम फ़ाइल चुनें और GDA को पुनरारंभ करें।

| shortcut | description |
|---|
| F5 | Java से Smali पर स्विच करें, वापस Java पर जाने के लिए फिर से दबाएं |
| F | डेटाफ्लो विश्लेषण द्वारा args और return-value को ट्रेस करें |
| X | क्रॉस-रेफरेंसिंग, कॉलर्स ढूंढना (स्ट्रिंग, क्लास, मेथड, फील्ड) |
| Esc/◄/Backspace | पिछली विज़िट पर वापस जाएं |
| ► | अगली विज़िट पर आगे बढ़ें |
| G | आपके द्वारा ऑफसेट दर्ज करके कहीं जाएं |
| N | वेरिएबल/मेथड/क्लास का नाम बदलें |
| S | दिए गए स्ट्रिंग द्वारा सभी तत्वों को खोजें |
| C | टिप्पणियाँ। केवल Java कोड का समर्थन करता है |
| DoubleClick | कर्सर को मेथड/स्ट्रिंग/फील्ड/क्लास पर रखें, और ऑब्जेक्ट तक पहुँचने के लिए डबल-क्लिक करें |
| M | कर्सर को Smali लाइन पर रखें और निर्देश को संपादित करने के लिए 'M' कुंजी दबाएं |
| ▲ UP | ट्री कंट्रोल में ऊपरी मेथड तक पहुँचने के लिए 'up' कुंजी दबाएं |
| ▼ Down | ट्री कंट्रोल में निचली मेथड तक पहुँचने के लिए 'down' कुंजी दबाएं |
| D | मेथड के बाइनरी डेटा को डंप करें, केवल Smali विंडो का समर्थन करता है |
| Enter | एडिट बॉक्स में संशोधन प्रभावी हों |
| H | डेटा को Hex में दिखाएं |
| Ctr+H | खोज इतिहास विंडो खोलें |
| Ctr+A | सभी चुनें |
| Ctr+C | कॉपी करें |
| Ctr+V | पेस्ट करें, केवल संपादन योग्य बक्सों के लिए |
| Ctr+X | कट करें |
| Ctr+F | कोड क्षेत्र का स्ट्रिंग खोजें |
| Ctr+S | संशोधनों को GDA डेटाबेस फ़ाइल में सहेजें |