
androidqf (Android Quick Forensics) एंड्रॉइड उपकरणों से फोरेंसिक साक्ष्य तेजी से एकत्र करने में मदद करता है, ताकि समझौता के संभावित निशानों की पहचान की जा सके।
androidqf (Android Quick Forensics) एक पोर्टेबल उपकरण है जो Android उपकरणों से प्रासंगिक फोरेंसिक डेटा के अधिग्रहण को सरल बनाता है।
androidqf का उद्देश्य Android उपकरणों से शीघ्रता से डेटा प्राप्त करने के लिए एक सरल और पोर्टेबल क्रॉस-प्लेटफ़ॉर्म उपयोगिता प्रदान करना है। यह कार्यक्षमता में mvt-android के समान है। हालाँकि, MVT के विपरीत, androidqf को गैर-तकनीकी उपयोगकर्ताओं द्वारा भी आसानी से चलाने के लिए डिज़ाइन किया गया है। androidqf द्वारा निकाला गया डेटा MVT से विश्लेषित किया जा सकता है।
यह रिपॉजिटरी Amnesty International की सुरक्षा प्रयोगशाला द्वारा अनुरक्षित androidqf का एक फोर्क है। androidqf उपकरण मूल रूप से Claudio Guarnieri द्वारा विकसित किया गया था।

