Toy Project/Crypto Tool

[Crypto Tool] 0

maple19out 2021. 1. 20. 00:53

Reverse engineering 공부를 하면서 암호학 공부의 중요성을 느꼈고, 지금 공부한 Windows API를 이용해 간단한 암호화 프로그램을 개발해보자 한다.

 

(1) 파일을 browse 한 후, 알고리즘을 선택한 후, key 값을 주어 encrypt/decrypt 하는 기능을 갖는 기능

(2) 사용자가 비밀번호를 입력 후 암호화 해시 알고리즘을 선택하면 이에 대응되는 hash 값을 출력하는 기능

 

위 두 가지 기능을 구현하고, 프로젝트를 진행하면서 간단한 암호 알고리즘을 구현하여 추가하고, wincrypt.h에 있는 암호화 API를 이용하여 대중적인 암호 알고리즘 기능들을 추가한다.

- UI 구성

1. Window 선택

WndProc을 호출하는 Main Window 사용. Dialog Box를 사용할까도 고민했지만 확장성을 위해 혹시 몰라 main Window를 사용한다.

 

2. 사용되는 Control

static : 기본적인 문자열 출력

Combo box : 암호 알고리즘의 목록을 출력하는데 이용

Button :  파일 browse 버튼, encrypt/decrypt 및 hash를 수행하도록 하는 버튼을 대화형 상자에 출력하는데 이용

edit : hash 값을 입력하는데 이용

 

- 소스파일 구성

Crypto tool.cpp (UI 구성하는데 필요한 소스)

그 외 암호 알고리즘을 위한 헤더 및 .cpp 파일 (ex. md5 해시 함수 기능을 md5.h 및 md5.cpp에 구현)

 

 

반응형