IDA use manual 1.0 Ad2m 1. IDA 기본구성 Menu Bar IDA 기본메뉴 Tool Bar 분석 Tool TAB 기능 (Hex, 그래프등 ) View Navigation Band 파일의코드부분을순차및섹션별색상으로보여줌. Disassembly 함수

Similar documents
The_IDA_Pro_Book

IDA 5.x Manual hwp

Deok9_Exploit Technique

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Orcad Capture 9.x

PRO1_09E [읽기 전용]

Microsoft PowerPoint - 15-MARS

Secure Programming Lecture1 : Introduction

슬라이드 1

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

MAX+plus II Getting Started - 무작정따라하기

슬라이드 1

Microsoft Word - PE Infection ? How to Inject a dll.doc

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

강의10

Deok9_PE Structure

EndNote X2 초급 분당차병원도서실사서최근영 ( )

Microsoft PowerPoint - o8.pptx

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Install stm32cubemx and st-link utility

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

UNIST_교원 홈페이지 관리자_Manual_V1.0

Secure Programming Lecture1 : Introduction

1

No Slide Title

<41736D6C6F D20B9AEBCADBEE7BDC42E687770>

Chapter 1

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

슬라이드 1

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

MPLAB C18 C

untitled

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Week3

Dialog Box 실행파일을 Web에 포함시키는 방법

게임 기획서 표준양식 연구보고서

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

thesis

vi 사용법

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft PowerPoint - 07_04_s7기초기술교육_simatic_manager_operation.ppt [호환 모드]

<C6F7C6AEB6F5B1B3C0E72E687770>

PRO1_02E [읽기 전용]

DE1-SoC Board

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

C# Programming Guide - Types

PCServerMgmt7

NTD36HD Manual

Microsoft PowerPoint - chap01-C언어개요.pptx

작동 원리

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

윈도우시스템프로그래밍

bn2019_2

SRC PLUS 제어기 MANUAL

CD-RW_Advanced.PDF

hlogin2

No Slide Title

UI TASK & KEY EVENT


1217 WebTrafMon II


untitled

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

T100MD+

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

Microsoft Word - Armjtag_문서1.doc

DIY 챗봇 - LangCon

BY-FDP-4-70.hwp

PowerPoint Template

인켈(국문)pdf.pdf

1

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

API 매뉴얼

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

Microsoft PowerPoint APUE(Intro).ppt

AVN9272Kor_091215

Microsoft Word - FunctionCall

JVM 메모리구조

01장

DocsPin_Korean.pages

Microsoft Word - src.doc

PowerPoint Presentation

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

manual pdfÃÖÁ¾

Solaris Express Developer Edition

윈도우시스템프로그래밍

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

IoT FND8 7-SEGMENT api

Microsoft PowerPoint - a5a.ppt [호환 모드]

PowerPoint 프레젠테이션

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

Transcription:

IDA use manual 1.0 Ad2m 1. IDA 기본구성 Menu Bar IDA 기본메뉴 Tool Bar 분석 Tool TAB 기능 (Hex, 그래프등 ) View Navigation Band 파일의코드부분을순차및섹션별색상으로보여줌. Disassembly 함수 block 단위의 Disassembly 흐름 Funtions windows 분석 Tool Graph overview 기능 (Hex, 그래프등 ) View Output window IDA가수행하는작업에대한정보를보여줌.

2. IDA Window 1) IDA Graph View Graph View Open: Menu-view-graph over view 함수의제어흐름을각함수별로 block을구성해서보여준다 - call 명령어를제외한프로그램의흐름이바뀌는명령어 (jxx) 를기준으로코드가나누어짐 각라인별 Virtual Address를표현방법 - Options -> General -> Disassembly Tab-> Display disassembly line parts Line Prefi xes check

해당그래프기능살표보기위해 [F12] 를사용하여확인한다. 2) IDA Text View 분석할파일의정보출력해준다. Disassembly Window 의최상단부분 : Open 한파일의 MD5, 파일경로, Format, ImageBase, Section size, OS 정보를확인할수있다.

