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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
dex-oracle — एक पैटर्न-आधारित Dalvik डीऑबफस्केटर जो शब्दार्थ विश्लेषण को बेहतर बनाने के लिए सीमित निष्पादन का उपयोग करता है | Kitploit
उपकरण/GitHubGitHub/calebfenton/dex-oracle
एंड्रॉइड सुरक्षारिवर्स इंजीनियरिंगमालवेयर विश्लेषणबाइनरी विश्लेषण
GitHubcalebfenton/dex-oracle

dex-oracle

एक पैटर्न-आधारित Dalvik डीऑबफस्केटर जो शब्दार्थ विश्लेषण को बेहतर बनाने के लिए सीमित निष्पादन का उपयोग करता है

रिपॉजिटरी देखें
5041107 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Oracle

एक पैटर्न-आधारित Dalvik डीऑबफसकेटर जो सिमैंटिक विश्लेषण को बेहतर बनाने के लिए सीमित निष्पादन का उपयोग करता है। साथ ही, यह दूसरे Android डीऑबफसकेटर Simplify के लिए प्रेरणा है।

Gem Version Code Climate Test Coverage

पहले before

बाद में after

sha1: a68d5d2da7550d35f7dbefc21b7deebe3f4005f3

md5: 2dd2eeeda08ac8c15be8a9f2d01adbe8

स्थापना

चरण 1. Smali / Baksmali स्थापित करें

चूंकि आप एक शीर्ष एंड्रॉइड रिवर्सर हैं, मुझे यकीन है कि आपके पास पहले से ही Smali और Baksmali आपके पथ पर हैं। यदि किसी अजीब कारण से यह पहले से स्थापित नहीं है, तो यह आपको शुरू करने में मदद करेगा, लेकिन कृपया चलाने से पहले इसकी सावधानीपूर्वक जांच करें:

root@kitploit:~
mkdir ~/bin || cd ~/bin
curl --location -O https://bitbucket.org/JesusFreke/smali/downloads/smali-2.2.5.jar && mv smali-*.jar smali.jar
curl --location -O https://bitbucket.org/JesusFreke/smali/downloads/baksmali-2.2.5.jar && mv baksmali-*.jar baksmali.jar
curl --location -O https://bitbucket.org/JesusFreke/smali/downloads/smali
curl --location -O https://bitbucket.org/JesusFreke/smali/downloads/baksmali
chmod +x ./smali ./baksmali
export PATH=$PATH:$PWD

चरण 2. Android SDK / ADB स्थापित करें

सुनिश्चित करें कि adb आपके पथ पर है।

चरण 3. Gem स्थापित करें

root@kitploit:~
gem install dex-oracle

या, यदि आप स्रोत से बनाना पसंद करते हैं:

root@kitploit:~
git clone https://github.com/CalebFenton/dex-oracle.git
cd dex-oracle
gem install bundler
bundle install

चरण 4. एक डिवाइस या एमुलेटर कनेक्ट करें

Oracle के काम करने के लिए आपके पास या तो एक एमुलेटर चल रहा होना चाहिए या एक डिवाइस प्लग इन होना चाहिए। न्यूनतम आवश्यक एंड्रॉइड संस्करण 5.0 है!

Oracle को एक चालू एंड्रॉइड सिस्टम पर विधियों को निष्पादित करने की आवश्यकता होती है। यह या तो डिवाइस पर या एमुलेटर पर हो सकता है (पसंदीदा)। यदि यह एक डिवाइस है, तो सुनिश्चित करें कि आपको उस पर संभावित रूप से शत्रुतापूर्ण कोड चलाने में कोई आपत्ति नहीं है।

यदि आप एमुलेटर का उपयोग करना चाहते हैं और आपके पास पहले से एंड्रॉइड SDK स्थापित है, तो आप इसके साथ एमुलेटर इमेज बना और शुरू कर सकते हैं:

