Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pyjadx — JADX के लिए Python बाइंडिंग्स। | Kitploit
उपकरण/GitHubGitHub/amruth-sn/pyjadx
एंड्रॉइड सुरक्षास्थैतिक विश्लेषणकोड विश्लेषणरिवर्स इंजीनियरिंगमोबाइल सुरक्षाबाइनरी विश्लेषण
GitHubamruth-sn/pyjadx

pyjadx

JADX के लिए Python बाइंडिंग्स।

रिपॉजिटरी देखें
65 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

pyjadx

JADX के लिए JPype के माध्यम से Python बाइंडिंग्स। Android APK और DEX फ़ाइलों को Python से Java स्रोत में डीकंपाइल करें।

root@kitploit:~
from pyjadx import Jadx

with Jadx("app.apk") as jadx:
    for cls in jadx.classes:
        print(cls.full_name)
        print(cls.code)

pyjadx क्यों?

JADX एक अग्रणी ओपन-सोर्स Android डीकंपाइलर है — यह Dalvik बाइटकोड से साफ Java/Kotlin स्रोत उत्पन्न करता है, class hierarchies, generics, exception handling और annotations को संरक्षित करता है। pyjadx इसे बिना सबप्रोसेस ओवरहेड के Python में लाता है: JADX JPype के माध्यम से इन-प्रोसेस चलता है।

इंस्टॉल करें

root@kitploit:~
pip install pyjadx

आवश्यकताएँ: JDK 11+ (JADX JARs पहली बार उपयोग पर स्वचालित रूप से डाउनलोड हो जाते हैं)।

त्वरित आरंभ

root@kitploit:~
from pyjadx import Jadx

with Jadx("app.apk") as jadx:
    # सभी शीर्ष-स्तरीय क्लासेस (आंतरिक क्लासेस cls.inner_classes के माध्यम से)
    for cls in jadx.classes:
        print(cls.full_name, len(cls.methods), "methods")

    # पूर्ण योग्य नाम से खोजें
    main = jadx.search_class("com.example.MainActivity")
    if main:
        print(main.code)

    # मेथड-स्तरीय डीकंपाइलेशन
    for method in main.methods:
        print(f"{method.name}: {method.code}")

    # क्रॉस-रेफरेंसेस
    for method in main.methods:
        print(f"{method.name} called by: {[c.name for c in method.callers]}")

    # पैकेज नेविगेशन
    for pkg in jadx.packages:
        print(pkg.name, len(pkg.classes), "classes")

समर्थित इनपुट

प्रारूपउदाहरण
APKJadx("app.apk")
DEXJadx("classes.dex")
Multi-DEX APKपारदर्शी रूप से संभाला जाता है — सभी क्लासेस मर्ज हो जाती हैं

API संदर्भ

Jadx(path, *, threads=None, mode="auto", code_cache=False)

मुख्य प्रवेश बिंदु। कॉन्टेक्स्ट मैनेजर के रूप में उपयोग करें या load()/close() को मैन्युअल रूप से कॉल करें।

गुण:

मेथड्स:

JavaClass

JavaMethod

JavaField

JavaPackage

एस्केप हैच

प्रत्येक रैपर अपने अंतर्निहित JADX Java ऑब्जेक्ट को .java के माध्यम से एक्सपोज़ करता है। यह आपको किसी भी JADX API को कॉल करने देता है जिसे हमने अभी तक रैप नहीं किया है:

root@kitploit:~
with Jadx("app.apk") as jadx:
    cls = jadx.search_class("com.example.Foo")
    # JADX Java API को सीधे कॉल करें
    code_info = cls.java.getCodeInfo()

JVM सह-अस्तित्व

pyjadx एक ही प्रक्रिया में अन्य JPype उपभोक्ताओं (जैसे PyGhidra) के साथ सह-अस्तित्व में रहता है। यदि JVM पहले से चल रहा है, तो pyjadx.start() मौजूदा क्लासपथ में JADX JARs जोड़ता है। यदि नहीं, तो यह एक शुरू करता है।

root@kitploit:~
import pyghidra
pyghidra.start()  # Ghidra के लिए JVM शुरू करता है

import pyjadx
pyjadx.start()    # मौजूदा JVM में JADX JARs जोड़ता है — कोई विरोध नहीं