같은주소가여러번표기될경우마지막에있는주소가실제값 Virtual address는 [SECTION NAME]:[VIRTUAL ADDRESS] 형태로표기된다 cross-references는함수참조부분으로호출한곳의연결되는함수의코드를확인할수있으며더블클릭시해당위치코드로이동할수있다. loc_401337: 코드의흐름중분기가발생부분이다. Arrow 조건화살표 내용 조건 빨간 소스위치와목적지위치를가리킴 검정 선택된부분을나타냄 회색 다른모든종류의화살표들을통합적으로나 타냄 녹색 조건점프일경우 푸른색 무조건점플일경우 파선 Conditional jump 점선 조건점프 굵은선 이전주소로점프

3) The Strings Window Strings View Open: Menu-view-Open subviews-strings (Shift + F12) Binary 에포함된 string 에대하여주소, 길이, 타입, String 을표현한다 Strings Window 의각리스트를더블클릭하면디스어셈블리윈도우에해당주소가나타난다 Strings Window 에서마우스우측클릭으로 setup 을선택하면 List 와 Type 을설정할수있다

4) The Names Window Names View Open: Menu-view-Open subviews-names (Shift + F4) F (regular function) L (Library function) I (Imported name) C (Named Code) D (Data) A (ASCII string data) 일반함수라이브러리함수 Imported name 명령데이터 Ascii 문자열 IDA Type sub_ 서브루틴 byte_ 8-bit data dword_ 32-bit data loc_ 명령 word_ 16-bit data unk_ 사이즈를알지못하는 data

5) The Hex View Window Hex Window 또는 Disassembly Window 위치를이동하면다른하나의윈도우역시같은위치로이동한다 특정 Hex Window 또는 Disassembly Window 간동기화가필요한경우해당 window에서우측마우스클릭메뉴중 Synchronize with 메뉴에서해당 window를지정하면된다 Hex Window에? 표시가나타나면 IDA가해당주소범위에어떤값이채워지는지알지못할경우이다 Deburgging Mode에서는동기화되지않는다.

6) The Exports Window Exports View Open: Menu-view-Open subviews-exports Exports window는 entry point와 export된 function 들을나타낸다 Start로표시된부분은해당프로그램의 Entry point 이다 해당항목을더블클릭하면해당주소로 Disassembly window가이동한다 7) The Imports Window Imports View Open: Menu-view-Open subviews-imports Imports window 는분석과정에서 import 된 function 들을나타낸다 해당항목을더블클릭하면해당주소로 Disassembly window 가이동한다

8) The Functions Window Functions Window 는 DB 안의모든 Functions 을나타낸다 Names Window 에는 sub_ 형태의 function 을나타내지않지만 Functions Window 는모든 Function 을나타낸다 Function Flags R function returns to the caller F far function L library function S static function B BP based frame. IDA will automatically convert all frame pointer [BP+xxx] operands to stack T function has type information = Frame pointer is equal to the initial stack pointer

9) The Segments Window Segments Registers View Open: Menu-view-Open subviews-segments (Shift + F7) IDA 에서는 Binary file 구조에서표현하는 Section 들을 segment 로표현한다 분석할파일의 Section 을표시한다 Name Start End R W X L D Align Base Type Class AD Segment name 가상시작주소가상종료주소 R readable,. not readable,? unknown W writable,. not writable,? unknown X executable,. not executable,? unknown L created by loader,. no D debugger only,. regular Segment alignment Segment base selector or address Segment type Segment class Segment addressing width

10) The Structures Window Structure Window 는 C 구조체또는 Union 같은복잡한데이터구조체를나타낸다 해당구조체를더블클릭하면상세내역에대해서확인할수있다 11) The Enum Window Structures Window 와비슷하나 C 의 enum 과같은데이터타입을표시한다 *Enum : enum( 열거형 ) 은여러개의상수를기호로선언 12) The Type Libraries Window Type libraries 는가장많이사용되는컴파일러에포함된헤더파일로부터수집한 데이터타입과함수프로토타입에대한 IDA 의축적된기술을보여준다 13) The Function Call Window Function Call Window 는커서가위치한함수의이웃함수들을결정한다.

3. IDA Shift 1) 단축키 ctrl + p Import된함수출력.(Functions창과같음 ) ctrl + E Entry Point 출력 ctrl + L 이름으로검색 shift + F12 String window 출력 esc 이전코드로넘어가기 Alt +T Text 검색 Shift + F12 API 정보및문자열출력 F12 그래프출력 G 특정가상주소위치로점프 F9 디버깅모드 F2 BreakPoint Spacebar Text view Layout Graph 화면전환 X 함수명클릭후상호참조명출력 ctrl + X Xref 함수명클릭후상호참조명출력 Shift + / Calculator

