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에 구현)
반응형