[IDA Pro] 사용법 정리

2024. 7. 21. 14:20·Hacking/Reversing
728x90
반응형

IDA란?

디스어셈블러의 일종으로 바이너리 파일(exe)를 어셈블리 파일로 바꾸어주는 툴

편하게 쓰려고 기본으로 설정해두는 화면

ida 사용하면서 자주 쓰는 기능 & 유용한 기능들에 대해서 설명해보려고 함!

현재 버전은 IDA 8.3

Pseudo Code & Assembly

Graph view

Graph view -> text view

둘 다 어셈블리어를 보여주는 view

space로 view 버전을 바꿔줄 수 있음

 

Pseudo Code

Pseudo code

assembly view에서 pseudo code로 보고싶다면 

tap으로 볼 수 있음

 

Synchronize

Assembly와 Pseudo Code가 각각 어떤 부분을 가리키는지 눈으로 스페이스와 탭을 번갈아가며 확인하기는 쉽지 않아서 synchronize를 해서 보면 Pseudo code가 해당 부분에 어떤 어셈블리와 대응되는지 볼 수 있다

우클릭 → Synchronize with → 연결하고 싶은 view와 연결

해당 pseudo code가 어떤 assembly code와 대응되는지 하이라이트로 볼 수 있음

 

Imports

Imports

어떤 dll을 사용하는지

어떤 API를 사용하는지 확인할 수 있음

문자열 찾기

Alt + B로 원하는 문자열을 찾을 수 있음

 

Alt + B

쉽게 원하는 함수를 찾을 수 있음

ex) 원하는 시그니처 검색 / print문에 문자열 검색 등으로 원하는 함수를 찾을 수 있음

함수 및 변수

이름 변경 (N)

N

변경하고 싶은 함수 및 변수를 검색하여 N을 누르면 함수 및 변수 이름을 변경할 수 있는 창이 뜬다

타입 변경 (T)

T

변경하고 싶음 함수 및 변수에 T를 눌러 타입을 변경함

 

Hex 값 보기 

Options → General에 들어가면 뜨는 화면

여기에서 Number of opcode bytes 를 설정해주면 그만큼 hex 코드가 주소값 옆에 뜨게 된

구조체 만들기

디스어셈블러인 만큼, 배열 등으로 표현된 자료형을 구조체로 바꿔서 보면 더 편하게 볼 수 있음 

ex) 파일을 파싱해서 저장하는 배열

 

Structures 우클릭 → Add Struct type

구조체

구조체 필드 추가 (d)

우클릭 → array 해서 내가 만들고 싶은 구조체의 크기만큼 Array size를 설정

bmp 구조체 설정

합치기 (D) : 1바이트씩을 합쳐서 해당 필드에 맞는 자료형을 만들어준다

이름 변경 (N) : 변수 및 함수 이름 변경과 같음

728x90
반응형

'Hacking > Reversing' 카테고리의 다른 글

UPX packing & unpacking  (2) 2024.10.10
'Hacking/Reversing' 카테고리의 다른 글
  • UPX packing & unpacking
min_zu
min_zu
  • min_zu
    민주제도
    min_zu
  • 전체
    오늘
    어제
    • ._. (176)
      • AI (2)
        • DeepLearning (2)
        • CS231n (0)
      • Web (2)
        • ReactJS (0)
      • CS (83)
        • OS (7)
        • Data Structure (23)
        • Computer Architecture (8)
        • Computer Network (20)
        • Algorithm (25)
      • Linux (3)
        • KaliLinux (0)
        • Docker (1)
      • Hacking (83)
        • Write Up (25)
        • Pwnable (13)
        • Reversing (2)
        • Cryptography (12)
        • Web Hacking (4)
        • Window (6)
        • Network (7)
        • Web3 (13)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Graph
    Search
    OS
    Web
    DeepLearning
    UTM
    ComputerArchitecture
    Linux
    Tree
    Sort
    WinAFL
    AI
    DataStructure
    Mac
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
min_zu
[IDA Pro] 사용법 정리
상단으로

티스토리툴바