कॉन्फ़िगरेशन

कस्टम JADX इंस्टॉलेशन:

root@kitploit:~
# पर्यावरण चर के माध्यम से
# export JADX_HOME=/opt/jadx

# या रनटाइम पर
import pyjadx
pyjadx.start(jadx_home="/opt/jadx")

JAR कैशिंग: JADX JARs पहली बार उपयोग पर Maven Central से स्वचालित रूप से डाउनलोड होते हैं और ~/.pyjadx/jars/<version>/ पर कैश हो जाते हैं।

लाइसेंस

MIT

टूल डाउनलोड करें
पैरामीटरविवरण
pathAPK या DEX फ़ाइल का पथ
threadsJADX थ्रेड पूल आकार (None = CPU संख्या)
mode"auto", "restructure", "simple", या "fallback"
code_cacheFalse = इन-मेमोरी कैश (डिफ़ॉल्ट), True = डिस्क-बैक्ड
गुणप्रकारविवरण
classeslist[JavaClass]सभी DEX फ़ाइलों में शीर्ष-स्तरीय क्लासेस
packageslist[JavaPackage]पैकेज-स्तरीय नेविगेशन
class_countintशीर्ष-स्तरीय क्लासेस की संख्या
javaJObjectअंतर्निहित jadx.api.JadxDecompiler तक एस्केप हैच
मेथडविवरण
load()क्लासेस लोड और रिज़ॉल्व करें (__enter__ द्वारा कॉल किया जाता है)
close()संसाधन मुक्त करें (__exit__ द्वारा कॉल किया जाता है)
decompile_all()सभी क्लासेस को तत्काल डीकंपाइल करें
search_class(name)पूर्ण योग्य नाम से क्लास खोजें
गुणप्रकारविवरण
namestrछोटा नाम ("MainActivity")
full_namestrपूर्ण योग्य ("com.example.MainActivity")
packagestrपैकेज नाम
codestrडीकंपाइल्ड Java स्रोत (आलसी, कैश्ड)
smalistrSmali डिसअसेंबली (आलसी, कैश्ड)
methodslist[JavaMethod]इस क्लास में मेथड्स
fieldslist[JavaField]इस क्लास में फ़ील्ड्स
inner_classeslist[JavaClass]आंतरिक/अनाम क्लासेस
declaring_classJavaClass | Noneमूल क्लास (यदि आंतरिक है)
top_classJavaClassसबसे बाहरी संलग्न क्लास
dependencieslist[JavaClass]क्लासेस जिन पर यह क्लास निर्भर है
is_innerboolक्या यह आंतरिक क्लास है
javaJObjectjadx.api.JavaClass तक एस्केप हैच
गुणप्रकारविवरण
namestrमेथड नाम
full_namestrक्लास के साथ पूर्ण योग्य
codestrडीकंपाइल्ड स्रोत (आलसी, कैश्ड)
callerslist[JavaMethod]मेथड्स जो इस मेथड को कॉल करते हैं (आलसी, कैश्ड)
calleeslist[JavaMethod]मेथड्स जिन्हें यह मेथड कॉल करता है (आलसी, कैश्ड)
override_relatedlist[JavaMethod]द्विदिश ओवरराइड श्रृंखला
declaring_classJavaClassवह क्लास जिससे यह मेथड संबंधित है
javaJObjectjadx.api.JavaMethod तक एस्केप हैच
गुणप्रकारविवरण
namestrफ़ील्ड नाम
full_namestrक्लास के साथ पूर्ण योग्य
typestrफ़ील्ड प्रकार स्ट्रिंग के रूप में
callerslist[JavaMethod]मेथड्स जो इस फ़ील्ड को संदर्भित करते हैं (आलसी, कैश्ड)
declaring_classJavaClassवह क्लास जिससे यह फ़ील्ड संबंधित है
javaJObjectjadx.api.JavaField तक एस्केप हैच
गुणप्रकारविवरण
namestrपूर्ण पैकेज नाम
classeslist[JavaClass]इस पैकेज में क्लासेस
sub_packageslist[JavaPackage]उप-पैकेज
javaJObjectjadx.api.JavaPackage तक एस्केप हैच