아이티뱅크학원

안녕하세요~

오늘은 정보 보안 쪽에서
난이도가 제일 높다고 하는
리버스 엔지니어링이 무엇이며,
리버싱 학습과정에 대해 알아보려고 합니다.


리버스 엔지니어링이란?


리버스와 엔지니어링의 합성어이며,
리버스 엔지니어링을 줄여서 리버싱이라고도 합니다.

소프트웨어 공학의 한 분야로,
이미 만들어진 시스템을 역으로 추적하여
처음의 문서나 설계기법 등의
자료를 얻어내는 일을 말합니다.


리버스 엔지니어링 과정 소개

 

 

리버스 엔지니어링은 장치 또는 시스템의
기술적인 원리를 그 구조분석을 통해
찾아내는 과정입니다.

이는 유지 보수를 위해,
또는 같은 기능을 하는 새 장치를
원본의 일부를 이용하지 않고
만들기 위해 대상의 세부적인 작동을
분석하는 것에 포함하며,
애플리케이션 취약점 분석이나
악성코드 분석에 이용됩니다.


리버스 엔지니어링 학습목표


1. 역공학(리버스 엔지니어링)의
개념에 대해 이해할 수 있고
CPU의 구조와 레지스터에 대해
이해할 수 있습니다.

2. 리버스 엔지니어링에 사용되는
다양한 도구들의 사용법을 익힐 수 있고
변수와 제어문, 함수 등
다양한 코드 패턴을 통해
분석 기술을 익힐 수 있습니다.

3. 디버깅을 통해 코드를 다시 구현하는
실습으로 디버깅 능력을 키우게 되며
다양한 문제를 이용해
디버깅 능력을 향상시키게 됩니다.


리버스 엔지니어링 과정 커리큘럼


개요

리버싱이란?

IA-32 Basic

CPU의 구조

Register

실습 환경 구축

프로그램 동작 원리


Compiled Code Pattern(변수)

변수, 포인터, 배열, 구조체

리버싱 Tool 소개 및 사용법

Assembly Language 구조 및 기초

Chapter 별 종합 복습 문제


Compiled Code Pattern(제어문)

조건문, 반복문, 동적할당

제어문 관련 Assembly Language

Ollydbg 활용(Search 방법, 인자 전달, Breakpoint, Log 활용)


Win32 Application, WinMain 함수 패턴

Application Binary Interface

Chapter 별 종합 복습 문제


Compiled Code Pattern(함수)

함수 관련 Assembly Language

함수 Prologue, Epilogue

Stack Frame

Frame Pointer Omission

Callee & Caller Saveed Registers

Function Calling Convention

Chapter 별 종합 복습 문제


Crack me, Keyzen

Crack me, Keyzen 문제풀이


함께 들으면 좋은 과정


오늘은 이렇게 리버스 엔지니어링이 무엇인지,
리버스 엔지니어링 학습과정은
어떤 과정으로 진행되는지에 대해
알아보았습니다.

처음에도 말했듯이
리버싱과정은 난이도가 높아서
독학으로 하기에는 한계가 있습니다.

또한 리버싱과정이 있는 학원도
거의 없다고 하네요 ㅜㅠㅜ

제가 추천하는 교육과정에는
리버싱과정이 있는데요
바로 KG 아이티뱅크 입니다.

리버싱과정은
정보 보안 쪽으로 공부하고 계신다면
꼭 필요한 과정 중 하나입니다.

공부하기에 있어
어디서부터 어떻게 시작해야 될지
잘 모르시거나, 전문교육기관을 통해서
공부하고 싶으시다면

1:1무료상담도 진행 중에 있으니
언제든지 문의 남겨주세요