root@kitploit:~
android avd

उपयोग

root@kitploit:~
Usage: dex-oracle [opts] <APK / DEX / Smali Directory>
    -h, --help                       Display this screen
    -s ANDROID_SERIAL,               Device ID for driver execution, default=""
        --specific-device
    -t, --timeout N                  ADB command execution timeout in seconds, default="120"
    -i, --include PATTERN            Only optimize methods and classes matching the pattern, e.g. Ldune;->melange\(\)V
    -e, --exclude PATTERN            Exclude these types from optimization; including overrides
        --disable-plugins STRING[,STRING]*
                                     Disable plugins, e.g. stringdecryptor,unreflector
        --list-plugins               List available plugins
    -v, --verbose                    Be verbose
    -V, --vverbose                   Be very verbose

उदाहरण के लिए, केवल एक APK obad.apk के अंदर Lcom/android/system/admin/CCOIoll नामक क्लास में विधियों को डीऑबफसकेट करने के लिए:

root@kitploit:~
dex-oracle -i com/android/system/admin/CCOIoll obad.apk

यह कैसे काम करता है

Oracle एंड्रॉइड ऐप्स (APK), Dalvik निष्पादनयोग्य (DEX), और Smali फ़ाइलों को इनपुट के रूप में लेता है। पहले, यदि इनपुट APK या DEX है, तो इसे Smali फ़ाइलों में डिसअसेंबल किया जाता है। फिर, Smali फ़ाइलों को विभिन्न प्लगइन्स को भेजा जाता है जो विश्लेषण और संशोधन करते हैं। प्लगइन्स ऐसे पैटर्न की खोज करते हैं जिन्हें पढ़ने में आसान किसी चीज़ में रूपांतरित किया जा सकता है। यह समझने के लिए कि कोड क्या कर रहा है, कुछ Dalvik विधियों को वास्तव में निष्पादित किया जाता है और आउटपुट एकत्र किया जाता है। इस प्रकार, कुछ विधि कॉल को स्थिरांक से बदला जा सकता है। उसके बाद, सभी Smali फ़ाइलों को अपडेट किया जाता है। अंत में, यदि इनपुट APK या DEX फ़ाइल थी, तो संशोधित Smali फ़ाइलों को पुनः संकलित किया जाता है और एक अद्यतन APK या DEX बनाया जाता है।

विधि निष्पादन Driver द्वारा किया जाता है। इनपुट APK, DEX, या Smali को dexmerge का उपयोग करके Driver के साथ एकल DEX में जोड़ा जाता है और इसे डिवाइस या एमुलेटर पर धकेल दिया जाता है। प्लगइन्स तब Driver का उपयोग कर सकते हैं जो इनपुट DEX से विधियों को निष्पादित करने के लिए Java रिफ्लेक्शन का उपयोग करता है। वापसी मानों का उपयोग केवल पैटर्न पहचान से परे सिमैंटिक विश्लेषण को बेहतर बनाने के लिए किया जा सकता है। यह विशेष रूप से कई स्ट्रिंग डिक्रिप्शन विधियों के लिए उपयोगी है, जो आमतौर पर एक एन्क्रिप्टेड स्ट्रिंग या कुछ बाइट सरणी लेते हैं। एक सीमा यह है कि निष्पादन केवल स्थैतिक विधियों तक ही सीमित है।

हैकिंग

अपना खुद का प्लगइन बनाना

Oracle के साथ आने वाले तीन प्लगइन्स हैं:

  1. Undexguard - Dexguard ऑबफस्केशंस के कुछ प्रकारों को हटाता है
  2. Unreflector - कुछ Java रिफ्लेक्शन को हटाता है
  3. String Decryptor - सरल प्लगइन जो स्ट्रिंग एन्क्रिप्शन के एक सामान्य प्रकार को हटाता है

