android - मूल ग्राहक में आवेदन के यूआईडी/पीआईड से पैकेज का नाम और हस्ताक्षर प्राप्त करना



android-ndk android-framework (1)

ए 1: मुझे लगता है कि पैकेज नाम के लिए एप्लिकेशन निर्देशिका स्कैन करना संभव है और फिर मूल कोड में संबंधित उपयोगकर्ता आईडी से मेल करने का प्रयास करें। जावा में आप getPackageForUid () का उपयोग कर सकते हैं।

ए 2: ऐसा करने के लिए कुछ भी देशी नहीं देखा है। अनपेक्षित। .apk फाइलों को एक्सेस करना वास्तव में एक गैर रूटेड फोन पर संभव नहीं होना चाहिए।

ए 3: "शायद नहीं" और "शायद नहीं" और: मुझे नहीं पता कि कैसे रिमोट सेवा के लिए बाध्यकारी सेवा की प्रमाणीकरण जानकारी प्रदान नहीं करती है; भले ही उसने ऐसा किया हो: हस्ताक्षरित सामग्री तक पहुंच के बिना हस्ताक्षर को कैसे मान्य किया जाए, अर्थात् .apk

संपादित करें:

जैसा कि बताया गया है , कल pm उपकरण, मदद कर सकता है

यह एंड्रॉइड प्लेटफॉर्म पर मेरा पहला प्रोजेक्ट है, और मैं अभी तक इस माहौल को सहज नहीं देता।

मुझे किसी मूल अनुप्रयोग को लिखना होगा जो एप्लिकेशन पैकेज का नाम और उस के हस्ताक्षर [ऐप के उपयोगकर्ता आईडी और एप का उदाहरण चलाने के लिए] से प्राप्त कर सकते हैं।

मैंने एंड्रॉइड ऐप फ्रेमवर्क के माध्यम से स्किम्ड किया है और पाया है कि पैकेज मैनेजर में पैकेज के हस्ताक्षर प्राप्त करने की क्षमता है। "... पैकेट प्रबंधक ()। GetPackageInfo (पैकेजनाम, GET_SIGNATURES) .."

लेकिन, इससे पता चलता है कि जावा एप्लिकेशन में पैकेज नाम से हस्ताक्षर होने की संभावना है। जैसा कि मैंने कहा, हमारे इनपुट पैरामीटर केवल उपयोगकर्ता आईडी हैं / आवेदन की प्रक्रिया प्रक्रिया आईडी चलाना और मुझे मूल क्लाइंट को जावा एप्लिकेशन की आवश्यकता नहीं है I

मेरा प्रश्न अनुवर्ती में विभाजित किया जा सकता है

  1. क्या यूआईडी से पैकेज का नाम प्राप्त करने का कोई तरीका है और मूल कार्यक्रम में चलने वाले अनुप्रयोग का पीआईडी? यदि मूल क्लाइंट संभव नहीं है, जावा के साथ तरीके भी स्वागत है

  2. क्या पैकेज के नाम से हस्ताक्षर प्राप्त करने का कोई तरीका है? जैसा कि मैंने कहा मैंने इसके लिए जावा का समाधान पाया है I

  3. मूल क्लाइंट के लिए क्या यह बाइंडर सेवा का उपयोग करना संभव है? क्या यह विधि मेरी समस्याओं में सहायता करेगी? यदि हां, तो कैसे?

अग्रिम में धन्यवाद!