본문 바로가기
보안/리버싱

[리버싱] 01 리버싱이란

by Nobb 2024. 1. 28.

리버스 엔지니어링 Reverse Engineering

 : 역공학. 어느 특정 물건, 장치 --> 그의 구조,기능,동작 등을 역으로 따라가며 분석하는 작업

                                                  -->> 원리 이해, 부족한 부분 보완

 

    --예) 약 성분 분석, 자동차 주행원리 이해, 전자제품 회로 분석

             (그 중 소프트웨어 대상으로 한 리버싱 다룰거임)

 

엔지니어링 vs 리버스 엔지니어링

> 반대과정

 

 - 엔지니어링

    : 완성품, 구성부품들의 기능, 설계를   고안,제작하는 과정

 

 - 리버스 엔지니어링 (= 리버싱)

    : 완성된 제품 해체,분석하여  구조,기능,디자인 파악하는 과정

        -예) 자동차 주행원리 이해, 전자제품 회로 분석, 게임 핵 만들기

 

리버싱의 용도

 

 -좋은 케이스) 오래되어 이미 개발 중단한 프로그램에 대한 패치 필요할때

 -나쁜 케이스) 상용프로그램 무료로 이용하기 위해 쓰는 불법 프로그램 만들때(크랙,시리얼넘버생성기 등)

 

 -보편적 케이스) 학습,연구용 ,  각종 악성코드, 불법프로그램  분석,대응용

 

리버싱 업무의 어려움

 

 : 수 만, 수 억 줄의 코드 프로그램에서 분석할 부분 찾아야함

     > 안티리버싱 기술 우회 필요

     > 수학적 지식, 필요한 도구 직접 개발 필요할 때도 있음

 

 

내용 출처:

https://dreamhack.io/lecture/roadmaps/4

'보안 > 리버싱' 카테고리의 다른 글

[리버싱] 스택 프레임  (0) 2024.02.04
[리버싱] 레지스터  (0) 2024.02.04
[리버싱] 스택  (0) 2024.02.04
[리버싱] 03 소프트웨어 분석 기법  (0) 2024.01.28
[리버싱] 02 Binary 와 컴파일 과정 이해  (0) 2024.01.28