[E-COPS] 팀 세션 7주차 - 리버싱

흑흑코더·2022년 11월 16일
0

E-COPS

목록 보기
9/17

리버싱(Reversing)이란?

= 역공학

물건이나 기계장치 혹은 시스템 등의 구조, 기능, 동작 등을 분석하여 그 원리를 이해

(저작권 침해 등의 행위는 법적 문제로 이어질 수 있으니 주의)

큰 구조 관찰 ⇒ 실행해 보며 동작 관찰

정적분석동적분석
파일의 겉모습 분석파일의 행위를 분석
디버깅을 통해 내부 구조와 동작 원리 분석
분석도구IDAx32/64 dbg

프로그램 컴파일 과정

전처리 : 주석 제거, 매크로 치환, 파일 병합

⇒ 컴파일 : 어셈블리어로 변역

⇒ 어셈블 : ELF형식의 오브젝트 파일로 변환 (윈도우는 PE형식)

⇒ 링크 : 여러 오브젝트 파일을 연결해 실행 가능한 바이너리로 변환

분석에 필요한 지식

  • 바이트 오더링 : 데이터를 메모리에 저장하는 방식
  • 레지스터 : CPU 내부에 존재하는 저장 공간
  • 스택 & 스택 프레임 : EBP레지스터를 사용해 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법
  • 함수 호출 규약 : 함수를 호출 할 때 파라미터를 어떤 식으로 전달하는가에 대한 일종의 약속
  • PE File Format : PE 헤더 (섹션을 가상 메모리의 적절한 세그멘트에 매핑할 때 참조) / PE 섹션 (유사한 용도로 사용되는 데이터 모여있음)
profile
공부합시다

0개의 댓글