2) Entry Point Graph window 에서 Ctrl + E 를눌러실행 3) Double-Click Navigation Graph window 에서 Subkey 를클릭한뒤단축키 X 를누르면 xref to 창이나타난다. xref to 는함수나데이터 ( 문자열, 상수등등 ) 가참조되는부분을출력해준다.

4) Choose function to jump to Graph window 에서단축키 Ctrl + P 를누르게되면 Choose function to jump to 창을출력하여 해당프로그램의사용되는함수들및 subkey 를출력해준다. Function window 와같은기능을하게된다. 5) Jump to Address Jump to Address dialog 는 Jump -> Jump to Address 또는 G 단축키를이용해서해당주소로 이동한다

6) Navigation History 하늘색 FLIRT로인식한라이브러리코드 빨강색 컴파일러가생성한코드 파란색 사용자가작성한코드 ( 악성코드분석부분 ) 7) Searching

String Searches - Ctril + l 을눌러프로그램내의 String 으로검색을시도한다. Text Searches - 텍스트검색은 Search -> Text 메뉴또는 ALT+T 단축키로가능하다 - 검색을계속하기를원하면 CTRL+T 또는 Search -> Next Text 메뉴를이용한다 Binary Searches - 바이너리검색은 Search -> Sequence of Bytes 메뉴또는 ALT+B 단축키로가능하다 - 검색을계속하기를원하면 CTRL+B 또는 Search -> Next Sequence of Bytes 메뉴를이 용한다

4. IDA 옵션 1) IDA Save IDA 실행시 id0 id1 nam til 파일로생성되며 IDA 종료시 idb 파일로압축하여저장하게된다. - Don't pack database 는파일을압축하지않고저장 - Pack database(store, Deflate) 압축저장 - DON'T SAVE the database 는분석했던것들을저장하지않음 2) IDA Options Code Display Options - Line prefixes : 각 disassembly line 앞에오프셋을표시한다 - Stack pointer : 각함수의진행에따른관련된스택포인터의변화를표시한다.

5. IDA Debugging Mode 1) Select a Debugger IDA 의 Debugging 을활성화하기위해위와같은옵션을선택해야 Debugging 을진행할수있 다. 기본적으로 Local Win32 debugger 을선택한다.

2) Debugger Mode Debugging 시 BreakPoint (F2) 설정 Debugger-> Start process (F9) Debugging 상태로전환 IDA View-EIP(Disassembly) 프로그램의실제 Code 부분 Registers & Flags Registers, Flags 상태출력 Threads : Threads 목록출력 Stack View Stack의흐름출력 (ESP와 EBP가가리키는곳주의 ) Hex View 해당코드의 Hex 출력 디버깅단축키 F2 F9 Ctrl + F2 F7 F8 Breakpoint Debugging 시작 Debugging 종료 Step Into Step Over

3) Code Xref & Subkey 코드로케이션영역 loc_409f48 -> code Xref: sub_403043 + 54 - 코드에서 jump 문에의해분기할때해당로케이션으로이동 코드레퍼런스영역 code Xref: sub_403043 + 54 - 프로그램의흐름중분기문에의해서해당부분 (loc_409f48) 을참조한위치값을표시 - 더블클릭으로이동하거나마우스휠버튼의스크롤을통해서해당부분을확인할수있음 xref operand 는원래의함수본체로이동 xref reference 는해당함수를호출한곳으로이동 예제 1.text:00401331 jg short loc_40134e - loc_40134e 와같이특정이름으로명명된심볼을더블클릭하면 IDA 는선택한지점을표 시한다. 예제 2. text:0040134e loc_40134e ; CODE XREF : sub_4012e4+4d - loc_40134e 우측의 cross-reference 는 sub_4012e4 16 진수 4D 바이트뒤에서참조함을 나타낸다 00401331 로이동한다

4) user xrefs chart user xrefs chart Open: Menu - View - Graphs - user xrefs chart 프로그램의 Subkey, 라이브러리함수등연결그래프를한눈에보이도록한다. user xrefs chart 설정 IDA 에서 start address 와 end address 를자동으로표시해준다.

depth는호출된함수의개수를나타낸다. Ignore는필요하지않는항목을제외하고출력해준다. Externals는함수호출이많을경우에라이브러리함수를제외하여간소화된그래프를보여준다.