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


21

मुझे अपने फोन के स्क्रीनशॉट को कैप्चर करने का एहसास है, सभी स्क्रीनशॉट एप्लिकेशन के लिए मेरे पास एक रूटेड फोन है। ऐसा क्यों है? एंड्रॉइड के लिए हमारे पास एक साधारण स्क्रीनशॉट एप्लिकेशन क्यों नहीं हो सकता है, जैसे हमारे पास विंडोज के लिए है?


2
मैंने हमेशा यह दिलचस्प पाया है कि iPhone इस सुविधा को बॉक्स से बाहर कर देता है जबकि यह Android पर सक्षम करने के लिए एक प्रमुख मामला है।
शामबल जू

1
ध्यान दें कि लगभग एंड्रॉइड 4.0 के बाद से वॉल्यूम डाउन + पावर बटन दबाकर स्क्रीनशॉट लेना संभव है; यह आउट-ऑफ-द-बॉक्स कार्यक्षमता है, कोई ऐप्स की आवश्यकता नहीं है (
पोस्टेरिटी

जवाबों:


17

जवाब आसान है, यह एक अनुमति मुद्दा है।

एंड्रॉइड वीडियो प्रदर्शन के लिए फ़्रेमबफ़र कहा जाता है का उपयोग करता है । फ़्रेमबफ़र / देव / ग्राफिक्स / fb0 पर स्थित है। यह "फ़ाइल", जो मूल रूप से एक धारा है जो डिवाइस तब लिखती है जब उपयोगकर्ता इंटरफ़ेस में परिवर्तन होता है, इसमें स्क्रीन डिस्प्ले के ~ 2 फ्रेम होते हैं।

फ़्रेमबफ़र फ़ाइल पर अनुमतियाँ है rw- rw- ---। ध्यान दें कि अंतिम "समूह" में 3 "-" s है। मूल रूप से इसका मतलब है कि यदि आप owner(जो रूट है) नहीं हैं, तो आपको उस फ़ाइल से भी पढ़ने की अनुमति नहीं है।

यदि कोई सिस्टम इंस्टॉल किया गया था, जो स्क्रीनशॉट ले सकता है, तो उसे फ्रेमबफ़र से पढ़ने की अनुमति होगी। मेरा मानना ​​है कि मोटोरोला Xoom स्क्रीनशॉट लेने में सक्षम है। इसमें डिवाइस पर एक एप्लिकेशन इंस्टॉल किया गया है, एक सिस्टम ऐप के रूप में।

एक डेवलपर के लिए फ़्रेमबफ़र पढ़ना वास्तव में सरल है, अगर उनके पास इसे पढ़ने के लिए एक्सेस है।


1
Google जैसी ध्वनियों को अनुमतियों को अपडेट करना चाहिए r--। यह एक सुरक्षा जोखिम पैदा कर सकता है यदि कोई भी ऐप आपकी स्क्रीन पर जासूसी कर सकता है, लेकिन क्या यह केवल अनुमतियों में से एक नहीं होगा ( यह ऐप आपकी स्क्रीन की निगरानी कर सकता है ) जिसे आपको स्थापित करने से पहले स्वीकार करना होगा? मेनू फ्लाई-आउट में या तो Google और अंतर्निहित स्क्रीन कैप्चर को जोड़ना चाहिए, फिर किसी और को इसका उपयोग नहीं करना चाहिए। बाद में मेरा बहुत अच्छा मामला रहा, मेरा मतलब है कि वे अभी क्रोम में प्रिंट-प्रीव्यू जोड़ रहे हैं।
जेडी इसाक्स

3
मुझे लगता है कि ओ + आर का मॉड एक सुरक्षा चिंता का विषय होगा अगर कोई भी बाजार ऐप स्क्रीन को पढ़ सकता है।
kzh

मुझे लगता है कि यह निर्भर करता है। विंडोज़ ओएस अपने स्क्रीन शूट को लेने से रोकता नहीं है। अब तक, क्या हमने स्क्रीन शूट के कारण कोई सुरक्षा समस्या सुनी है?
चेओक यान चेंग

खिड़कियों में स्क्रीनशॉट लेने की जरूरत नहीं है, एक विंडोज़ मशीन से डेटा प्राप्त करने के लिए बहुत आसान तरीके हैं। मोबाइल, मुझे लगता है, एक बड़ी चिंता है। स्क्वायर जैसे ऐप्स के बारे में सोचें, जो क्रेडिट कार्ड को प्रोसेस करते हैं। अगर मैंने एक ऐसी सेवा लिखी जो कार्ड के स्वाइप होने पर सुनी जाए, तो मैं क्रेडिट कार्ड नंबर, नाम, आदि जैसी स्क्रीन हड़पने और खींचने की जानकारी संभव कर सकता था
रयान कॉनरैड

7

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

इस बारे में सोचें कि आपके कितने ऐप OCR जैसी चीज़ों को टेक्स्ट में ट्रांसलेट करने में सक्षम हैं, मैं अपने फ़ोन पर कम से कम चार ऐप के बारे में सोच सकता हूं जो ऐसा कर सकते हैं, मुख्य उदाहरण Google Goggles OCRing बुक टाइटल है, और OCRing और फिर विदेशी भाषाओं में पाठ के ब्लॉक का अनुवाद करना। अब सोचें कि आपके कितने ऐप्स स्क्रीन पर टेक्स्ट डालते हैं, जिन्हें आप देखना नहीं चाहते हैं कि एक अविश्वसनीय ऐप है, मेरे पास मेरे फोन पर एक पासवर्ड डेटाबेस ऐप है जिसमें विभिन्न प्रणालियों के लिए मेरे पासवर्ड का एक एन्क्रिप्टेड डेटाबेस है, एक दुर्भावनापूर्ण स्क्रीनसेवर ऐप इंतजार कर सकता है उस पासवर्ड ऐप के चलने तक, उस पर लॉगिन विवरण के साथ स्क्रीन की एक तस्वीर लें, फिर उन्हें ओसीआर करें और उन्हें भेजें। यह आपकी संपर्क सूची में सब कुछ के लिए भी कर सकता है, भले ही आप एप्लिकेशन को अपने संपर्क डेटाबेस, या अपने ब्राउज़र के इतिहास की अनुमति न दें, या चैट लॉग और इतने पर। यह केवल एक ही तरीका है कि यह आपकी स्क्रीन तक पहुंच का दुरुपयोग कर सकता है।

यही कारण है कि स्क्रीनशॉट को सार्वभौमिक बनाने के लिए इसे ओएस में होना चाहिए (जिसे आप पहले से ही अपने सभी डेटा के साथ भरोसा करते हैं)। यही कारण है कि जिन फोन में स्क्रीन शॉट फ़ंक्शन बिल्ट-इन होता है, उन्हें सिस्टम के हिस्से के रूप में जोड़ा जाता है, न कि एक अलग ऐप के रूप में।

यदि आप अपने फोन को रूट करते हैं और एक ऐप को स्क्रीनशॉट लेने की अनुमति देते हैं, तो आप प्रभावी रूप से कह रहे हैं कि आप उस ऐप पर भरोसा करते हैं, जो कि वह सब कुछ करने में सक्षम हो जो सिस्टम कर सकता है, जिसमें अन्य ऐप और उनके डेटा तक पहुंच और हस्तक्षेप करना शामिल है, और यह कि आप पूरी तरह से उस पहुंच का दुरुपयोग न करने पर भरोसा करें। यह कुछ ऐसा नहीं है जो एंड्रॉइड के सिस्टम / ओएस को छोड़कर कुछ भी करने की अनुमति देता है।


6

संक्षिप्त उत्तर: क्योंकि 1) कंप्यूटर जटिल हैं और 2) स्क्रीनशॉट की कार्यक्षमता वास्तव में बहुत सरल नहीं है (प्रोग्रामर के लिए, उपयोगकर्ता के लिए नहीं)।

