
सामान्य एंड्रॉइड बैंकर मैलवेयर को स्टैटिक रूप से अनपैक करना।
कावानोज़ (तुर्की में जार) एक उपकरण है जो सामान्य एंड्रॉइड बैंकर मैलवेयर को स्टैटिक रूप से अनपैक करता है। क्या आपने कभी एंड्रॉइड इम्यूलेटर चलाए बिना पैक्ड मैलवेयर से पेलोड प्राप्त करना चाहा है? मुझे भी नहीं :) लेकिन फिर भी यहाँ एक उपकरण है।

pip install kavanoz
स्रोत से इंस्टॉल करने के लिए, रिपॉजिटरी को क्लोन करें और -e के साथ एक एडिटेबल इंस्टॉल करें। इसका मतलब है कि यदि आप प्रोजेक्ट में नए प्लगइन्स को संपादित या जोड़ते हैं, तो यह बिना पुनः इंस्टॉल किए उपयोग होगा।
git clone https://github.com/eybisi/kavanoz.git
cd kavanoz
pip install -e .
कमांड लाइन से
kavanoz /tmp/filepath
आप वर्बोज़ लॉग प्रिंट करने के लिए -vvv पैरामीटर का उपयोग कर सकते हैं। (प्लगइन्स की डिबगिंग के लिए उपयोगी)
पायथन लाइब्रेरी के रूप में
from kavanoz.core import Kavanoz
from kavanoz import utils
utils.set_log("DEBUG")
k = Kavanoz(apk_path="tests/test_apk/coper.apk")
for plugin_result in k.get_plugin_results():
if plugin_result["status"] == "success":
print("Unpacked")
print(plugin_result)
break
सुनिश्चित करें कि आप kavanoz को एडिटेबल ( -e के साथ) इंस्टॉल करें। नए प्लगइन्स जोड़ने के लिए बस loader फ़ोल्डर में नई फ़ाइल बनाएं। unpack_plugin.py फ़ाइल से Unpacker क्लास को एक्सटेंड करें। अपने इम्प्लीमेंटेशन के साथ start_decrypt फ़ंक्शन परिभाषित करें।
def start_decrypt(self, apk_object: APK, dexes: "list[DEX]"):
प्लगइन से जल्दी बाहर निकलने के लिए निम्न फ़ंक्शन जोड़ें।
def lazy_check(self,apk_object:APK, dexes: "list[DEX]"):
यदि एक्सट्रैक्शन सफल होता है तो self.decrypted_payload_path को निकाली गई फ़ाइल पथ के साथ असाइन करें। आप unpacker क्लास से हेल्पर फ़ंक्शन का उपयोग कर सकते हैं:
PR खोलने से पहले python -m unittest चलाना सुनिश्चित करें। टेस्ट apk फ़ाइलें प्राप्त करने के लिए, git lfs pull कमांड का उपयोग करें।
dex.get_class(smali_annotation_of_class) से क्लास प्राप्त कर सकते हैं।self.apk_object.get_files() से फ़ाइलें प्राप्त कर सकते हैं।application = self.apk_object.get_attribute_value("application", "name") का उपयोग करें।apkdetect.com काम करने के लिए अद्वितीय सैंपल्स के लिए।