tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
मैनुअल डी-ऑबफस्केशन तकनीकें
सॉफ़्टवेयर सुरक्षा के क्षेत्र में, अस्पष्ट कोड को समझने योग्य बनाने की प्रक्रिया, जिसे डी-ऑबफस्केशन कहा जाता है, महत्वपूर्ण है। यह गाइड डी-ऑबफस्केशन के विभिन्न रणनीतियों में गहराई से जाती है, स्थैतिक विश्लेषण तकनीकों और ऑबफस्केशन पैटर्न को पहचानने पर ध्यान केंद्रित करती है। इसके अतिरिक्त, यह व्यावहारिक अनुप्रयोग के लिए एक व्यायाम प्रस्तुत करती है और उन लोगों के लिए आगे के संसाधनों का सुझाव देती है जो अधिक उन्नत विषयों का अन्वेषण करना चाहते हैं।
स्थैतिक डी-ऑबफस्केशन के लिए रणनीतियाँ
जब ऑबफस्केटेड कोड के साथ काम कर रहे होते हैं, तो ऑबफस्केशन की प्रकृति के आधार पर कई रणनीतियाँ अपनाई जा सकती हैं:
- DEX बाइटकोड (Java): एक प्रभावी दृष्टिकोण में एप्लिकेशन के डी-ऑबफस्केशन विधियों की पहचान करना शामिल है, फिर इन विधियों को एक Java फ़ाइल में दोहराना। इस फ़ाइल को लक्षित तत्वों पर ऑबफस्केशन को उलटने के लिए निष्पादित किया जाता है।
- Java और नेटीव कोड: एक और विधि है कि डी-ऑबफस्केशन एल्गोरिदम को Python जैसी स्क्रिप्टिंग भाषा में अनुवादित किया जाए। यह रणनीति यह उजागर करती है कि प्राथमिक लक्ष्य एल्गोरिदम को पूरी तरह से समझना नहीं है, बल्कि इसे प्रभावी ढंग से निष्पादित करना है।
ऑबफस्केशन की पहचान करना
ऑबफस्केटेड कोड को पहचानना डी-ऑबफस्केशन प्रक्रिया में पहला कदम है। प्रमुख संकेतक शामिल हैं:
- Java और Android में स्ट्रिंग्स की अनुपस्थिति या उलझन, जो स्ट्रिंग ऑबफस्केशन का सुझाव दे सकती है।
- बाइनरी फ़ाइलों की उपस्थिति एसेट्स निर्देशिका में या
DexClassLoader
को कॉल करना, जो कोड अनपैकिंग और डायनामिक लोडिंग का संकेत देता है। - नेटीव लाइब्रेरी का उपयोग पहचानने योग्य JNI फ़ंक्शंस के साथ, जो संभावित रूप से नेटीव विधियों के ऑबफस्केशन को इंगित करता है।
डी-ऑबफस्केशन में डायनामिक विश्लेषण
नियंत्रित वातावरण में कोड को निष्पादित करके, डायनामिक विश्लेषण यह देखने की अनुमति देता है कि ऑबफस्केटेड कोड वास्तविक समय में कैसे व्यवहार करता है। यह विधि विशेष रूप से जटिल ऑबफस्केशन पैटर्न के आंतरिक कार्यों को उजागर करने में प्रभावी है, जो कोड के वास्तविक इरादे को छिपाने के लिए डिज़ाइन किए गए हैं।
डायनामिक विश्लेषण के अनुप्रयोग
- रनटाइम डिक्रिप्शन: कई ऑबफस्केशन तकनीकों में स्ट्रिंग्स या कोड खंडों को एन्क्रिप्ट करना शामिल होता है जो केवल रनटाइम पर डिक्रिप्ट होते हैं। डायनामिक विश्लेषण के माध्यम से, इन एन्क्रिप्टेड तत्वों को डिक्रिप्शन के क्षण में कैप्चर किया जा सकता है, जिससे उनकी वास्तविक रूप प्रकट होती है।
- ऑबफस्केशन तकनीकों की पहचान करना: एप्लिकेशन के व्यवहार की निगरानी करके, डायनामिक विश्लेषण विशिष्ट ऑबफस्केशन तकनीकों की पहचान करने में मदद कर सकता है, जैसे कोड वर्चुअलाइजेशन, पैकर, या डायनामिक कोड जनरेशन।
- छिपी हुई कार्यक्षमता को उजागर करना: ऑबफस्केटेड कोड में छिपी हुई कार्यक्षमताएँ हो सकती हैं जो केवल स्थैतिक विश्लेषण के माध्यम से स्पष्ट नहीं होती हैं। डायनामिक विश्लेषण सभी कोड पथों का अवलोकन करने की अनुमति देता है, जिसमें वे भी शामिल हैं जो शर्तानुसार निष्पादित होते हैं, ताकि ऐसी छिपी हुई कार्यक्षमताओं को उजागर किया जा सके।
संदर्भ और आगे की पढ़ाई
- https://maddiestone.github.io/AndroidAppRE/obfuscation.html
- BlackHat USA 2018: “Unpacking the Packed Unpacker: Reverse Engineering an Android Anti-Analysis Library” [video]
- यह टॉक एक Android एप्लिकेशन द्वारा उपयोग किए जाने वाले सबसे जटिल एंटी-एनालिसिस नेटीव लाइब्रेरी में से एक का रिवर्स इंजीनियरिंग पर चर्चा करती है। यह मुख्य रूप से नेटीव कोड में ऑबफस्केशन तकनीकों को कवर करती है।
- REcon 2019: “The Path to the Payload: Android Edition” [video]
- यह टॉक एक श्रृंखला की ऑबफस्केशन तकनीकों पर चर्चा करती है, जो केवल Java कोड में है, जिसका उपयोग एक Android बोटनेट अपने व्यवहार को छिपाने के लिए कर रहा था।
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।