인터랙티브 디스어셈블러
Interactive Disassembler| 원저작자 | 일팍 길파노프 |
|---|---|
| 안정된 릴리스 | 7.7 SP1[1] / 2022년 1월 , 전( |
| 기입처 | C++[2] |
| 운영 체제 | Microsoft Windows, Mac OS X 및 Linux |
| 이용가능기간: | 영어, 러시아어 |
| 유형 | 디스어셈블러 |
| 면허증. | 독자 사양 |
| 웹 사이트 | hex-rays |
IDA(Interactive Disassemblyler)는 기계 실행 가능한 코드에서 어셈블리 언어 소스 코드를 생성하는 컴퓨터 소프트웨어용 디스어셈블러입니다.프로세서 및 운영 체제에 따라 다양한 실행 파일 형식을 지원합니다.Windows PE, Mac OS X Mach-O 및 Linux ELF 실행 파일의 디버거로도 사용할 수 있습니다.C/C++ 컴파일러로 컴파일된 프로그램용 디컴파일러 플러그인은 추가 비용으로 이용할 수 있습니다.IDA Pro의 최신 풀 버전은 상용 버전이지만, 이전 버전 및 성능이 떨어지는 버전은 무료로 다운로드할 수 있습니다(2021년 [3]3월[update] 기준 버전 7.6).
IDA는 코드 섹션 간의 상호 참조, API 호출 파라미터 지식 및 기타 정보를 사용하여 자동 코드 분석을 수행합니다.그러나 분해의 특성상 완전한 정확성을 확보하지 못하고 많은 사람의 개입이 필요합니다. IDA는 분해 개선에 도움이 되는 대화형 기능을 갖추고 있습니다.일반적인 IDA 사용자는 자동으로 생성된 디스어셈블리 목록부터 시작하여 섹션의 이름을 코드에서 데이터로 변환하고, 그 반대로 이름 변경, 주석 달기 및 기타 정보를 목록에 추가합니다.
Ilfak Guilfanov가 셰어웨어 애플리케이션으로 개발한 IDA는 이후 벨기에의 DataRescue에 의해 상용 제품으로 판매되었으며, DataRescue는 이를 개선하여 IDA Pro라는 이름으로 판매하였다.2005년 Guilfanov는 Hex-Rays 디컴파일러 IDA 확장 개발을 추진하기 위해 Hex-Rays를 설립했습니다.2008년 1월, Hex-Rays는 DataRescue의 IDA [4]Pro의 개발과 지원을 맡았습니다.
스크립트 작성
"IDC 스크립트"를 사용하면 분해 작업을 확장할 수 있습니다.사용자가 작성한 스크립트의 기초가 되는 유용한 스크립트가 몇 가지 제공됩니다.대부분의 경우 생성된 코드를 추가로 수정하기 위해 스크립트가 사용됩니다.예를 들면, 외부 심볼 테이블을 원래의 소스 코드의 함수명을 사용해 로드할 수 있다.
사용자는 IDC 대신 또는 IDC 이외에 다른 일반적인 스크립트 언어를 사용할 수 있는 플러그인을 만들었습니다. IdaRUB는 Ruby를 지원하며 IDAPython은 Python을 지원합니다.버전 5.4에서 IDAPython(Python 2.5에 의존)은 IDA Pro와 함께 프리 인스톨 되어 있습니다.
지원되는 시스템/프로세서/컴파일러
- 시스템 호스트
- Windows x86 및 ARM
- Linux x86
- Mac OS X x86
- 인식된 실행 파일 형식
- 명령어 세트
- 인텔 80x86 패밀리
- ARM 아키텍처
- Motorola 68k 및 H8
- Zilog Z80
- MOS 6502
- 인텔 i860
- DEC 알파
- 아날로그 디바이스 ADSP218x
- 앙스트렘 KR1878
- Atmel AVR 시리즈
- DEC 시리즈 PDP11
- 후지쯔 F2MC16L/F2MC16LX
- 후지쯔 FR 32비트 패밀리
- 히타치 SH3/SH3B/SH4/SH4B
- Hitachi H8: h8300/h8300a/h8s300/h8500
- 인텔 196 시리즈: 80196/80196NP
- 인텔 51 시리즈: 8051/80251b/80251s/80930b/80930s
- 인텔 i960 시리즈
- 인텔 Itanium (ia64) 시리즈
- Java 가상 머신
- MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
- 마이크로칩 PIC: PIC12Cxx/PIC16Cxx/PIC18Cxx
- MSIL
- 미쓰비시 7700 패밀리: m7700/m7750
- 미쓰비시 m32/m32rx
- 미쓰비시 M740
- 미쓰비시 m7900
- Motorola DSP 5600x 패밀리: dsp561xx/dsp5663xx/dsp566xx/dsp56k
- 모토로라 콜드파이어
- 모토로라 HCS12
- NEC 78K0/78K0S
- PA-RISC
- Power PC
- 제논 PowerPC 패밀리
- SGS-Thomson ST20/ST20c4/ST7
- SPARC 패밀리
- 삼성 SAM8
- 지멘스 C166 시리즈
- TMS320Cxx 시리즈
- 컴파일러/라이브러리 (라이브러리 기능 자동 [5]인식용)
- DOS/Windows용 Borland C++ 5.x
- 볼랜드 C++ 3.1
- DOS/Windows용 Borland C Builder v4
- Cygwin용 GNU C++
- Microsoft C
- Microsoft QuickC
- Microsoft Visual C++
- DOS/OS2용 Watcom C++(16/32비트)
- ARM C v1.2
- Unix/Common용 GNU C++
디버깅
IDA Pro는 다음을 포함한 다수의 [6]디버거를 지원합니다.
- 리모트 Windows, Linux 및 Mac 애플리케이션(Hex-Ray에서 제공)을 통해 네이티브 환경에서 실행 파일 실행 가능(가상 머신을 사용하여 악성 프로그램을 실행 가능)
- GNU 디버거(gdb)는 Linux 및 OS X와 네이티브 Windows 디버거에서 지원됩니다.
- Bochs 플러그인은 단순한 응용 프로그램(손상된 UPX 또는 압축된 실행 파일)을 디버깅하기 위해 제공됩니다.
- 인텔 PIN 기반 디버거
- 트레이스 리플레이어
「 」를 참조해 주세요.
레퍼런스
- ^ IDA 7.7 Service Pack 1 출시(2022년 1월 18일)
- ^ 헥스레이 홈
- ^ IDA Pro 7.6 프리웨어 버전 다운로드
- ^ "About Us". Hex-Rays. 27 February 2012. Retrieved 2 September 2013.
- ^ "FLIRT Compiler Support". Hex-Rays.
- ^ Eagle, Chris (2008). The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler. No Starch Press. ISBN 978-1-59327-178-7.
추가 정보
- Eilam, Eldad (2005). Reversing: Secrets of Reverse Engineering. Wiley Publishing. p. 595. ISBN 0-7645-7481-7.
외부 링크
- 공식 웹사이트
- "IDA Pro on Internet Archive" (in Russian).
- "IDA plug-ins and scripts". Open Reverse Code Engineering (OpenRCE).
- "CODE BLUE 2014 : Ilfak Guilfanov - Keynote : The story of IDA Pro". Youtube.
