맨위로가기

인터랙티브 디스어셈블러

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

인터랙티브 디스어셈블러는 다양한 운영 체제, 실행 파일 포맷, 프로세서, 컴파일러를 지원하는 소프트웨어로, 주로 리버스 엔지니어링 및 악성코드 분석에 사용된다. IDC 스크립트를 통한 기능 확장과 루비, 파이썬과 같은 스크립팅 언어 지원을 통해 사용자 정의 플러그인 개발을 가능하게 한다. 또한, 원격 디버깅, GDB 지원, Bochs 플러그인 등 다양한 디버깅 기능을 제공하여 동적 분석을 돕는다.

더 읽어볼만한 페이지

  • 역어셈블러 - OllyDbg
    OllyDbg는 32비트 디버거로, 리버스 엔지니어링, 소프트웨어 크래킹, 어셈블리 코드 편집, 프로그램 동작 확인, 악성코드 분석 등에 활용되며, 디스어셈블러 부분은 GNU GPL에 따라 자유 소프트웨어로 배포된다.
  • 역어셈블러 - 기드라
    기드라는 미국 국가안보국에서 개발하여 2019년 오픈 소스로 공개한 리버스 엔지니어링 도구로, 자바로 작성되었으며 다양한 운영체제를 지원하고 디스어셈블러, 디컴파일러, 디버깅 기능 등을 제공하여 악성코드 분석 등 다양한 분야에 활용된다.
  • 디버거 - Valgrind
    Valgrind는 동적 분석 도구들의 프레임워크로, 가상 머신 기반으로 작동하며 메모리 오류 감지, 멀티스레드 코드 분석 등 다양한 기능을 제공하지만, 정적 또는 스택 할당 데이터의 경계 오류는 모두 감지하지 못한다.
  • 디버거 - Eclipse (소프트웨어)
    이클립스는 IBM에서 개발한 자바 기반의 통합 개발 환경으로, OSGi 서비스 플랫폼을 런타임 아키텍처로 사용하며, 플러그인을 통해 기능을 확장할 수 있고, 이클립스 퍼블릭 라이선스를 따르며, 한국어를 지원한다.
인터랙티브 디스어셈블러 - [IT 관련 정보]에 관한 문서
기본 정보
IDA 로고
IDA 로고에 사용된 초상화
개발자Ilfak Guilfanov
출시일1991년 5월 21일
최신 버전8.4 SP2
최신 버전 출시일2024년 5월 27일
프로그래밍 언어C++
운영체제마이크로소프트 윈도우
OS X
리눅스
언어영어
러시아어
장르역어셈블러
라이선스사유
웹사이트IDA 공식 웹사이트

2. 스크립팅

IDA Pro는 스크립팅을 통해 기능을 확장하고 자동화할 수 있도록 지원한다. IDC 외에도 플러그인을 통해 루비, 파이썬 등 다양한 스크립트 언어를 사용할 수 있다.[1]

2. 1. IDC 스크립트

IDC는 인터랙티브 디스어셈블러의 기능을 확장할 수 있게 만들어 준다.[1] 사용자 스크립트 작성을 위한 기준으로 몇몇 도움이 되는 스크립트들이 제공된다.[1] 대부분의 빈번한 스크립트들은 생성된 코드의 추가적인 변경을 위해 사용된다.[1] 예를 들면 외부 기호 테이블(external symbol table)들은 원본 소스 코드의 함수 이름을 사용함으로써 로드될 수 있다.[1] IDA 스크립트와 발생한 문제들에 대한 지원을 위한 웹사이트가 있다.[1]

사용자들은 IDC에 추가하거나 대신할 수 있는 용도로 사용되는 다른 스크립트 언어들을 통해 플러그인들을 개발하였다.[1] https://github.com/spoonm/idarub IdaRUB루비를, https://web.archive.org/web/20150506023607/http://d-dome.net/idapython IDAPython파이썬을 지원한다.[1]

2. 2. 기타 스크립팅 언어 지원

IDA Pro는 플러그인을 통해 다양한 스크립팅 언어를 지원한다. 루비를 지원하는 IdaRUB[1]파이썬을 지원하는 IDAPython[2] 등이 있다.

3. 지원 환경

IDA Pro는 다양한 운영 체제, 실행 파일 포맷, 프로세서 및 컴파일러를 지원하여 폭넓은 환경에서 사용할 수 있다.[6]

지원 운영 체제, 실행 파일 포맷, 프로세서에 대한 자세한 내용은 각 하위 섹션을 참고하라.

