2009-02-15 18 views
19

मैं खुद से पूछता हूं जहां रिवर्स इंजीनियरिंग का उपयोग किया जाता है। मुझे इसे सीखने में दिलचस्पी है। लेकिन मुझे नहीं पता कि मैं इसे अपने सीवी पर रख सकता हूं या नहीं।रिवर्स इंजीनियरिंग कहां उपयोग किया जाता है?

मैं नहीं चाहता कि मेरा नया प्रमुख सोचें कि मैं एक बुरा हैकर या कुछ हूं। :)

  • तो क्या यह इसके लायक है?
  • क्या मुझे इसे सीखना चाहिए या अपना प्रयास कहीं और करना चाहिए?
  • क्या वहां कोई अच्छी किताब या ट्यूटोरियल है? :)

उत्तर

18

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

रिवर्स इंजीनियरिंग का एक और सार्वजनिक उपयोग गूढ़ रहस्य प्रोटोकॉल है Gimp, OpenOffice, इंकस्केप, आदि द्वारा समर्थित विभिन्न स्वरूपों होगा। अच्छे उदाहरणों में Samba, DAAP कई गैर-आईट्यून अनुप्रयोगों में समर्थन, क्रॉस प्लेटफ़ॉर्म आईएम क्लाइंट जैसे Pidgin इत्यादि। प्रोटोकॉल रिवर्स इंजीनियरिंग के लिए, व्यापार के सामान्य औजारों में Wireshark और libpcap शामिल हैं।

कोई संदेह नहीं है कि रिवर्स इंजीनियरिंग अक्सर सॉफ़्टवेयर क्रैकिंग से जुड़ा होता है, जो मुख्य रूप से प्रोग्राम डिस्सेप्लर को समझता है। मैं यह नहीं कह सकता कि मैंने कभी भी को शुद्ध जिज्ञासा के अलावा किसी अन्य प्रोग्राम को अलग करने के लिए की आवश्यकता है या ऐसा कुछ करने के लिए नहीं किया है। इंजीनियरिंग कार्यक्रमों को रिवर्स करने के लिए एक प्लस पक्ष यह है कि इसकी कोई समझ करने के लिए, आपको असेंबली प्रोग्रामिंग सीखना होगा। हालांकि, Crackmes का उपयोग करके, अपने डिस्सेप्लर कौशल को बढ़ाने के कानूनी तरीके हैं। एक महत्वपूर्ण बात यह है कि जब आप अपने अनुप्रयोगों में सुरक्षा उपायों का विकास कर रहे हैं, या यदि आप उस व्यवसाय में हैं, तो को की आवश्यकता है ताकि यह पता चल सके कि रिवर्स इंजीनियरों एक कदम आगे रहने की कोशिश करने के लिए कैसे काम करते हैं।

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

8

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

+0

हाँ, रिवर्स इंजीनियरिंग (और निम्न स्तर या वास्तुकला त्रुटियों 'undocumented सुविधाओं') कोड पर खोज कमजोरियों के लिए इस्तेमाल किया जा सकता है। यह परियोजना इस समस्या के बारे में है (लेकिन रूसी लैंग के साथ।): Http://demono.ru –

7

रिवर्स इंजीनियरिंग आमतौर पर ऐसा कुछ होता है जो आपको करना है, क्योंकि आप नहीं चाहते हैं। उदाहरण के लिए, एक उत्पाद को रिवर्स इंजीनियरिंग के साथ कानूनी समस्याएं हैं! लेकिन आवश्यक मामले हैं - जहां (उदाहरण के लिए) आपूर्तिकर्ता चला गया है और अब मौजूद नहीं है या संपर्क करने योग्य नहीं है। एक अच्छा उदाहरण डब्लूएमडी संपादक होगा जिसे आपने अपना प्रश्न टाइप किया था। कुछ बग फिक्स लागू करने के लिए एसओ टीम/समुदाय had to reverse engineer this from obfuscated source

2

जब भी दस्तावेज़ खो जाता है या यह कभी अस्तित्व में नहीं होता है, तो रिवर्स इंजीनियरिंग की आवश्यकता होती है। स्रोत होने में मदद करता है, लेकिन आपको अभी भी मूल तर्क, प्रवाह नियंत्रण और इसके बाहर बग इंजीनियर करना होगा।

1

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

3

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

मुझे अपने सीवी पर ऐसी परियोजनाएं होने पर कोई फर्क नहीं पड़ता। वास्तव में, मेरा मानना ​​है कि मैंने प्रक्रिया के दौरान बहुत कुछ सीखा है।

1

पुराने कोड का सामना करने के लिए यह बहुत आम है (मेरे अनुभव में) जो दोष है, बदलती आवश्यकताओं या दोनों के कारण पुराना हो गया है। अक्सर यह मामला है कि अपर्याप्त दस्तावेज है, और मूल डेवलपर अब उपलब्ध नहीं हैं। इंजीनियरिंग को रिवर्स करें कि यह समझने के लिए कोड कैसे काम करता है (और कभी-कभी मरम्मत या प्रतिस्थापन निर्णय लेने के लिए) एक महत्वपूर्ण कौशल है।

यदि आपके पास स्रोत है, तो अक्सर सफाई, एक सावधानीपूर्वक योजनाबद्ध, सख्ती से सफाई की मात्रा को साफ करना उचित होता है। (मैं जोर से संकेत दे रहा हूं कि इसे मूल्यवान डेवलपर समय के लिए सिंकहोल बनने की अनुमति नहीं दी जा सकती है!)

यह भी जांचने में बहुत मददगार है कि यह टेस्टबेड में कोड का प्रयोग करने में सक्षम हो, या तो यह सत्यापित करने के लिए कि यह क्या करता है उम्मीद की गई थी या पहचान, दस्तावेज़, अलग, और दोषों की मरम्मत।

ऐसा करने के लिए सुरक्षित रूप से सावधानीपूर्वक काम की आवश्यकता है। परीक्षण के तहत इस तरह के कोड प्राप्त करने में अपने व्यावहारिक मार्गदर्शन के लिए मैं माइकल फेदर्स की पुस्तक Working with Legacy Code की अत्यधिक अनुशंसा करता हूं।

0

आरसीई सुरक्षा लोगों (अनुसंधान, शोषण, आईडीएस, आईपीएस, एवी इत्यादि) के लिए बहुत अच्छा कौशल है, लेकिन यह भी साबित करता है कि इस विषय की गहरी और निम्न स्तर की समझ है।

तृतीय पक्ष पुस्तकालयों के साथ काम करते समय भी अपना रास्ता आसान तरीके से ढूंढना।

यदि आप सुरक्षा उद्योग में काम नहीं कर रहे हैं, तो यदि आप एएसएम में अच्छे नहीं हैं तो इसे सीखने के लिए परेशान न करें, आम तौर पर सीखना मुश्किल होता है।

पुस्तकें

Hacking the art of exploitation देखने की सुरक्षा की दृष्टि से विषय के बारे में बात करती है।

इसके अलावा, आप OllyDbg और आईडीए के बारे में पुस्तकों को पढ़ने के लिए चाहते हो सकता प्रो

संबंधित मुद्दे