본문 바로가기
Security/Reversing

[Dreamhack Reverse Engineering] STAGE 1

by 단월໒꒱ 2022. 4. 28.

[소개]

1. 리버스 엔지니어링

 1) 리버스 엔지니어링

   - 엔지니어링 : 완성품과 이를 구성하는 부품들의 기능과 설계를 고안하고 제작하는 과정

   - 리버스 엔지니어링 : 엔지니어링 과정을 거꾸로 하는 행위

   - 완성된 제품을 해체하고 분석하여 구조와 기능, 디자인을 파악

   - 리버스 엔지니어링 or 리버싱이라고 함

 

 

 

 2) 리버싱의 분야

   - 약의 성분을 분석하는 것

   - 자동차의 주행 원리를 이해하는 것

   - 전자 제품의 회로를 분석하는 것

   - 등등...이 있지만 여기서 다룰 것은 소프트웨어를 대상으로 한 리버싱

 

 

2. 리버싱의 용도

 1) 좋은 사례

   - 판매된 지 너무 오래되어 제작사가 이미 개발을 중단한 프로그램에 대한 패치가 필요할 때 매우 효과적

   - 각종 프로그램의 보안성 평가 (얼마나 안전하게 설계되었는지 알아낼 수 있음)

   - 악성코드 분석 (악성코드가 어떤 방식으로 동작하고 시스템에 피해를 입히는지 알아낼 수 있음)

 

 2) 안 좋은 사례

   - 키젠 프로그램, 시리얼 넘버 생성기, 크랙 등 불법 프로그램 제작 (유료 제품이 어떤 식으로 정품 인증을 하는지 알아낼 수 있음)

   - 게임핵 제작

 

⚠️ Disclaimer

 - 리버싱은 학습 및 연구용으로 많이 이용되는 기술일 뿐만 아니라, 각종 악성코드나 불법 프로그램의 분석 및 대응을 위해서도 사용됨

 - 그러나, 프로그램의 전체적인 작동 원리를 알아낼 수 있으므로, 상용 프로그램의 지적 재산권을 침해할 위험성이 존재

 - 테스팅이나 연구, 학습 등을 목적으로 한 리버싱의 경우 저작권을 침해하지 않는 한에서 제한적으로 허용됨

 - 그러나, 임의로 패치한 프로그램을 배포하는 등의 행위는 저작권을 침해하여 법적인 문제로 이어질 수 있음

 - 위의 사항들 유의 바람.

 

 

 

댓글