IDA Pro에서 자동으로 라이브러리 함수를 인식하기 위해 지원하는 컴파일러/라이브러리는 다음과 같다.

컴파일러/라이브러리
도스/윈도우용 볼랜드 C++ 5.x
볼랜드 C++ 3.1
도스/윈도우용 볼랜드 C 빌더 v4
Cygwin용 GNU C++
비주얼 C++
마이크로소프트 QuickC
마이크로소프트 Visual C++
도스/OS2용 Watcom C++ (16/32 bit)
ARM C v1.2
유닉스용 GNU C++


3. 1. 지원 운영 체제

윈도우 x86와 ARM, 리눅스 x86, Mac OS X x86를 지원한다.[6]

3. 2. 지원 실행 파일 포맷

인터랙티브 디스어셈블러는 다음 실행 파일 포맷을 지원한다.

포맷 종류설명
PE 포맷COFF와 여기서 파생된 Win32/64/generic
ELFELF와 여기서 파생된 것들
Mach-O(Mach)
NLM(넷웨어)
LC/LE/LXOS/2 3.x와 다양한 도스 익스텐더들
NEOS/2 2.x, Win16와 다양한 도스 익스텐더들
MZ(MS-DOS)
OMFOMF와 여기서 파생된 것들
AIM(포괄적으로)
바이너리ROM 이미지나 COM 파일

[6]

3. 3. 지원 프로세서

인터랙티브 디스어셈블러는 다음과 같은 프로세서들을 지원한다.[6]

지원 프로세서


3. 4. 지원 컴파일러

Visual C++영어, GCC, 볼랜드 C++ 등 다양한 컴파일러를 지원한다.[6] 자동으로 라이브러리 함수를 인식하기 위해 지원하는 컴파일러와 라이브러리는 다음과 같다.

컴파일러/라이브러리
도스/윈도우용 볼랜드 C++ 5.x
볼랜드 C++ 3.1
도스/윈도우용 볼랜드 C 빌더 v4
Cygwin용 GNU C++
비주얼 C++
마이크로소프트 QuickC
마이크로소프트 Visual C++
도스/OS2용 Watcom C++ (16/32 bit)
ARM C v1.2
유닉스용 GNU C++


4. 디버깅

IDA Pro는 다양한 디버거를 지원하여 동적 분석 기능을 제공한다.[7] GNU 디버거(gdb)를 통해 리눅스와 OS X 환경에서 디버깅을 할 수 있고, Bochs 플러그인을 이용해 손상된 UPX 또는 mpress로 압축된 실행 파일과 같은 간단한 응용 프로그램을 디버깅할 수 있다. 인텔 PIN 디버거, 기록 다시보기 기능도 지원한다.

4. 1. 원격 디버깅

IDA Pro는 윈도우, 리눅스, 응용 프로그램들을 자신의 원래 환경에서 원격으로 디버깅할 수 있게 한다.[7] (주로 악성코드 디버깅을 위해 사용한다.)

4. 2. GDB 지원

GNU 디버거(GDB)는 리눅스와 OS X를 지원하여, 원격으로 이들 환경에서 응용 프로그램을 디버깅할 수 있게 한다.[7]

4. 3. 기타 디버거 지원

IDA Pro는 다음 디버거들을 지원한다.[7]

  • 윈도우, 리눅스, 맥 응용 프로그램들을 자신의 원래 환경에서 원격으로 디버깅할 수 있게 한다. (주로 악성코드 디버깅을 위해 사용한다.)
  • GNU 디버거 (gdb)는 네이티브 윈도우 디버거처럼 리눅스와 OS X를 지원한다.
  • Bochs 플러그인은 간단한 응용 프로그램 디버깅을 위해 제공된다. (즉, 손상된 UPX 또는 mpress로 압축된 실행파일들)
  • 인텔 PIN 디버거
  • 기록 다시보기

참조

[1] 웹인용 IDA: celebrating 30 years of binary analysis innovation https://hex-rays.com[...] 2021-05-20
[2] 웹인용 IDA 8.4.240527 (8.4sp2) https://hex-rays.com[...] 2024-06-28
[3] 웹사이트 Hex-rays Home http://www.hex-rays.[...]
[4] 웹사이트 IDA Pro 5.0 Freeware version download http://www.hex-rays.[...]
[5] 웹인용 About Us https://www.hex-rays[...] Hex-Rays 2012-02-27
[6] 웹인용 FLIRT Compiler Support http://www.hex-rays.[...] Hex-Rays
[7] 서적 The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler https://archive.org/[...] No Starch Press



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com