android - Substitute a Java API class with custom class? -


मेरे पास बंद स्रोत एंड्रॉइड प्रोग्राम है जो android.opengl.GLSurfaceView वर्ग का उपयोग करता है।

मुझे कुछ जावा कोड (इंजेक्शन पहले से ही किया गया है) इंजेक्ट करने की आवश्यकता है जो सभी android.opengl.GLSurfaceView से संबंधित प्रसंस्करण के साथ मेरे अपने GLSurfaceView वर्ग (hooking) के साथ मूल कोड में कोई परिवर्तन नहीं (कोई स्रोत नहीं, अनुमति नहीं जुटाई जा सकती है)।

असल में यह Win32 C प्रोग्रामिंग के संदर्भ में एपीआई हुकूंग है, लेकिन जावा / एंड्रॉइड में।

आप इसे जावा प्रतिबिंब के प्रयोग से नहीं कर पाएंगे।

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

यह मानता है कि आपके पास इस बंद स्रोत अनुप्रयोग के बाइटकोड्स तक पहुंच है, आप सुरक्षा नियमों का उल्लंघन किए बिना उनके साथ टिंकर करने के लिए उदाहरण के लिए, यदि आवेदन पर हस्ताक्षर किए गए हैं, तो बाइटकोड्स बदलना हस्ताक्षर को रद्द कर देगा।

और रिवर्स इंजीनियरिंग पर प्रतिबंध का उल्लंघन किए बिना ऐसा करना एक और कठिनाई होगी।


लगता है जैसे कि आपको इस विचार को छोड़ देना होगा।

Comments