본문 바로가기

컴퓨터/C

숨김 폴더를 만들고 비밀번호를 걸기

c 프로그래밍 연습용으로 만들어보던 프로그램 중 하나입니다.

프로그램과 동일 경로에 폴더를 만들고 비밀번호를 걸어 숨기고 보이고 하게끔 하는 기능입니다.

라곤 하나 아직 배울게 많아 파일 구조나 그런 난이도 있는 쪽으로 접근한건 아니고 임시용으로 디렉토리에 속성만 가했습니다.

아주 기본적인 방법으로 만들었을 뿐이고 때문에 보호된 운영체제 파일 보기에 체크가 되어 있으면 보이긴 하며 정확한 경로명을 알아내면 패스워드 없이도 접근은 됩니다.

알고리즘을 적용하는 방법을 몰라 비밀번호는 소스 내에 포함하도록 하였습니다.


예시 프로그램 : 

secfol1.exe

#일부 환경에서 MSVCR110.dll 누락으로 프로그램이 실행되지 않는 문제가 있습니다.(XP에서는 넣어줘도 실행이 안됩니다)

#해당 환경 이용자는 직접 컴파일 하시는걸 추천드립니다.


코드 :

#include <stdio.h>

#include <Windows.h>

#include <direct.h>

#include <io.h>

#define SECDIR "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"

#define DIR "locked"

#define PASSWORD "123456789"

#define PASS_SIZE 16

#define LOCK 1

#define UNLOCK 0

#define CMD_LEN 256

void lock();

void unlock();

void md_dir();


int status;

char dir[CMD_LEN];

char secdir[CMD_LEN];

char password[PASS_SIZE]=PASSWORD;


void main(){

char pass[CMD_LEN],cho;

if(_access(SECDIR,00)==-1)

if(_access(DIR,00)==-1)

{md_dir();status=UNLOCK;}

else status=UNLOCK;

else status=LOCK;


if(status==UNLOCK){

printf("Are you sure you want to lock the folder(Y/N)\ncho=>");

scanf_s("%c",&cho,2);

if(cho=='Y'||cho=='y')

lock();

else exit(1);

}else{

printf("Enter password to unlock folder : ");

scanf_s("%s",pass,PASS_SIZE);

if(strcmp(pass,password)==0) unlock();

else printf("Invalid password\n");

}

//printf("password = %s\n",PASSWORD);

system("pause");

}


void md_dir(){

_mkdir(DIR);

printf(DIR);printf(" created successfully\n");

}


void lock(){

char cmd[CMD_LEN];

strcpy_s(cmd,CMD_LEN,"ren ");

strcat_s(cmd,CMD_LEN,DIR);

strcat_s(cmd,CMD_LEN," \"");

strcat_s(cmd,CMD_LEN,SECDIR);

strcat_s(cmd,CMD_LEN,"\"");

//system(cmd);

system(cmd);

strcpy_s(cmd,CMD_LEN,"attrib +h +s \"");

strcat_s(cmd,CMD_LEN,SECDIR);

strcat_s(cmd,CMD_LEN,"\"");

system(cmd);

printf("Folder Unlocked successfully\n");

}


void unlock(){

char cmd[CMD_LEN];

strcpy_s(cmd,CMD_LEN,"attrib -h -s \"");

strcat_s(cmd,CMD_LEN,SECDIR);

strcat_s(cmd,CMD_LEN,"\"");

system(cmd);

strcpy_s(cmd,CMD_LEN,"ren \"");

strcat_s(cmd,CMD_LEN,SECDIR);

strcat_s(cmd,CMD_LEN,"\" ");

strcat_s(cmd,CMD_LEN,DIR);

system(cmd);

printf("Folder Unlocked successfully\n");

}