리버스엔지니어링(역공학)

리버스엔지니어링 1장 리버싱이란?

CodeHS 2019. 1. 17. 19:37

Reverse Engineering
역설계(逆設計) 역공학(逆工學)


특정한기능을 내는 프로그램이나 기계장치 만들어보고 싶은데 내부구조를 알 수 없을 때 직접 분해하여 내부구조를 확인하고 동일한 기능을 하도록 새로운 것을 만들어 내는 것이다.



관련법률


저작권법


제2조(정의) 이 법에서 사용하는 용어의 뜻은 다음과 같다. 

34. "프로그램코드역분석"은 독립적으로 창작된 컴퓨터프로그램저작물과 다른 컴퓨터프로그램과의 호환에 필요한 정보를 얻기 위하여 컴퓨터프로그램저작물코드를 복제 또는 변환하는 것을 말한다.


제101조의4(프로그램코드역분석) ① 정당한 권한에 의하여 프로그램을 이용하는 자 또는 그의 허락을 받은 자는 호환에 필요한 정보를 쉽게 얻을 수 없고 그 획득이 불가피한 경우에는 해당 프로그램의 호환에 필요한 부분에 한하여 프로그램의 저작재산권자의 허락을 받지 아니하고 프로그램코드역분석을 할 수 있다.

② 제1항에 따른 프로그램코드역분석을 통하여 얻은 정보는 다음 각 호의 어느 하나에 해당하는 경우에는 이를 이용할 수 없다.

1. 호환 목적 외의 다른 목적을 위하여 이용하거나 제3자에게 제공하는 경우

2. 프로그램코드역분석의 대상이 되는 프로그램과 표현이 실질적으로 유사한 프로그램을 개발·제작·판매하거나 그 밖에 프로그램의 저작권을 침해하는 행위에 이용하는 경우


제104조의2(기술적 보호조치의 무력화 금지) ① 누구든지 정당한 권한 없이 고의 또는 과실로 제2조제28호가목의 기술적 보호조치를 제거·변경하거나 우회하는 등의 방법으로 무력화하여서는 아니 된다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다.

6. 정당한 권한을 가지고 프로그램을 사용하는 자가 다른 프로그램과의 호환을 위하여 필요한 범위에서 프로그램코드역분석을 하는 경우


대한민국에서는 시스템역공학의 상업적이용에대해 엄격하게 금하고있으므로 온라인게임이나 프로그램의 크랙을 만들어서 유포하거나 제작하는 행위는 하지 않는게 좋다.