कधी कधी एक पाहू इच्छित आहे, आणि एक विशिष्ट प्रोग्राम भरून कोणत्या प्रकारचे? मग तो उलट-अभियांत्रिकी वापरण्यासाठी आहे. हे काय आहे? ते कसे कार्य करते? ही प्रक्रिया कशी आहे? हे सर्व आपण हा लेख जाणून घेईल.
एक उलट-अभियांत्रिकी कार्यक्रम काय आहे?
त्यामुळे आवश्यक ते बदल करून ही प्रक्रिया पुन्हा तयार करण्यासाठी भविष्यात कसे ती काम करते, समजून घेण्यासाठी प्रक्रिया अर्ज विश्लेषण म्हणतात. सहसा या हेतूने डिबगर आणि असेंबलर वापरले जाते. वापरले भिन्न असेल सॉफ्टवेअर गुणवत्ता आणि परिणाम अवलंबून त्यावर खर्च पाहिजे की एक सामान्य स्वरूपात आणण्यासाठी वेळ रक्कम आहे. उत्तम उदाहरण सुरुवातीला उलट-अभियांत्रिकी समजावून सांगा. म्हणून त्याचा Android साठी लिहिले अर्ज करते. आता काय आणि कसे शोधण्यासाठी असू द्या.
Android-अनुप्रयोग काम करताना
प्रथम आम्ही काही बिंदूंचे स्पष्टीकरण करणे आवश्यक आहे. अनुप्रयोग bytecode आणि लॉगकॅट वापरते. या स्थानिक भागांच्या पूर्वी डिबगर आणि असेंबलर उल्लेख केला. हे अनुप्रयोग स्वत: च्या रचना समजून घेणे आवश्यक आहे. त्यामुळे, प्रत्येक कार्यक्रम विस्तार APK सह फाइल आहे. तो zip'om पॅक. अनुप्रयोग संसाधने, classes.dex आणि AndroidManifest.xml - आम्ही त्यातील सामग्री रूची आहे. आपण Android वर प्रोग्रामिंग तर, माजी आणि नंतरचे समस्या असू नये. पण classes.dex - वर्च्युअल मशीन विशेषत संकलित आहे की या कार्यक्रमात बाइट कोड. निधी मिळत नाही इंटरनेट वर उपलब्ध त्याच्या जावा सोअर्स कोड प्राप्त. वर्च्युअल मशीन वापरले जाते आदेश विशेष संच - पण शक्य Dalvik opcodes प्राप्त करण्यासाठी आहे. एक समानता आम्ही स्थानिक पूर या विधानसभा की म्हणू शकता. Classes.dex देखील किलकिले फाइल मध्ये रूपांतरीत केले जाऊ शकते. जरी अशा परिस्थितीत, आपण अधिक किंवा कमी वाचनीय असेल decompilation नंतर एक जावा-कोड, मिळवू शकता. की मार्ग आम्ही जाता जाता आहे.
decompilation
ही प्रक्रिया Apk व्यवस्थापकाशी कार्यक्रम वापरून चालते जाईल. आपण प्रारंभ करण्यापूर्वी, devaysa आणि काम USB-डिबगिंग मोड योग्य ड्राइव्हर आहे याची खात्री करा. सुरुवातीला आम्ही ठिकाणी apk-येथे-साठी modding एक दिशा दाखवणारा apk_manager \ मध्ये विश्लेषित केले जाईल ती फाइल हलविण्यासाठी आवश्यक आहे. यानंतर आपण Script.bat असावा. नाही समस्या आहे, तर कन्सोल, हिरव्या अक्षरे असेल प्रारंभ करा. "डीकंपाइल" - बिंदू संख्या नऊ निवडा. प्रक्रिया सुरू आहे एकदा, तो कन्सोल बंद करणे आवश्यक आहे. मग, archiver आणि अर्क तो classes.dex पासून वापरून खुल्या व्याजदराच्या apk-फाइल कार्यक्रम dex2jar प्रक्रिया करणे. आम्हाला आवश्यक परिणाम तो विस्तार .bat एक ऑब्जेक्ट हलविण्यासाठी आवश्यक आहे. आपण फाइल, .jar मध्ये समाप्त होईल जे दिसेल. आतापर्यंत, विंडो बंद नाही.
आम्ही डेटा विश्लेषण
अनुप्रयोग माहिती प्राप्त करण्यासाठी, आपण ते रहस्य उघडणे आवश्यक आहे. त्यानुसार, आम्ही मुख्य क्रियाकलाप म्हणून काम निर्धारित. आता आम्हाला महान महत्त्व प्रस्तुत कोण ती होती. कार्यक्रम तळाशी पाहणे घेणे हितावह आहे. तळाशी परवाना व्यवस्थापक माहिती आहे, तर तो उलट अभियांत्रिकी अमलात आणणे लक्षणीय कठीण आहे. आपण जनता GUI आणि झाड विस्तृत स्विच केल्यास, आम्ही अनेक नेमस्पेसेस पाहू शकता. गृहित धरू की त्यांना तीन. प्रथम जाहिरात संबद्ध फायली असतात. दुसऱ्या परवाना व्यवस्थापक वर्ग होईल. तिसऱ्या, आम्ही आवश्यक माहिती. आम्ही जाता, तेव्हा ती आहे. शोधू आणि की, आणि नंतर काम आवृत्ती परवाना किंवा नाही हे तपासण्यासाठी ओळी उर्वरित काढण्यासाठी तेथे आवश्यक आहे. या सर्व साफ करणे आवश्यक आहे. मग आमच्या Apk व्यवस्थापक मध्ये स्थान निर्दिष्ट जेथे bytecode जागा शोधत. आता एक लहान विषयांतर करा आणि संघ संभाव्य समस्या होऊ शकते जे बाहेर टिप्पणी द्या. त्यानंतर, आम्ही फक्त कार्यक्रम संकलित करावे लागते.
अनुप्रयोग तयार करा
हे आम्हाला सर्व समान Apk व्यवस्थापक मदत करेल. कन्सोल, आम्ही लॉक नाही मध्ये, आयटम №14 निवडा. पुढील युक्ती. अर्ज ऐवजी क्लिष्ट आहे, तर आपण सुरू असताना, तो अंशतः किंवा पूर्णपणे त्याची कार्यक्षमता गमवाल. काळजी करू नका, आम्ही जाण्यासाठी कुठेतरी फक्त अर्धवट आहेत आणि याचा अर्थ असा की नका. आम्ही उलट-अभियांत्रिकी-सर्व Android अनुप्रयोग अमलात आणणे सुरू केले आहे. एका विशिष्ट बाबतीत काय, सांगा, सामान्य दृष्टीने, विरामचिन्हे, अशक्य आहे. त्यामुळे समस्या भागात त्यांच्या स्वत: च्या लागेल पाहा. उदाहरणार्थ, खिडकी अवरोधित असेल तर पॉप-अप विंडो, आपण कोड पाहू आणि या संवाद जबाबदार आहे, भाग काढू नये. या मदत करण्यासाठी जनता GUI करू शकता. तुम्ही बघू शकता, उलट अभियांत्रिकी सोपा व्यवसाय नाही आहे, आणि तो ज्ञान सिंहाचा स्टोअर आवश्यक आहे. सर्वकाही कोणत्याही समस्या न चालवा आहे, तरीही अनुप्रयोग कामगिरी चाचणी आवश्यक असेल. आहे, उलट-अभियांत्रिकी अधिक वेळ घेणारे क्रियाकलाप आहे. आम्ही सर्व समस्या ओळखले जातात होईपर्यंत कार्य सुरू आहे.
सुरक्षा
काय संरक्षण उलट अभियांत्रिकी पासून सर्व Android अर्ज करणे आवश्यक असेल तर? विशिष्ट कार्यक्रम वापर किंवा एक कोड रचनेच्या निर्माण लिहिले पार्सिंग करण्यासाठी हस्तक्षेप होईल की: या प्रकरणात, दोन पर्याय आहेत. दुसरा पर्याय योग्य फक्त अनुभव व्यावसायिक आहे, त्यामुळे आम्ही संरक्षण फक्त प्रथम पद्धत विचार करेल. एक विशेष सॉफ्टवेअर वापर ProGuard म्हणून. हा अनुप्रयोग जे कमी करण्यासाठी, गोंधळ आणि कोड ऑप्टिमायझेशन वापरले जाते. तो कार्यक्रम "पाठलाग" तर, आम्ही विस्तारासह फाईल * तो होता पेक्षा .apk लहान करा. अशा परिस्थितीत तो वेगळे करणे खूप कठीण होईल. आणि या कार्यक्रमाचा लाभ अगदी r9 अपडेट बिल्ड Android अनुप्रयोग मध्ये प्रस्तुत केले आहे. त्यामुळे निर्मिती आणि विकास मानक साधने आहे की कोणत्याही विकासक आहे फायदा घ्या.
निष्कर्ष
आम्ही उलट-अभियांत्रिकी एकसारखेपणाने चांगला आहे किंवा वाईट काहीतरी म्हणून प्रतिनिधित्व केले जाऊ शकते म्हणू शकत नाही. अर्थात, अर्ज तयार करणारे विकासक, या दृष्टिकोनातून, तो आनंदी घटना आहे. पण दुसरीकडे, अनेक प्रकरणांमध्ये आवश्यक अशा फाइल्स लेखन अशा उपकरणांचा उपयोग पेक्षा कमी खर्चिक एक वेळ असू शकते प्रोग्रामर अनुभव. काहीतरी कसे लागू अगदी अनुकरणीय नाही कल्पना आहे तर, आणि जोरदार स्पष्ट बाह्यरेखा हे लक्ष्य गाठले सह मदत करू शकत नाही अननुभवी विकसकांसाठी उलट-अभियांत्रिकी एक चांगली सेवा देऊ शकतात तरी.