2012-12-10 41 views
10

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

मैं पथ प्रणाली/अतिरिक्त/सु में su.c फ़ाइल माध्यम से चला गया, लेकिन मैं पूरे कोड को समझने में असमर्थ हूँ।

जब मैं कोड के माध्यम से चला गया, मुझे लगता है कि अगर मैं कर सकता modifysu.c रूट पहुँच मेरे ऐप, compile it and add the binary निर्माण करने के लिए प्रदान करने के लिए मेरे उद्देश्य हासिल किया जा सकता। क्या मैं सही हू?

+1

यदि कोई * ऐप बस रूट हो सकता है तो यह एक बड़ी सुरक्षा बार्नगेट नहीं होगा? –

+0

यदि आपको यह नहीं पता कि यह कैसे करना है, तो यह बहुत ही असंभव है कि आप रूट के रूप में चलाने से पहले सुरक्षा के लिए कोड का ऑडिट कैसे करें। कोड से –

+0

मुझे पता चला कि यह शैल तक रूट पहुंच प्रदान करता है, वैसे ही मैं डेटा/सिस्टम/packages.xml में xml फ़ाइल को पार्स करना चाहता हूं और अपने ऐप का यूआईडी ढूंढ सकता हूं और इसे सिस्टम तक रूट पहुंच प्राप्त करने की अनुमति देता हूं – Neji

उत्तर

6

आप सही दिशा में आगे बढ़ रहे हैं। आपको su.c के लिए स्रोतों की जांच करने की आवश्यकता है एकमात्र समस्या जिसका आप सामना कर सकते हैं यह है कि अपने प्रोग्राम को रूट के रूप में कैसे चलाएं। ऐसा करने के लिए आपको अपने आवेदन के निष्पादन योग्य के लिए SUID चिपचिपा बिट सेट करने की आवश्यकता है। ऐसा करने के लिए आप सु कार्यक्रम आप देख सकते हैं कि कैसे इस बिट सेट किया गया है के लिए उदाहरण के लिए, system/core/include/private/android_filesystem_config.h फ़ाइल (संरचना android_files[]) को संशोधित करना:

{ 06755, AID_ROOT,  AID_ROOT,  "system/xbin/su" }, 
+1

यह दृष्टिकोण काम नहीं करेगा, क्योंकि एंड्रॉइड अनुप्रयोगों में अद्वितीय निष्पादन योग्य नहीं हैं। इसके बजाए, वे अंततः एक सामान्य निष्पादन योग्य पुस्तकालय हैं। ज़ीगोट फोर्क एक एप्लिकेशन प्रक्रिया बनाने के लिए, लेकिन यह कभी निष्पादित नहीं करता है(), यह सिर्फ यूआईडी बदलता है और एप्लिकेशन कोड के साथ लाइब्रेरी लोड करता है। –

+0

मुझे समझ में नहीं आता है। यह तरीका है कि सु कैसे काम करता है। मैं अपनी परियोजनाओं में कई बार इस दृष्टिकोण का उपयोग करने में कामयाब रहा। – Yury

+0

युरी, क्या आप मुझे बता सकते हैं कि आपने अपने ऐप पर रूट पहुंच देने के लिए दोनों फाइलों में किस हिस्से को अपडेट किया है ?? – Neji

3

Chainfire एक a guide on su लिखा है और कैसे सामान्य एप्लिकेशन के लिए इसका इस्तेमाल करने की। यदि आप अपने फोन के अलावा किसी अन्य चीज़ के साथ काम करने का इरादा रखते हैं तो मेरा सुझाव है कि यह वह दृष्टिकोण है जिसका आप अनुसरण करते हैं।

+0

मेरे पास कोई निष्पादन योग्य बाइनरी नहीं है। मैं एक पूर्वनिर्धारित/पूर्वस्थापित एपीके को रूट अनुमति सेट करना चाहता हूं। मुझे क्या करना चाहिए? –