-
교육기간
1개월
-
수업일
평일반(월~금)
주 5일주말반(토, 일)
주 2일 -
상담문의
02-3674-1100
리버스엔지니어링 과정 소개
완성된 제품을 분석하여 제품의 근본적인 설계 개념과 적용 기술을 파악하고 재현하는 것을 의미합니다. 설계 개념>개발 작업>제품화의 통상적인 추진 과정을 거꾸로 수행하게 됩니다. 보통 소프트웨어 제품은 판매 시 소스는 제공하지 않으나 각종 도구를 활용하여 컴파일 된 실행 파일과 동작 상태를 정밀 분석하면 그 프로그램의 내부 동작과 설계 개념을 어느 정도 추적할 수 있습니다. 이러한 정보를 이용하면 크랙, 즉 실행 파일을 수정하거나 프로그램의 동작을 변경할 수 있고, 또 유사한 동작의 복제 프로그램이나 보다 기능이 향상된 프로그램도 개발할 수 있습니다. 소프트웨어에 대한 역공학 자체는 위법 행위가 아니지만, 대부분의 제품이 이의 금지를 명문화하고 있어 이러한 수법으로 개발한 제품은 지적 재산권을 침해할 위험성이 있습니다.리버스엔지니어링 과정 학습목표
-
01
역공학(리버스 엔지니어링)의 개념에 대해 이해할 수 있고 CPU의 구조와 레지스터에 대해 이해할 수 있습니다. -
02
리버스 엔지니어링에 사용되는 다양한 도구들의 사용법을 익힐 수 있고 변수와 제어문, 함수 등
다양한 코드 패턴을 통해 분석 기술을 익힐 수
있습니다. -
03
디버깅을 통해 코드를 다시 구현하는 실습으로 디버깅 능력을 키우게 되며 다양한 문제를
이용해 디버깅 능력을 향상시키게 됩니다.
리버스엔지니어링 과정 커리큘럼
주제 | 소주제 |
---|---|
개요 | 리버싱이란? |
IA-32 Basic | |
- CPU의 구조 | |
- Register | |
실습 환경 구축 | |
프로그램 동작 원리 | |
Compiled Code Pattern(변수) | 변수, 포인터, 배열, 구조체 |
리버싱 Tool 소개 및 사용법 | |
Assembly Language 구조 및 기초 | |
Chapter별 종합복습 문제 | |
Compiled Code Pattern(제어문) | 조건문, 반복문, 동적할당 |
제어문 관련 Assembly Language | |
Ollydbg 활용(Search 방법, 인자 전달, Breakpoint, Log 활용) | |
Compiled Code Pattern(제어문) | Win32 Application, WinMain 함수 패턴 |
Application Binary Interface | |
Chapter별 종합복습 문제 | |
Compiled Code Pattern(함수) | 함수 관련 Assembly Language |
Compiled Code Pattern(함수) | 함수 Prologue, Epilogue |
Stack Frame | |
Compiled Code Pattern(함수) | Frame Pointer Omission |
Callee & Caller Saveed Registers | |
Function Calling Convention | |
Chapter별 종합복습 문제 | |
Crack me, Keyzen | Crack me, Keyzen 문제풀이 |
수강신청 절차 안내
-
STEP1
온·오프라인 1:1 교육컨설팅 -
STEP2
학습계획 수립 -
STEP3
교육비 납부 및 수강신청 -
STEP4
교육 진행
교육후기 더보기
-
박지희 #LinuxServer
안녕하세요~ 리눅스1 수강한 박지희 입니다.
-
안희재 #WindowsServer 2019 #LinuxServer #ICT기반 정보시스템보안 전문가 양성
컴퓨터 프로그래머의 꿈을 가지고 KG아이티뱅크에서 재취업을 준비중인 취준생입니다.
-
김남규 #C언어 #Python 기초
취업준비 및 대학원준비중입니다