റിവേഴ്സ്‌ എഞ്ചിനീയറിംഗ്‌

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.

ഒരു ഉപകരണത്തിന്റെയോ, വസ്തുവിന്റെയോ പ്രകൃതവും, പ്രവർത്തനവും ശ്രദ്ധയോടെ പഠിച്ച്‌ അതിന്റെ പിന്നിലുള്ള സാങ്കേതിക സംവിധാനങ്ങൾ മനസ്സിലാക്കിയെടുക്കുന്ന പ്രവൃത്തിയാണ്‌ റിവേഴ്സ്‌ എഞ്ചിനീയറിംഗ്‌. പൊതുവേ ആ വസ്തുവിന്റെയോ ഉപകരണത്തിന്റെയോ പകരം വെയ്കാവുന്ന മറ്റൊരെണ്ണം, യഥാർത്ഥ ഉപകരണത്തിന്റെ ഒന്നും തന്നെ പകർത്താതെ ഉണ്ടാക്കിയെടുക്കുക എന്ന ലക്ഷ്യത്തിന്റെ ഭാഗമായണ്‌ റിവേഴ്സ്‌ എഞ്ചിനീയറിംഗ്‌ നടക്കാറുള്ളത്‌. ഇതു ചെയ്യുന്ന വ്യക്തിയെ റിവേഴ്സ്‌ എഞ്ചിനീയർ എന്ന് വിളിക്കും.[1][2]

റിവേഴ്സ്‌ എഞ്ചിനീയറിംഗ്‌ തികച്ചുമൊരു ശാസ്ത്രീയരീതിയാണ്‌ കരുതപ്പെടുന്നത്‌, എന്തുകൊണ്ടെന്നാൽ മറ്റു ശാസ്ത്രശാഖകളായ ജീവശാസ്ത്രവും, ഭൗതികശാസ്ത്രവും പ്രകൃതിയിലുള്ള ജൈവ/ഭൗതിക വസ്തുക്കളെയും അവയുടെ പ്രവർത്തനത്തേയും പഠിച്ചും,വിശകലനം ചെയ്തുമാണല്ലോ മുന്നേറുന്നത്‌. അവയുടെ പ്രവർത്തനങ്ങളും ഒരു തരത്തിൽ പറഞ്ഞാൽ 'റിവേഴ്സ്‌ എഞ്ചിനീയറിംഗ്‌' ആണ്‌.

അമേരിക്കൻ ഐക്യനാടുകളിലെ പേറ്റന്റ്‌ നിയമമനുസരിച്ച്‌, പേറ്റന്റ്‌ നേടിയ ഒരു വസ്തുവിനെ റിവേഴ്സ്‌ എഞ്ചിനീയറിംഗ് ചെയ്യുന്നത്‌ നിയമ ലംഘനമായാണ്‌ കണക്കാക്കുന്നത്‌. പക്ഷേ പേറ്റന്റില്ലാതെ കേവലം നിർമ്മാണ രഹസ്യങ്ങൾ മാത്രം ഉള്ള വസ്തുക്കളുടെ റിവേഴ്സ്‌ എഞ്ചിനീയറിങ്ങിന്‌ നിയമ തടസ്സമൊന്നുമില്ലതന്നെ. കംപ്യൂട്ടർ എഞ്ചിനീയറിംഗ്, മെക്കാനിക്കൽ എൻജിനീയറിങ്ങ്, ഡിസൈൻ, ഇലക്ട്രോണിക് എഞ്ചിനീയറിംഗ്, സോഫ്റ്റ്‌വെയർ എഞ്ചിനീയറിങ്, കെമിക്കൽ എഞ്ചിനീയറിംഗ്,[3] സിസ്റ്റം ബയോളജി എന്നീ മേഖലകളിൽ റിവേഴ്സ് എഞ്ചിനീയറിംഗ് ബാധകമാണ്.[4]

അവലോകനം[തിരുത്തുക]

