
पैकर्स, प्रोटेक्टर्स, ऑबफस्केटर्स और विचित्रताओं के लिए एंड्रॉइड ऐप्लिकेशन पहचानकर्ता - PEiD for Android
APKiD आपको बताता है कि एपीके कैसे बनाया गया। यह कई कंपाइलर, पैकर, ऑबफसकेटर और अन्य अजीब चीजों की पहचान करता है। यह एंड्रॉइड के लिए PEiD है।

इस उपकरण के उपयोग के बारे में अधिक जानकारी के लिए, देखें:
pip install apkid
आप APKiD को Docker के साथ भी चला सकते हैं! बेशक, इसके लिए आपके पास git और Docker इंस्टॉल होना आवश्यक है।
Docker का उपयोग करने का तरीका यहाँ बताया गया है:
git clone https://github.com/rednaga/APKiD
cd APKiD/
docker build . -t rednaga:apkid
docker/apkid.sh ~/reverse/targets/android/example/example.apk
[+] APKiD 2.1.0 :: from RedNaga :: rednaga.io
[*] example.apk!classes.dex
|-> compiler : dx
usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
[--entry-max-scan-size ENTRY_MAX_SCAN_SIZE] [--typing {magic,filename,none}] [-j]
[-o DIR]
[FILE [FILE ...]]
APKiD - Android Application Identifier v2.1.2
positional arguments:
FILE apk, dex, or directory
optional arguments:
-h, --help show this help message and exit
-v, --verbose log debug messages
scanning:
-t TIMEOUT, --timeout TIMEOUT Yara scan timeout (in seconds)
-r, --recursive recurse into subdirectories
--scan-depth SCAN_DEPTH how deep to go when scanning nested zips
--entry-max-scan-size ENTRY_MAX_SCAN_SIZE max zip entry size to scan in bytes, 0 = no limit
--typing {magic,filename,none} method to decide which files to scan
output:
-j, --json output scan results in JSON format
-o DIR, --output-dir DIR write individual results here (implies --json)
यदि आपको कोई APK या DEX मिलता है जिसे APKiD पहचान नहीं पाता, तो कृपया एक GitHub मुद्दा खोलें और हमें बताएं:
हम किसी भी प्रकार की अवधारणा के लिए खुले हैं जो "दिलचस्प" चीज़ का पता लगाने के लिए हो सकती है, इसलिए अपने आप को केवल पैकर, कंपाइलर या ऑबफसकेटर तक सीमित न रखें। यदि कोई दिलचस्प एंटी-डिसअसेंबलर, एंटी-VM, एंटी-* ट्रिक है, तो कृपया एक मुद्दा बनाएं।
पुल रिक्वेस्ट का स्वागत है। यदि आप एक नया नियम सबमिट कर रहे हैं, तो सुनिश्चित करें कि APK / DEX का फ़ाइल हैश शामिल करें ताकि हम नियम की जांच कर सकें।
यह उपकरण दोहरे लाइसेंस के तहत उपलब्ध है: एक वाणिज्यिक लाइसेंस जो बंद स्रोत परियोजनाओं के लिए उपयुक्त है, और एक GPL लाइसेंस जो खुले स्रोत सॉफ्टवेयर में उपयोग किया जा सकता है।
आपकी आवश्यकताओं के आधार पर, आपको उनमें से एक चुनना होगा और उसकी नीतियों का पालन करना होगा। प्रत्येक लाइसेंस प्रकार के लिए नीतियों और समझौतों का विवरण LICENSE.COMMERCIAL और LICENSE.GPL फ़ाइलों में उपलब्ध है।
यदि आप नवीनतम संस्करण को इस तरह से इंस्टॉल करना चाहते हैं कि आप बदलाव कर सकें, अपने स्वयं के नियम विकसित कर सकें, आदि, तो बस इस रिपॉजिटरी को क्लोन करें, नियमों को संकलित करें, और पैकेज को एडिटेबल मोड में इंस्टॉल करें:
git clone https://github.com/rednaga/APKiD
cd APKiD
python prep-release.py
pip install -e .[dev,test]
यदि उपरोक्त काम नहीं करता है, तो आपकी स्थानीय मशीन और जहाँ Python स्थापित है, उसके आधार पर अनुमति त्रुटियों के कारण, --user फ्लैग निर्दिष्ट करने का प्रयास करें। यह संभवतः आवश्यक है यदि आप वर्चुअल वातावरण का उपयोग नहीं कर रहे हैं:
pip install -e .[dev,test] --user
यदि आप किसी भी नियम को अपडेट करते हैं, तो उन्हें पुनः संकलित करने के लिए prep-release.py चलाना सुनिश्चित करें।
यदि आप Windows का उपयोग कर रहे हैं, तो संकलन से पहले Yara 3.11.0 और yara-python-dex स्थापित करें:
pip install yara-python==3.11.0
pip install wheel
pip wheel --wheel-dir=yara-python-dex git+https://github.com/MobSF/yara-python-dex.git
pip install --no-index --find-links=yara-python-dex yara-python-dex
नया संस्करण जारी करते समय, सुनिश्चित करें कि apkid/init.py में संस्करण अपडेट किया गया है।
परीक्षण चलाने के लिए, देखें कि dev और test वातावरण कैसे सेटअप किए गए हैं और परीक्षण कैसे चलाए जाते हैं, इसके लिए .travis.yml देखें।
संकलित नियमों, रीडमी को अपडेट करें, पैकेज बनाएं और PyPI पर अपलोड करें:
./prep-release.py readme
rm -f dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
अधिक जानकारी के लिए Packaging Projects देखें।