यदि आप एक नए प्रकार का ऑबफस्केशन पाते हैं, तो Oracle के साथ डीऑबफसकेट करना संभव हो सकता है। Smali को देखें और पता लगाएं कि क्या कोड को या तो:

  1. पुनर्व्यवस्थित किया जा सकता है
  2. कुछ स्थैतिक विधियों को निष्पादित करके समझा जा सकता है

यदि इनमें से कोई भी मामला है, तो आपको अपना खुद का प्लगइन लिखने का प्रयास करना चाहिए। अपना प्लगइन बनाने के चार चरण हैं:

  1. Smali पैटर्न की पहचान करें
  2. पैटर्न को सरल बनाने का तरीका खोजें
  3. Driver के साथ इंटरैक्ट करने और विधियों को आमंत्रित करने का तरीका खोजें
  4. सीधे संशोधन लागू करने का तरीका खोजें

शामिल प्लगइन्स चरण #3 और #4 को समझने के लिए एक अच्छा मार्गदर्शक होना चाहिए। Driver को चरण #2 में मदद करने के लिए डिज़ाइन किया गया है।

बेशक, आप जिस भी ऑबफस्केशन का सामना करते हैं उसे साझा करने के लिए आपका हमेशा स्वागत है और हो सकता है कि कोई अंततः उस तक पहुंच जाए।

Driver को अपडेट करना

पहले, सुनिश्चित करें कि dx आपके पथ पर है। यह Android SDK का हिस्सा है, लेकिन यह संभवतः आपके पथ पर नहीं है जब तक कि आप हार्डकोर न हों।

driver फ़ोल्डर Gradle द्वारा प्रबंधित एक Java प्रोजेक्ट है। इसे Eclipse, IntelliJ, आदि में आयात करें और जो भी बदलाव चाहें करें। Driver को अपडेट करना समाप्त करने के लिए, ./update_driver चलाएँ। यह Driver को पुनर्निर्माण करेगा और आउटपुट JAR को DEX में बदल देगा।

समस्या निवारण

यदि आपके एमुलेटर या डिवाइस पर Driver कोड निष्पादित करने में कोई समस्या है, तो monitor (Android SDK का हिस्सा) खोलना सुनिश्चित करें और वहाँ किसी भी सुराग की जाँच करें। भले ही त्रुटि आपको समझ में न आए, यदि आप इसे उस समस्या के साथ पोस्ट करते हैं जो आप बनाएंगे तो यह मदद करेगा।

सभी Android प्लेटफॉर्म dex-oracle के साथ अच्छी तरह से काम नहीं करते हैं। उनमें से कुछ मनमानी DEX फ़ाइलों को निष्पादित करने का प्रयास करते समय विफल हो जाते हैं। यदि आपको Segfaults या Driver क्रैश की समस्या हो रही है, तो ARM के साथ Android 4.4.2 API स्तर 19 का उपयोग करने का प्रयास करें।

यह संभव है कि एक प्लगइन एक पैटर्न देखता है जिसे वह ऑबफस्केशन समझता है लेकिन वास्तव में वह कुछ कोड है जिसे निष्पादित नहीं किया जाना चाहिए। यह असंभव लगता है क्योंकि ऑबफस्केशन पैटर्न वास्तव में असामान्य हैं, लेकिन यह संभव है। यदि आप पाते हैं कि कोई विशेष प्लगइन समस्या पैदा कर रहा है और आप सुनिश्चित हैं कि ऐप उस विशेष ऑबफस्केटर द्वारा संरक्षित नहीं है, अर्थात ऐप DexGuarded नहीं है, लेकिन DexGuard प्लगइन कुछ निष्पादित करने का प्रयास कर रहा है, तो बस इसे अक्षम करें।

अधिक जानकारी

  1. TetCon 2016 - Android डीऑबफस्केशन
  2. Android मैलवेयर डीऑबफस्केशन के लिए dex-oracle के साथ हैकिंग
टूल डाउनलोड करें