본 저장소는 파일에 보안을 적용시킬 수 있는 라이브러리와 툴(Apps)로 이루어진, Windows 시스템용 패키지의 홍보물 입니다.
기본적으로 파일의 데이터 무결성을 보장하며, 대용량 파일 암복호와 부수적으로 패스워드·유효기간 지정과, 사용 횟수를 제한할 수 있다.
여기에서, 파일은 실행가능한 파일(exe, dll)과, 일반적인 데이터 파일을 모두 포함한다.
이미 널리 알려진, Microsoft Windows SDK에 포함된 SignTool.exe과 유사하지만, 기업 운영에 필요한 더 많은 보안 기능을 제공하기 위해, 직접 설계하여 개발하였다.
기업용과 홍보용으로 분리하여 개발되었으며, 본 저장소에 홍보용을 공개한 것이다.
SCF : 보안코드 파일 (SCB를 내장한 파일)
SCB : 보안코드 블록 (SCF에 내장된 코드 블록)
ECF : 암호코드 파일 (ECB를 내장한 암호화된 파일)
ECB : 암호코드 블록 (ECF에 내장된 코드 블록)
모든 SCF는 자체검증 기능을 내장하고, 최우선으로 수행한다.
- 보안툴의 기본 기능은 데이터 무결성 검증이 목적이다.
특히, 대용량 파일에 적합하도록 설계되었다. - SCF의 최초 상태는 SCB 비활성 상태로써, 실행하면 즉시 종료된다.
홍보용은 이미 활성화된 상태로 설정하여 배포한 것이다. - SCB가 주입되면, 활성화 되었다고 표현하며, 실행하면 자체검증을 최우선으로 수행하여, 자신의 무결성을 확인한다.
자체검증에서, 데이터가 손상되었다면, 즉시 종료된다. - 한번 주입된 SCF에, SCB를 재주입 시킬 수 없다.
한번 활성화된 SCF는 SCB 변경을 허락하지 않는다. - 유효 기간
모든 2급 이하의 보안툴은 [사용기간]을 설정하여, 시간이 만료되면 종료하도록 제한되어 있다.
이런 이유로, 홍보용은 특별히 [무기한] 설정이 가능한, 3급 이상으로 설정하여 배포된다.- [사용횟수]는 부가 기능으로, 주입자의 선택 사항일 뿐이다.
- [사용:기간/횟수] 중에, 하나만 만족하게 된다면, 보안툴(파일)은 자체 소멸한다.
- Passwords
- 대상 파일에 SCB를 주입하거나 파일을 암호화시킬 때, [패스워드]를 설정할 수 있다.
패스워드는 옵션이지만, 노출된 곳에서 사용하는 경우라면, 반드시 설정할 것을 권장한다.
홍보용은 공개 버전이기에, 패스워드 설정이 무의미하여, 설정하지 않은 상태로 배포된다. - 패스워드가 설정된 SCF는 자체검증마다, 패스워드 입력을 요청한다.
암호화툴로 암호화된 파일에 패스워드를 설정한 상태에서, 다시 복호화를 시도한 경우,
기본적으로 3회 입력을 실패하면, 암호화된 파일은Locked상태가 되어, 복호화할 수 없게 된다.
하지만, 홍보용은 암호화툴이 종료될 뿐, 암호화된 파일을Locked상태로 만들지 않는다.
- 대상 파일에 SCB를 주입하거나 파일을 암호화시킬 때, [패스워드]를 설정할 수 있다.
기업용은 현재(2026.03) 9가지 프로그램들로 구성되어 있다.
이들 중에서, 5가지를 홍보용으로 재설정하여, 본 저장소에 공개한 것이다.
1. 확인툴 : jkd_security3_checker1.exe
2. 암복호툴 : jkd_security3_cryptor1.exe
3. 주입툴 : jkd_security3_injector1.exe
4. 자체검증 데모: jkd_security4_selfer1.exe
5. 해시툴 : jkd_security5_sha256.exe
위, 프로그램들은 3가지로 구분할 수 있다.
- 비활성 상태인 SCB를 내장한 자체검증 라이브러리
C/C++ 프로젝트를 생성하고, 이 라이브러리를 Import하여 빌드하면, 비활성 상태인 SCF 파일이 생성된다.
실행가능한 이진코드 파일들(dll, exe)에 SCB를 내장시킬 수 있는 라이브러리로써, MSVC2008 환경에서/MT로 빌드되었다. - 지정 경로의 비활성 상태인 SCF를 활성화하는 주입툴
selfer1_example 예제 프로젝트를 분석하여, 사용자가 추가적으로 개발한 SCF를 활성화 시킬 수 있다. - 지정 경로의 SCF에 대한, 상태를 확인하는 툴
모든 SCF는 자체검증의 결과를 출력하지만, 대상의 남은 [사용:기간/횟수] 정보를 출력시킨다.
- 지정 경로의 파일을 암호화하거나 복호화하는 툴
암호화된 파일의 확장자는jke지만, 시각적인 표현일 뿐, 파일명을 변경하더라도 본래의 파일명과, 암호화 여부를 자동으로 인식한다.
암호화된 파일은 복호화를 진행하고, 그렇지 않은 파일은 암호화를 진행한다.
- 지정 경로의 파일을 해시하는 툴
여러 해시툴들 중에서, 가장 범용적인 SHA256 해시툴(jkd_security5_sha256.exe)을 공개한 것이다.
대용량 파일을 빠르게 해시하여, 결과 파일을 동일한 경로에 생성시킨다.동일한 경로에,예시: > jkd_security5_sha256 test.ziptest.zip.sha256파일이 생성된다.
홍보용 프로그램들 중에는 데모 어플이 포함되어 있지만, 공개 목적은 정적 라이브러리에 있다.
데모 어플은 그 자체검증 라이브러리를 활용한 예제일 뿐이다.
데모 어플의 소스 코드를 공개할 수 없어서, 오픈 소스 용도로 제작한 selfer1_example 예제 프로젝트를, 본 저장소에 포함시켰다.
사용자는 해당 소스 코드를 분석하여, 자신의 보안 소프트웨어 개발에 적용시킬 수 있다.
자세한 사용법은 해당 프로젝트의 소스 코드를 참조하라.
자세한 라이센스는 각 툴마다 다르며, 실행하면 보안 경고문과 이용 약관이 화면에 출력된다.
요약하면, 홍보용으로 공개된 대부분은 무료지만, 아래의 경우는 개인적이나 비상업적 목적으로만 사용할 수 있다.
- 암복호툴
jkd_security3_cryptor1.exe - 주입툴
jkd_security3_injector1.exe - 자체검증 모듈
jkd_security3_selfer1_core.lib을 사용하여, 사용자가 추가적으로 개발한 프로그램들