വിവിധ മേഖലകളിൽ റിവേഴ്സ് എഞ്ചിനീയറിംഗ് നടത്തുന്നതിന് നിരവധി കാരണങ്ങളുണ്ട്. വാണിജ്യപരമോ സൈനികമോ ആയ നേട്ടങ്ങൾക്കായി ഹാർഡ്‌വെയറിന്റെ വിശകലനം ചെയ്യുന്നതിൽ നിന്നാണ് റിവേഴ്‌സ് എഞ്ചിനീയറിംഗിന്റെ ഉത്ഭവം.[5]:13എന്നിരുന്നാലും, റിവേഴ്സ് എഞ്ചിനീയറിംഗ് പ്രക്രിയ എല്ലായ്പ്പോഴും ഒരു പകർപ്പ് സൃഷ്ടിക്കുന്നതിനോ അല്ലെങ്കിൽ ഏതെങ്കിലും വിധത്തിൽ ആർട്ടിഫാക്റ്റ് മാറ്റുന്നതിനോ ആയിരിക്കണമെന്നില്ല. ഉൽപന്നങ്ങളുടെ യഥാർത്ഥ ഉൽപ്പാദനത്തിൽ ഉൾപ്പെട്ടിരിക്കുന്ന നടപടിക്രമങ്ങളെക്കുറിച്ച് അധിക അറിവോ ഇല്ലാത്ത ഉൽപ്പന്നങ്ങളിൽ നിന്ന് ഡിസൈൻ ഫീച്ചറുകൾ ഊഹിക്കുന്നതിനുള്ള ഒരു വിശകലനത്തിന്റെ ഭാഗമായി ഇത് ഉപയോഗിച്ചേക്കാം.[5]:15

ചില സന്ദർഭങ്ങളിൽ, റിവേഴ്‌സ് എഞ്ചിനീയറിംഗ് പ്രക്രിയയുടെ ലക്ഷ്യം ലെഗസി സിസ്റ്റങ്ങളുടെ പുനർനിർമ്മാണമാണ്.[5]:15[6] റിവേഴ്‌സ് എഞ്ചിനീയറിംഗ് ഉൽപ്പന്നം ഒരു എതിരാളിയുടേതാണെങ്കിലും, ലക്ഷ്യം അത് പകർത്തുക എന്നതല്ല, മറിച്ച് എതിരാളിയെക്കുറിച്ച് വിശകലനം നടത്തുക എന്നതാണ്.[7] ഇന്റർഓപ്പറബിൾ ഉൽപ്പന്നങ്ങൾ സൃഷ്ടിക്കുന്നതിനും റിവേഴ്സ് എഞ്ചിനീയറിംഗ് ഉപയോഗിച്ചേക്കാം, യുണൈറ്റഡ് സ്റ്റേറ്റ്സ്, യൂറോപ്യൻ യൂണിയൻ നിയമനിർമ്മാണങ്ങൾ ഉണ്ടായിരുന്നിട്ടും, ആ ആവശ്യത്തിനായി പ്രത്യേക റിവേഴ്സ് എഞ്ചിനീയറിംഗ് ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നതിന്റെ നിയമസാധുത രണ്ട് പതിറ്റാണ്ടിലേറെയായി ലോകമെമ്പാടുമുള്ള കോടതികളിൽ ശക്തമായി തർക്കിക്കപ്പെടുന്നു.[8]

