의료 IT 공학과 조용석 교수 Reverse Engineering Introduction Reverse Engineering #2.

Slides:



Advertisements
Similar presentations
전자회로 II 1 1st Lecture: Electronic Circuit Design Hoi-Jun Yoo Semiconductor System Laboratory Dept. of E.E. KAIST.
Advertisements

Data Communication/Computer Network 관련 교과목의 내용
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
신입생 Study 커리큘럼 OneScore. Contents 후니의 시스코 네트워킹 (4 주 ) 01/ Network 생활코딩 – 웹 서비스 만들기 (4 주 ) Wowhacker 웹 게임 (4 주 ) 02/ Web 뇌를 자극하는 윈도우 시스템 프로그래밍 (4 주 ) 리버싱.
이력서 작성법 서강대학교 전자공학과. 이력서 이력서란 ? ◦ 이력서 ( 履歷書 ) a rsum 《미》 ;a personal history[statement];a curriculum vitae 《라》 ;a record of one’s life ◦ 이력 [ 履歷 ] [ 명사.
팀 구성 : 조재민 (팀장), 고광춘, 유기민, 김대진, 이재호 발표 일자:
Ⅰ 원가회계의 개념.
번역관련 자격증 소개 및 시험 대비 안내 정 윤 희.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
Chapter 2 정보시스템 아키텍처 (IS Architecture)
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
Sequence Control -Introduction-
Linux Debugging issues
Introduction to Django
Linux/UNIX Programming
Conventional Software Testing Vs. Cloud Testing
기본 컴퓨터 프로그래밍 Lecture #6.
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
과목 홈페이지  전산학개론 이메일 숙제를 제출할 경우, 메일 제목은 반드시 ‘[전산학개론]’으로 시작.
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
CHAPTER 04 컴퓨터 소프트웨어.
KAI 장학생 모집 요강 선발개요 선발일정 지원내역 문 의 처
12. 데이터베이스 설계.
[멀티미디어 문서구조화특론 ] Workflow
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
InstallShield Professional Services ( Services Pack / Education / Consulting ) ㈜소프트뱅크 커머스.
원가회계의 기초 & 분류.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
오토메타 형식언어 2003년도 제 2학기.
Visual ESTO 안정성,편리성,성능을 한단계 높였습니다! Visual ESTO IDE/Debugger/Monitor
가상플랫폼을 사용한 임베디드SW 개발 (CoWare CoWare Virtual Platform Designer 사용)
마케팅전략에서의 STP Wisdom21 Management Consulting.
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
Electronic Engineering 2
컴퓨터과학 전공탐색 배상원.
Chapter 2. Finite Automata Exercises
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
ARM Development Suite v1.2
발표자 : 홍익대학교 소프트웨어 공학 연구실 변은영 지도교수 : 김영철
디지털 시스템 설계(3).
Human Resource Management
KMS 구현 및 활용사례 경쟁력 강화를 위한 2002년 5월 28일(화) 김 연 홍 상무 / 기술사
소프트웨어 소프트웨어란? 소프트웨어의 특성 프로그램과 프로그램의 개발, 운용, 유지보수에 필요한 관련 정보 일체
BLACK OUT 신개념 연합동아리 블랙아웃에서 1기를 모집합니다!
Lecture 1. Overview of the Course
Chap 6.Assembler 유건우.
제6장 교착상태 OS 컴퓨터 운영체제 Operating Systems
Linux/UNIX Programming
Introduction to Programming Language
제1장 Unix란 무엇인가?.
Introduction to Computers
Chapter 08 구조적 분석과 설계 8.1 구조적 분석(Structured Analysis)
문제 다음의 서술적 언어로 표현된 요구사항을 DFD로 완성하시오
좋은징조 담당교수 : 조성제 김도엽 김현일 이상훈.
WinCE Device Driver 실습 #2
인터뷰 기법 - 맥락질의(Contextual Inquiry)
Linux/UNIX Programming
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
13.1 정보시스템의 개요 13.2 정보시스템의 개발 13.3 시스템 검사 13.4 시스템 문서화
Self Introduction Template PowerPoint
인터뷰 기법 - 맥락질의(Contextual Inquiry)
Chapter 1 개요.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
Introduction to Computer System Spring, 2019
WinCE Device Driver 실습 #2
Platform Builder 사용법.
1장. C Language Synopsis.
흐름도FLOWCHART 프로그래밍 과정 전단부 처리 단계 문제 분석 논리 설계
Presentation transcript:

의료 IT 공학과 조용석 교수 Reverse Engineering Introduction Reverse Engineering #2

What is Reverse Engineering?

Reverse Code Engineering  Reverse Engineering is also known as RE or RCE RE: Reverse Engineering RCE: Reverse Code Engineering  RE is the process of understanding an existing product  Malware analysis( 악성코드분석 ) and security research often involves RE

Compilation Process( 컴파일 과정 ) Source CodeObject FileExecutable CompilationLinking Human readable text file Binary code with Readable symbols Binary code with no symbols Code Readability

Compilation Results

Uses of Reverse Engineering  악성코드분석  보안 / 약점 연구  Driver 개발  호환성 수정  Legacy application( 레거시 응용프로그램 ) 지원  Legacy application: 현재의 기술보다 이전의 언어와 플랫폼 기법으로 만들어진 애플리케이션과 데이터로 예를 들면, 윈도우 95 이상 OS 를 사용하고 있는 이때 DOS 와 윈도 3.1 응용 프로그램들 을 일컫는 말

Ethical and Legal Aspects

Legal Uses Reverse Engineering

Illegal Activities

Decompilation Process( 컴파일 과정 ) Disassembly Executable DecompilationDisassembly Reverse Engineer Readable Code Binary code with no symbols Code Readability Source Code Human Readable Code

Disassembly Results

Required Skills  일반적인 컴퓨터구조 지식  관련 프로세서에 대한 어셈블리어 프로그래밍  운영체제 (Operating Systems)  파일형태 (File Format)  자료수집 능력

사용되고 있는 도구들 (Tools)  hex editor/viewer  Disassembler  Search Engine  Debugger  Script language

Getting Started  Master your tools  Identify the target binary format  Identify the target processor  Identify the target operating system  …dig in and find out as much as you can….

 Reverse engineering primary output 1.block diagram 2.schematic diagram 3.circuit board layout 4.Flowchart 5.operations manual

1.block diagram 의 정의 A diagram in which the essential units of any system are drawn in the form of rectangles or blocks and their relation to each other is indicated by appropriate connecting lines. A diagram of a system, in which the principal parts or functions are represented by blocks connected by lines, that show the relationships of the blocks. They are heavily used in the engineering world in hardware design, electronic design, software design, and process flow diagrams.diagramsystemhardware design electronic designsoftware designprocess flow diagrams  Black box  Data flow diagram

 block diagram Symbol

1.block diagram

1.block diagram1

1.block diagram(Drawing)

2.schematic diagram A schematic diagram represents the elements of a system using abstract, graphic symbols rather than realistic picturessystemsymbols A drawing showing all significantcomponents, parts, or tasks (and their interconnections) of a circuit, device, flow, process, or project by means of standardsymbols. Schematic diagrams for a project may also be used for preparing preliminary cost estimates.drawingsignificantcomponentspartstaskscircuitdeviceflowprocessprojectmeansstandardsymbolscost estimates

2.schematic diagram

2.schematic diagram(Drawing)

2.schematic diagram(Drawing1)

3.circuit board layout

3.circuit board layout(Drawing)

4.Flowchart A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows.diagramalgorithm process  간단한 Flowchart 의 예 )

4.Flowchart

4.Flowchart(Drawing)

5.operations manual