-
교육기간
1개월
-
수업일
평일반(월~금)
주 5일주말반(토, 일)
주 2일 -
상담문의
02-3672-7676
리버스엔지니어링 과정 소개
완성된 제품을 분석하여 제품의 근본적인 설계 개념과 적용 기술을 파악하고 재현하는 것을 의미합니다. 설계 개념>개발 작업>제품화의 통상적인 추진 과정을 거꾸로 수행하게 됩니다. 보통 소프트웨어 제품은 판매 시 소스는 제공하지 않으나 각종 도구를 활용하여 컴파일 된 실행 파일과 동작 상태를 정밀 분석하면 그 프로그램의 내부 동작과 설계 개념을 어느 정도 추적할 수 있습니다. 이러한 정보를 이용하면 크랙, 즉 실행 파일을 수정하거나 프로그램의 동작을 변경할 수 있고, 또 유사한 동작의 복제 프로그램이나 보다 기능이 향상된 프로그램도 개발할 수 있습니다. 소프트웨어에 대한 역공학 자체는 위법 행위가 아니지만, 대부분의 제품이 이의 금지를 명문화하고 있어 이러한 수법으로 개발한 제품은 지적 재산권을 침해할 위험성이 있습니다.리버스엔지니어링 과정 학습목표
-
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
교육 진행
교육후기 더보기
-
강정훈 #자료구조 #JAVA
노량진 학원 12월 우수 수강생
-
김명화 #Python 기초
학원 처음 등록해서 파이썬과목을 공부하고있는 비전공자 입니다.
-
고재영 #리버스엔지니어링 #WindowsServer 2019 #IT 통합 기초
평소 컴퓨터 게임을 즐겨, 자연스레 컴퓨터에 관심을 가지고 있었습니다.우연한 기회에 정보보안분야에 대해 알게 되었고 알면 알 수록 흥미가 생겨,본격적으로 배워보고 싶어 학원을 다니고 있습니다!