
एंड्रॉइड APKs को डीओबफस्केट करने के लिए फजी तुलना उपकरण, जो विभिन्न संस्करणों में नाम बदले गए फंक्शनों की पहचान करके, मैपिंग फाइलें और इंटरैक्टिव HTML रिपोर्ट उत्पन्न करता है, मैलवेयर और कमजोरियों के विश्लेषण के लिए।
🤖 Obfu[DE]scate: एंड्रॉइड एपीके के लिए एक डी-ऑबफस्केशन और तुलना उपकरण। 📱
Obfu[DE]scate एक Python उपकरण है जिसे Android APK के दो संस्करणों को डी-ऑबफस्केट करने और तुलना करने की प्रक्रिया को सरल बनाने के लिए डिज़ाइन किया गया है - भले ही ऑबफस्केशन के भाग के रूप में फ़ंक्शन का नाम बदल दिया गया हो। फ़ज़ी तुलना तर्क के साथ, Obfu[DE]scate फ़ंक्शनों के बीच समानताएं पहचान सकता है और APK संस्करणों के बीच परिवर्तनों का पता लगाने में आपकी सहायता कर सकता है।
Obfu[DE]scate के साथ शुरुआत करना आसान है! इन चरणों का पालन करें:
pip install -r REQUIREMENTS.txt
Obfu[DE]scate का Windows 11 पर परीक्षण किया गया है, लेकिन यह अन्य सिस्टम पर भी काम करना चाहिए।
Obfu[DE]scate अपने व्यवहार को अनुकूलित करने के लिए कई कमांड-लाइन विकल्प प्रदान करता है:
दो APK फ़ाइलों की तुलना करने के लिए, बस निम्नलिखित कमांड से Obfu[DE]scate चलाएँ:
python ObfuDeScate.py -a1 "old_example.apk" -a2 "new_example.apk" -cp "com.example.path"
उपरोक्त उदाहरण में, Obfu[DE]scate old_example.apk APK में क्लास पथ com.example.path पर सभी फ़ंक्शनों की समीक्षा करेगा और उनकी तुलना new_example.apk में उसी क्लास पथ पर पाए गए सभी फ़ंक्शनों से करेगा।
Obfu[DE]scate दो आउटपुट फ़ाइलें उत्पन्न करता है: एक मैपिंग फ़ाइल न्यूलाइन-सेपरेटेड सूची प्रारूप में, और एक इंटरैक्टिव HTML फ़ाइल। इन आउटपुट फ़ाइलों में शामिल हैं:
com.chess.play.ObserveGameHelperImpl.d -> com.chess.play.ObserveGameHelperImpl.a ।
Obfu[DE]scate एक ओपन-सोर्स प्रोजेक्ट है और समुदाय से योगदान का स्वागत करता है। यदि आप Obfu[DE]scate में योगदान देना चाहते हैं, तो कृपया इन दिशानिर्देशों का पालन करें:
Obfu[DE]scate कंट्रीब्यूटर करार आचार संहिता का पालन करता है। कृपया समीक्षा करें और Obfu[DE]scate में योगदान करते समय इस आचार संहिता का पालन करें।
यदि आपको कोई बग मिलता है या किसी नई सुविधा के लिए सुझाव है, तो कृपया GitHub रिपॉजिटरी में एक मुद्दा खोलें। कृपया जितना संभव हो उतना विवरण प्रदान करें, जिसमें मुद्दे को पुन: उत्पन्न करने के चरण या प्रस्तावित सुविधा का स्पष्ट विवरण शामिल हो। आपकी प्रतिक्रिया मूल्यवान है और सभी के लिए Obfu[DE]scate को बेहतर बनाने में मदद करेगी।
यह उपकरण APKTool के बिना काम नहीं करेगा! दूसरी बात, इस README में कई उदाहरण Chess.com ऐप पर आधारित हैं, इसे यहाँ देखें।
| Shorthand | Parameter | विवरण | आवश्यक |
|---|
| -a1 | apk_file_path_1 | मूल APK का पथ। यह वह APK है जिसके विरुद्ध दूसरे APK की तुलना की जाएगी (उदाहरण के लिए, APK का पुराना संस्करण)। | True |
| -a2 | apk_file_path_2 | नए APK का पथ। आउटपुट APK 1 और इस APK के बीच परिवर्तन दिखाएगा। | True |
| -cp | class_path | एक रिवर्स डोमेन नोटेशन पथ जिसका उपयोग समीक्षित फ़ंक्शनों को फ़िल्टर करने के लिए किया जाएगा (उदाहरण के लिए, केवल इस पथ पर फ़ंक्शनों की तुलना करने के लिए com.example.class प्रदान करें)। | False |
| -o | output_dir | आउटपुट मैपिंग, html और डिसअसेंबल किए गए APK को सहेजने के लिए एक निर्देशिका। | False |
| -apktool | apk_tool_path | यदि APKTool आपके पथ पर नहीं है, तो ObfuDeScate को यह बताने के लिए इस पैरामीटर का उपयोग करें कि APKTool कहाँ स्थित है। | False |