സോഫ്‌റ്റ്‌വെയർ റിവേഴ്‌സ് എഞ്ചിനീയറിംഗിന് സോഫ്‌റ്റ്‌വെയറിന്റെ പരിപാലനത്തിനും മെച്ചപ്പെടുത്തലിനും അടിസ്ഥാനമായ സോഴ്‌സ് കോഡിന്റെ ധാരണ മെച്ചപ്പെടുത്താൻ സഹായിക്കും, സോഫ്‌റ്റ്‌വെയർ വികസനത്തിനായി തീരുമാനമെടുക്കുന്നതിന് പ്രസക്തമായ വിവരങ്ങൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാനും കോഡിന്റെ ഗ്രാഫിക്കൽ പ്രാതിനിധ്യം സോഴ്‌സ് കോഡിനെ സംബന്ധിച്ച് ഇതര കാഴ്ചകൾ നൽകാനും കഴിയും. ഒരു സോഫ്റ്റ്‌വെയർ ബഗ്ഗ് അല്ലെങ്കിൽ വൾനറബിലിറ്റി കണ്ടെത്താനും പരിഹരിക്കാനും ഇത് സഹായിക്കും. പലപ്പോഴും, ചില സോഫ്‌റ്റ്‌വെയറുകൾ വികസിക്കുമ്പോൾ, അതിന്റെ ഡിസൈൻ വിവരങ്ങളും മെച്ചപ്പെടുത്തലുകളും കാലക്രമേണ നഷ്‌ടപ്പെടാറുണ്ട്, പക്ഷേ ആ നഷ്‌ടമായ വിവരങ്ങൾ സാധാരണയായി റിവേഴ്‌സ് എഞ്ചിനീയറിംഗ് ഉപയോഗിച്ച് വീണ്ടെടുക്കാനാകും. സോഴ്‌സ് കോഡ് മനസിലാക്കാൻ ആവശ്യമായ സമയം വെട്ടിക്കുറയ്ക്കാനും ഈ പ്രക്രിയ സഹായിക്കും, അങ്ങനെ സോഫ്‌റ്റ്‌വെയർ വികസനത്തിന്റെ മൊത്തത്തിലുള്ള ചിലവ് കുറയുന്നു.[9]മികച്ച കോഡ് ഡിറ്റക്ടറുകൾ ഉപയോഗിച്ച് സോഫ്റ്റ്‌വെയറിൽ എഴുതിയിരിക്കുന്ന മലിഷ്യസ് കോഡ് കണ്ടെത്താനും ഇല്ലാതാക്കാനും റിവേഴ്‌സ് എഞ്ചിനീയറിംഗ് സഹായിക്കും. സോഴ്‌സ് കോഡിന്റെ ഇതര ഉപയോഗങ്ങൾ കണ്ടെത്താൻ ഒരു സോഴ്‌സ് കോഡ് റിവേഴ്‌സ് ചെയ്യുന്നത് ഉപയോഗിക്കാം, അതായത് സോഴ്‌സ് കോഡിന്റെ അനധികൃത പകർപ്പ് കണ്ടെത്തുക, അല്ലെങ്കിൽ ഒരു എതിരാളിയുടെ ഉൽപ്പന്നം എങ്ങനെ നിർമ്മിച്ചുവെന്ന് വെളിപ്പെടുത്തുക.[10]ആ പ്രക്രിയ സാധാരണയായി "ക്രാക്കിംഗ്" സോഫ്‌റ്റ്‌വെയറിനും മീഡിയയ്ക്കും അവയുടെ പകർപ്പ് സംരക്ഷണം നീക്കംചെയ്യുന്നതിന് ഉപയോഗിക്കുന്നു[10]:7, അല്ലെങ്കിൽ മെച്ചപ്പെടുത്തിയ ഒരു പകർപ്പ് അല്ലെങ്കിൽ ഒരു നോക്കോഫ് പോലും സൃഷ്ടിക്കുന്നു, ഇത് സാധാരണയായി ഒരു എതിരാളിയുടെയോ ഹാക്കറുടെയോ ലക്ഷ്യമാണ്.[10]:8


അവലംബം[തിരുത്തുക]

  1. "What is Reverse-engineering? How Does It Work". SearchSoftwareQuality (in ഇംഗ്ലീഷ്). Retrieved 2022-07-27.
  2. "Reverse Engineering". ethics.csc.ncsu.edu. Retrieved 2022-07-27.
  3. Thayer, Ken. "How Does Reverse Engineering Work?". globalspec. IEEE Global Spec. Retrieved 26 February 2018.
  4. Villaverde, Alejandro F.; Banga, Julio R. (6 February 2014). "Reverse engineering and identification in systems biology: strategies, perspectives and challenges". Journal of the Royal Society Interface. 11 (91): 20130505. doi:10.1098/rsif.2013.0505. PMC 3869153. PMID 24307566.
  5. 5.0 5.1 5.2 Chikofsky, E.J. & Cross, J.H., II (1990). "Reverse Engineering and Design Recovery: A Taxonomy". IEEE Software. 7 (1): 13–17. doi:10.1109/52.43044. S2CID 16266661.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  6. A Survey of Reverse Engineering and Program Comprehension. Michael L. Nelson, April 19, 1996, ODU CS 551 – Software Engineering Survey.arΧiv:cs/0503068v1
  7. Vinesh Raja; Kiran J. Fernandes (2007). Reverse Engineering: An Industrial Perspective. Springer Science & Business Media. p. 3. ISBN 978-1-84628-856-2.
  8. Jonathan Band; Masanobu Katoh (2011). Interfaces on Trial 2.0. MIT Press. p. 136. ISBN 978-0-262-29446-1.
  9. Chikofsky, E. J.; Cross, J. H. (January 1990). "Reverse engineering and design recovery: A taxonomy" (PDF). IEEE Software. 7: 13–17. doi:10.1109/52.43044. S2CID 16266661. Archived from the original (PDF) on 2018-04-17. Retrieved 2012-07-02.
  10. 10.0 10.1 10.2 Eilam, Eldad (2005). Reversing: secrets of reverse engineering. John Wiley & Sons. ISBN 978-0-7645-7481-8.