Obrnuti inženjering

Obrnuti inženjering (engl. reverse engineering) je postupak otkrivanja tehnoloških principa uređaja, predmeta ili sistema putem temeljnih analiza njegove konstrukcije, funkcije i načina rada.[1] Često podrazumeva razlaganje nečega: na primer, mehaničkog uređaja, elektronske komponente, softverskog programa, ili biološke, hemijske ili organske materije, i analiziranja pricipa rada, u cilju popravke, tekućeg održavanja ili stvaranja novog uređaja ili programa, koji vrši istu funkciju, ali ne i prosto kopiranje bez razumevanja originala.

Koreni obrnutog inženjeringa potiču iz analize opreme za komercijalnu ili vojnu primenu.[2] Cilj je da se dođe do zaključaka o konstruktivnim odlukama koje su dovele do nastanka gotovog proizvoda uz malo ili nimalo predznanja o postupcima koji su upotrebljeni u originalnom procesu konstruisanja i proizvodnje. Iste tehnike se istražuju radi primene u softverskim sistemima, ne kada su u pitanju industrijske ili vojne potrebe, već radi zamene netačne, nekompletne ili na drugi način nedostupne dokumentacije.[3] Osim toga, koncept obrnutog inženjeringa se koristi za modifikovanje ili izmenu gotovih dinamičkih .dll biblioteka u operativnim sistemima.

Reference

  1. Eilam, Eldad & Chikofsky, Elliot J. (2007). Reversing: secrets of reverse engineering. John Wiley & Sons. str. 3-. ISBN 9780764574818. 
  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. 
  3. A Survey of Reverse Engineering and Program Comprehension. Michael L. Nelson, April 19, 1996, ODU CS 551 – Software Engineering Survey.

Literatura

  • Yurichev, Dennis, "An Introduction To Reverse Engineering for Beginners". Online book
  • Eilam, Eldad (2005). Reversing: Secrets of Reverse Engineering. Wiley Publishing. str. 595. ISBN 0-7645-7481-7. 
  • James, Dick (January 19, 2006). „Reverse Engineering Delivers Product Knowledge; Aids Technology Spread”. Electronic Design. Penton Media, Inc. Arhivirano iz originala na datum 2009-06-19. Pristupljeno 2009-02-03. 
  • Raja, Vinesh; Fernandes, Kiran J. (2008). Reverse Engineering – An Industrial Perspective. Springer Science+Business Media. str. 242. ISBN 978-1-84628-855-5. 
  • Thumm, Mike (2007). „Talking Tactics”. IEEE 2007 Custom Integrated Circuits Conference (CICC). IEEE, Inc. Arhivirano iz originala na datum 2009-03-19. Pristupljeno 2009-02-03. 
  • Cipresso, Teodoro (2009). „Software Reverse Engineering Education”. SJSU Master's Thesis. ProQuest UML. Pristupljeno 2009-08-22. 
  • Schulman et al., Andrew (1994). Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures, 2nd ed.. Addison Wesley. ISBN 0-201-63287-X.  (str. 229–241 on general methodology of reverse engineering, applied to mass-market software: a program for exploring DOS, disassembling DOS)
  • Schulman et al., Andrew (1992). Undocumented Windows: A Programmer's Guide to Reserved Microsoft Windows API Functions. Addison Wesley. ISBN 0-201-60834-0.  (str. 59–188 on general methodology of reverse engineering, applied to mass-market software: examining Windows executables, disassembling Windows, tools for exploring Windows)
  • Messler, Robert (2013). Reverse Engineering: Mechanisms, Structures, Systems & Materials. McGraw Hill. ISBN 978-0071825160.  (introduction to hardware teardowns, including methodology, goals)
  • Huang, Andrew "bunnie" (2003). Hacking the Xbox: An Introduction to Reverse Engineering. No Starch Press. ISBN 978-1593270292. 
  • Pamela Samuelson and Suzanne Scotchmer, "The Law and Economics of Reverse Engineering," 111 Yale L.J. 1575 (2002).
  • Andrew Schulman, “Hiding in Plain Sight: Using Reverse Engineering to Uncover Software Patent Infringement," Intellectual Property Today, Nov. 2010.
  • Andrew Schulman, “Open to Inspection: Using Reverse Engineering to Uncover Software Prior Art,” New Matter (Calif. State Bar IP Section), Summer 2011 (Part 1); Fall 2011 (Part 2).
  • Henry Heines, "Determining Infringement by X-Ray Diffraction," Chemical Engineering Process, Jan. 1999 (example of reverse engineering used to detect IP infringement)
  • Julia Elvidge, "Using Reverse Engineering to Discover Patent Infringement," Chipworks, Sept. 2010.

Vanjske veze

Obrnuti inženjering na Wikimedijinoj ostavi
  • What Is Reverse Engineering Arhivirano 2013-05-07 na Wayback Machine-u
  • An Open Source Reverse Engineering tool for Linux
  • An Open Source Reverse Engineering tools and ideas for Linux
  • Java Call Trace to UML Sequence Diagram A reverse engineering tool for Java. This tool helps one to reverse engineer UML Sequence Diagram for their Java program at runtime. It works well with both complex Java programs (that have multiple threads) and J2EE applications deployed on Application Servers.
  • CASE Tools for Reverse Code Engineering Arhivirano 2014-09-13 na Wayback Machine-u
  • Additional tutorials, bibliographies and related sites for reverse engineering of available source code.
  • Anti-Reverse Engineering Guide
  • OWASP Reverse Engineering and Code Modification Prevention Project