दूसरे शब्दों में, स्क्रीनशॉट लेने के लिए स्क्रीनशॉट की प्रक्रिया को ओएस इंटर्नल्स में बहुत गहरे हुक करने की आवश्यकता होती है, उनके साथ थोड़ा गड़बड़ होता है, और फिर से अनहुक होता है। चूंकि एंड्रॉइड एक अंतर्निहित सुरक्षा मॉडल रखने की कोशिश करता है (जैसा कि विंडोज में देखा गया "बोल्ट-ऑन-ऑनथॉट" के विपरीत), कई सुरक्षा बाधाओं पर एक स्क्रीनशॉट ट्रिप ले रहा है। उन को दरकिनार किया जा सकता है, लेकिन वर्तमान में केवल व्यावहारिक तरीका (छेद बनाने में कमी - और संभावित कमजोरियों - कर्नेल में) सभी शक्तिशाली रूट खाते का उपयोग करना है, जो सीमाओं के अधीन नहीं है।


1
मैं कंप्यूटर हार्डवेयर कार्यों के बारे में ज्यादा नहीं जानता, लेकिन मुझे लगता है कि GPU स्क्रीन पर एक "छवि" भेजता है। क्या उस छवि को इंटरसेप्ट और सेव नहीं किया जा सकता है?
जद इसाक्स

2
@ जॉन आइजैक, जो मूल रूप से फ्रेमबफ़र के साथ होता है। मेरा जवाब देखिए कि क्यों इसे अभी भी जड़ की आवश्यकता है।
रयान कॉनरैड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.