#1 리버싱이란?

2022. 7. 1. 01:51·보안/리버싱

dreamhack ReversingCource #1

프로그램: 컴퓨터가 실행해야 할 명령어의 집합. 바이너리라고도 불린다.

기본 코드

전처리: 소스코드가 컴파일에 필요한 형식으로 가공되는 과정이다.

  • 주석 제거, 매크로 치환, 파일 병합의 과정을 거침.
  • -E 옵션을 사용하여 소스 코드의 전처리 결과를 확인 가능.

opt.c를 전처리한 결과 -> opt.i

 

컴파일: 소스 코드를 어셈블리어로 번역하는 과정이다.

  • -S 옵션을 이용하여 소스코드를 어셈블리 코드로 컴파일 가능

opt.c를 컴파일

 

어셈블: 어셈블리 코드를 기계어로 번역하고, 실행 가능한 형식으로 변환하는 과정

  • 컴파일로 생성된 어셈블리어 코드를 ELF 형식의 목적파일로 변환.
  • -c 옵션을 통해 opt.S를 목적파일로 변환.
  • file 명령어 통해 파일 형식을 확인
  • 해당 결과를 hexdump 통해 16진수로 출력


링크: 여러 개의 목적 파일을 하나로 묶고, 필요한 라이브러리와 연결해주는 과정

  • 링크는 함수가 잘 실행될 수 있도록 라이브러리와 함수를 연결해주는 것.
  • 링크를 거치고 나면 실행할 수 있는 프로그램이 완성됨
  • 링크 과정에서 링커는 main()함수를 찾는데, opt 소스에는 main함수 없음. 에러 방지하기 위해 --unresolved-sumbols 옵션 추가.

 

디스어셈블: 바이너리를 어셈블리어로 번역하는 과정

  • objdump -d 파일명 -M intel 명령어 통해 디스어셈블된 결과 확인 가능

 

디컴파일: 바이너리를 고급 언어로 번역하는 과정

  • 고급언어로 바이너리를 번역하여 코드를 이해하기 쉽도록.
저작자표시 (새창열림)

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

reversing.kr - Easy ELF  (0) 2024.08.26
x64 assembly basic  (0) 2022.07.10
Dreamhack Quiz: x86 Assembly 2  (0) 2022.07.10
86 Assembly: Essential Part(1) quiz  (0) 2022.07.08
#2 동적분석과 정적분석  (0) 2022.07.01
'보안/리버싱' 카테고리의 다른 글
  • x64 assembly basic
  • Dreamhack Quiz: x86 Assembly 2
  • 86 Assembly: Essential Part(1) quiz
  • #2 동적분석과 정적분석
병뚜
병뚜
열정!
  • 병뚜
    열려라 뚜껑
    병뚜
  • 전체
    오늘
    어제
    • all (372)
      • 일상X사랑X돈 (0)
        • 보안이슈 (114)
        • 뜨거운감자 (9)
        • 맛집 (2)
        • 혼잣말 (16)
      • 보안 (87)
        • 웹·모바일 (46)
        • 인프라 (19)
        • 리버싱 (8)
        • Security-Gym (10)
        • 리뷰 (4)
      • 프로그래밍 (66)
        • python (14)
        • java (12)
        • js (40)
      • System (47)
        • OS (14)
        • 침투 (33)
      • Play (20)
        • wargame (20)
      • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정보보호
    리버싱초보
    리버싱
    공급망공격
    혼공단
    파이썬초보
    kisa
    jwt
    혼공학습단
    드림핵리버싱
    혼공
    정보보안교육
    윈도우인터널스
    혼자공부하는파이썬
    랜섬웨어
    뉴스요약
    자바스크립트 상속
    windows internals
    정보보안
    파이썬
    혼공파
    it이슈
    악성코드
    커널디버깅
    보안이슈
    IT뉴스
    파이썬공부
    프로세스
    파이썬입문
    보안뉴스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
병뚜
#1 리버싱이란?
상단으로

티스토리툴바