«   2013/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

'2013/09'에 총 2개의 글이 있습니다.

  1. 2013.09.27숨김 폴더를 만들고 비밀번호를 걸기
  2. 2013.09.01점심 메뉴

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");

}


,

내가 청춘이라면, 나의 인생이 한 낮을 맞이해 있을 지금… 나는 내 마음의 허기를 채워줄 점심메뉴를 아직도 고르지 못하고서 쓰린 속을 움켜쥐고 있는 꼴인가 보다… 저녁까지 굶진 않겠지??

- 어느 한 40대 개발자 분께서 -

,
1
프로필 이미지
It's the Only NEET Thing to do. written by 나즈나
분류 전체보기 (256)
포트폴리오 (2)
여러가지 (160)
Windows (26)
Linux (1)
Server (5)
컴퓨터 (48)
전자기기 (3)
자격증 (3)
모바일 (1)
공유기 (4)
초소형컴퓨터 (3)