Linux, Windows और Mac के लिए निष्पादन योग्य बाइनरी नवीनतम रिलीज़ में उपलब्ध होने चाहिए। यदि आपको बाइनरी चलाने में समस्या हो तो आप इसे स्वयं बनाना चाह सकते हैं।
यह प्रोजेक्ट स्वचालित निर्माण और रिलीज़ के लिए GoReleaser का उपयोग करता है। स्थानीय रूप से निर्माण करने के लिए:
GoReleaser स्थापित करें:
go install github.com/goreleaser/goreleaser@latest
एक स्नैपशॉट निर्माण चलाएं (प्रकाशन नहीं):
./build_locally.sh
यह सभी प्लेटफ़ॉर्म के लिए dist/ निर्देशिका में बाइनरी बनाएगा, जिसमें macOS के लिए एक यूनिवर्सल बाइनरी शामिल है जो Intel और Apple Silicon दोनों पर काम करती है।
आप अभी भी पारंपरिक Makefile दृष्टिकोण का उपयोग कर सकते हैं। आपको Go 1.23+ स्थापित होना चाहिए, साथ ही make, git, unzip और wget भी। AndroidQF में एक क्रॉस-संकलित collector शामिल है जो लक्ष्य डिवाइस पर चलता है ताकि फोरेंसिक रूप से प्रासंगिक जानकारी अधिक विश्वसनीय रूप से निकाली जा सके।
पहले collector मॉड्यूल बनाएं:
make collector
फिर अपनी पसंद के प्लेटफ़ॉर्म के लिए AndroidQF संकलित करें:
make linux
make darwin
make windows
ये आदेश build/ फ़ोल्डर में बाइनरी उत्पन्न करेंगे।
वितरण पैकेज unbundle बिल्ड टैग के साथ निर्माण करके बंडल किए गए ADB और collector बाइनरी को एम्बेड करने से ऑप्ट आउट कर सकते हैं:
go build -tags unbundle -o build/
जब यह टैग सक्षम होता है, तो androidqf अपेक्षा करता है:
adb सिस्टम PATH से उपलब्ध हो।/usr/lib/androidqf/android-collector/ के अंतर्गत androidqf द्वारा अपेक्षित नामों जैसे collector_arm और collector_arm64 के साथ स्थापित हों।पैकेजर्स निर्माण से पहले assets/ से बंडल बाइनरी संपत्तियों को हटा सकते हैं, लेकिन assets/ पैकेज निर्देशिका और उसकी Go स्रोत फ़ाइलें मौजूद रहनी चाहिए। unbundle बिल्ड अभी भी assets पैकेज को आयात करता है, और यदि पूरी assets/ निर्देशिका हटा दी जाती है तो निर्माण विफल हो जाएगा।
रिलीज़ कंटेनर छवि GitHub Container Registry पर प्रकाशित की गई है:
docker pull ghcr.io/mvt-project/androidqf:latest
Linux पर USB-कनेक्टेड Android डिवाइस से डेटा एकत्र करने के लिए, USB बस को पास-थ्रू करें और एक आउटपुट निर्देशिका माउंट करें:
docker run --rm -it --privileged \
-v /dev/bus/usb:/dev/bus/usb \
-v "$(pwd)/output:/output" \
ghcr.io/mvt-project/androidqf:latest -fast -output /output
आप रिलीज़ किए गए संस्करण के लिए स्थानीय रूप से भी छवि बना सकते हैं:
docker build --build-arg VERSION=1.8.3 -t androidqf .
[!TIP] संग्रह प्रारूप, अखंडता हैश, एन्क्रिप्शन और बड़ी फ़ाइल हैंडलिंग के लिए अधिग्रहण संग्रह देखें। एकत्रित फ़ाइलों के शब्दकोश के लिए, तृतीय-पक्ष SocialTIC AndroidQF आउटपुट फ़ाइल शब्दकोश देखें।
androidqf लॉन्च करने से पहले आपके पास लक्ष्य Android डिवाइस USB के माध्यम से आपके कंप्यूटर से जुड़ा होना चाहिए, और आपने USB डिबगिंग सक्षम किया होना चाहिए। कृपया इसे करने के तरीके पर आधिकारिक दस्तावेज़ीकरण देखें, लेकिन यह भी ध्यान रखें कि विभिन्न निर्माताओं के Android फ़ोनों में डिफ़ॉल्ट से भिन्न नेविगेशन चरणों की आवश्यकता हो सकती है।
USB डिबगिंग सक्षम होने के बाद, आप androidqf लॉन्च कर सकते हैं। यह पहले USB ब्रिज पर डिवाइस से कनेक्ट करने का प्रयास करेगा, जिसके परिणामस्वरूप Android फ़ोन आपको मैन्युअल रूप से होस्ट कुंजियों को अधिकृत करने का संकेत देगा। उन्हें अधिकृत करना सुनिश्चित करें, आदर्श रूप से स्थायी रूप से ताकि संकेत फिर से प्रकट न हो।
अब androidqf निष्पादित होना चाहिए और आपकी वर्तमान कार्यशील निर्देशिका में, या -output के साथ प्रदान की गई निर्देशिका में एक अधिग्रहण ज़िप संग्रह बनाना चाहिए। निष्पादन के किसी बिंदु पर, androidqf आपको कुछ विकल्पों के लिए संकेत देगा: ये संकेत तब तक अधिग्रहण को रोक देंगे जब तक आप एक चयन प्रदान नहीं करते, इसलिए ध्यान दें।
निम्नलिखित डेटा निकाला जा सकता है:
| डेटा | वैकल्पिक? | आउटपुट पथ |
|---|---|---|
| SMS और MMS संदेशों का पूर्ण बैकअप या बैकअप। | ✅ | backup.ab |
| getprop शेल कमांड का आउटपुट, जो बिल्ड जानकारी और कॉन्फ़िगरेशन पैरामीटर प्रदान करता है। | getprop.txt | |
| सभी सिस्टम सेटिंग्स | settings_*.txt | |
| ps शेल कमांड का आउटपुट, जो सभी चल रही प्रक्रियाओं की सूची प्रदान करता है। | processes.txt | |
| सिस्टम की सेवाओं की सूची। | services.txt | |
| सिस्टम से सभी लॉग की प्रतिलिपि। | logs/, logcat.txt | |
| dumpsys शेल कमांड का आउटपुट, जो डिवाइस के बारे में नैदानिक जानकारी प्रदान करता है। | dumpsys.txt | |
| स्थापित सभी पैकेजों और संबंधित वितरण फ़ाइलों की सूची। | packages.json | |
| स्थापित सभी APK की प्रतिलिपि या केवल उनकी जो सिस्टम ऐप के रूप में चिह्नित नहीं हैं। | ✅ | apks/* |
| इंट्रूज़न लॉगिंग लॉग। निजी डेटा जैसे नेविगेशन इतिहास शामिल हैं। | ✅ | intrusion_logs/* |
| सिस्टम पर फ़ाइलों की सूची। | files.json | |
| टेम्प फ़ोल्डरों में उपलब्ध फ़ाइलों की प्रतिलिपि। | tmp/* | |
| सिस्टम और ऐप-विशिष्ट लॉग वाली एक बग रिपोर्ट, जिसमें कोई निजी डेटा शामिल नहीं है। | bugreport.zip |
प्रत्येक अधिग्रहण में acquisition.json, command.log (जब लॉग आउटपुट उत्पन्न हुआ हो), और hashes.csv भी शामिल होता है। हैश सूची पिछले प्रत्येक सादा पाठ संग्रह प्रविष्टि के SHA-256 डाइजेस्ट को रिकॉर्ड करती है और स्वयं को शामिल नहीं करती है। असफल डिवाइस पुल को संग्रह प्रविष्टियों के रूप में प्रतिबद्ध नहीं किया जाता है। विवरण के लिए अधिग्रहण संग्रह देखें।
androidqf संग्रह चलाते समय निम्नलिखित विकल्प प्रस्तुत किए जाते हैं:
क्या आप डिवाइस का बैकअप लेना चाहेंगे?
...
? बैकअप:
▸ केवल SMS
सब कुछ
कोई बैकअप नहीं
ये विकल्प पृष्ठभूमि में adb backup कमांड चलाकर डिवाइस से एकत्र किए गए डेटा को संदर्भित करते हैं। यदि "कोई बैकअप नहीं" चुना जाता है, तो adb backup कमांड नहीं चलाया जाता है।
| विकल्प | स्पष्टीकरण |
|---|---|
| केवल SMS | adb backup com.android.providers.telephony चलाया जाता है। केवल com.android.providers.telephony से डेटा एकत्र किया जाता है। इसमें SMS डेटाबेस शामिल है। |
| सब कुछ | adb backup -all चलाया जाता है। यह केवल उन ऐप्स के बैकअप का अनुरोध करता है जिन्होंने इस विधि के माध्यम से अपने डेटा के बैकअप की स्पष्ट रूप से अनुमति दी है। Android 12+ के बाद से, यह विधि लगभग सभी ऐप्स के लिए कुछ भी नहीं निकालती है। |
| कोई बैकअप नहीं | adb backup नहीं चलाया जाता है |