2015 년정보보호학과졸업작품보고서 USB 를이용한 System Lock 및 File Security Service 팀명 : Team IU ( Intelligent USB ) 지도교수 : 양정모교수님 조장 : 조상일 유승우 조한슬 중부대학교정보보호학과

Size: px
Start display at page:

Download "2015 년정보보호학과졸업작품보고서 USB 를이용한 System Lock 및 File Security Service 팀명 : Team IU ( Intelligent USB ) 지도교수 : 양정모교수님 조장 : 조상일 유승우 조한슬 중부대학교정보보호학과"

Transcription

1 2015 년정보보호학과졸업작품보고서 USB 를이용한 System Lock 및 File Security Service 팀명 : Team IU ( Intelligent USB ) 지도교수 : 양정모교수님 조장 : 조상일 유승우 조한슬 중부대학교정보보호학과

2 목 차 Ⅰ. 서론 Ⅰ-1. 프로젝트소개 Ⅰ-2. 연구활동배경 Ⅰ-3. 피해사례조사 Ⅱ. 본론 Ⅱ-1. 프로그램구성 Ⅱ-2. 파일의암호화후백업및복호화후복원 Ⅱ-3. 화면잠금 Ⅱ-4. 소스코드 Ⅲ. 결론 Ⅲ-1. 기대효과 Ⅲ-2. 프로그램의향후발전, 개선방향 Ⅳ. 참고자료 Ⅳ-1. 참고알고리즘, 블로그 Ⅴ. 별첨 Ⅴ-1. 발표 PPT

3 Ⅰ. 서론 Ⅰ-1. 프로젝트소개 1. 프로젝트제목 USB 를이용한 System Lock 및 File Security Service 2. 프로젝트선정사유 최근경량노트북의보급이급증되었으나많은사용자들은비밀번호를이용한화면잠금등보안기능을적절히사용하지않아각종파일에기록되어있는개인정보가유출될수있는위험이항상존재하고있습니다. 이외에도누구나쉽게구할수있고대중적으로사용되는 USB의경우휴대가편리하면서대용량인경우가많아많은사람이사용하고있지만이 USB가분실될경우, 내장되어있는중요한정보의백업이나정보의유출에따른피해는누구도보상할수없는현실이기때문에이러한문제점들을해결하기위하여본프로젝트를선정하였습니다. 3. 프로젝트연구내용 Visual C 를기반으로하는 Window32 API 를사용하여화면잠금과특정파일의암호화를 구현하였고, C++ 전용 AES128 암호알고리즘을 C 에맞추어변형시켜서적용하였습니다. 4. 프로젝트요약 저희는위의두가지문제점이라는토끼를한번에잡기위하여 USB를이용하여버튼하나로실행되는강력한화면잠금기능을구현하여 PC나노트북등에저장된정보를 1차적으로보호하여미리저장해둔 Hash값이서로 Matching되는 USB를소지한사용자만이화면잠금을해제할수있도록구현함과동시에 USB에저장된중요한파일의경우는사용자의과실로인한분실에따른개인정보의유출을방지하기위하여파일의내용을암호화하여알아볼수없게하는기능과적용된암호를복호화가가능하도록구현하였습니다

4 Ⅰ-2. 연구활동배경 - 현대사회를살아감에있어서정보의의미는개인이나특정기업혹은단체와국가에 이르기까지그필요성과중요성을널리인식하고있는반면아직그정보를보호하고자하는 개개인의노력은아직도부족하고미흡한편이라고감히말할수있습니다. 이에저희 Team I.U는소형 USB 하나로 2가지의기본적인보안기능을제공하는연구를시작하였습니다. 본연구활동의결과로만들어진프로그램을적절히사용할경우개인적인정보뿐만아니라기업, 단체또는국가의정보를개인이관리함에있어서한층더강화된보안기능을제공받을수있습니다. 본연구활동의주요기능은크게화면잠금과암호화기능으로나눌수있습니다. 우선화면잠금기능을구현하기위해 Windows32 API 를사용하였는데, 이윈도 API는마이크로소프트 32비트윈도운영체제들이사용하는 API입니다. C/C++ 개발프로그램에서직접운영체제와상호작용할수있도록만들어졌으며, 이 API에소속된 DLL(Dynamic Link Library) 중 WinLockDLL 이란라이브러리를사용하여구현하였습니다. 암호화기능은현재 Open Source로공개되어있는 AES 암호를사용하였습니다. 이 AES 암호란 Advanced Encryption Standard의약자로, 존대먼, 빈센트라이먼이만든암호화알고리즘입니다. NIST가제정하였고미국정부가공식적으로채택하게된후널리사용되고있습니다. 128Bit, 192Bit, 256Bit 3가지종류를지원하는암호알고리즘이지만본연구에서는속도의최적화를위해 128Bit 방식을사용하였습니다. 특히이암호화기능의강도를유지하기위해사용하는해시함수 (Hash Function) 를사용하는데이는임의의길이데이터를일정한길이의데이터로 Mapping시키는알고리즘입니다. 해시함수는결정론적으로작동해야하며, 따라서두해시값이다르다면그해시값에대한원래데이터도달라야하며, 역은성립하지않는특징이있습니다. 해시함수중에는암호학적해시함수 (Cryptographic Hash Function) 와비-암호학적해시함수로구분되곤합니다. 저희는이 Hash 함수중 SHA-1 함수를사용하였습니다. SHA(Secure Hash Algorithm) 함수들은서로관련된암호학적해시함수들의모음입니다. 이들함수는미국국가안보국 (NSA) 이 1993년에처음으로설계했으며미국국가표준으로지정되었던함수입니다. 기존의 SHA-1 이외에도 4종류의변형 (SHA-224, SHA-256, SHA-384, SHA-512) 가발표되었으며, 이들을통칭해서 SHA-2라고하기도합니다. SHA-1 은 SHA 함수들중가장많이쓰이며, TLS, SSL, SSH, IPSec 등많은보안기능을 지원하는프로토콜과프로그램에서사용되고있습니다. 본연구에서는속도의최적화를위해 비교적간단한 SHA-1 을사용하였습니다

5 Ⅰ-3. 피해사례조사 < 그림 -1.3(1) 개인정보침해관련사건자료 > 위의통계에서확인할수있는점은사고대상의업종과는관계없이개인정보의 관리미흡으로인한유출사태가끊임없이일어나고그추세또한급격히상승하고 있다는것을확인할수있습니다. 위와같은피해사례중개인의부주의등인적과실로인한피해는작은경각심과 보안의식을갖고있다면누구나예방할수있을것이라고생각되어연구를진행하게 되었습니다

6 < 그림 -1.3(2) 고객정보유출시금융기관이입는피해 > 위의자료는고객의정보유출피해가발생했을때기업이직접적으로타격을입을수있는부분입니다. 일례로 SK communications의 NateON과 Cyworld 서비스의경우대량의개인정보유출사건당시고객들은 SK를상대로집단소송을이행한바있으며, 사용자의대규모이탈의직접적인원인이되어현재는그명맥만잇고있는현실입니다. 또다른예로는농협의대량개인정보유출사건당시많은고객들이신뢰를잃고 농협과의모든금융거래를중지하고신용정보를파기한후타사은행의고객으로 유입된바가있습니다

7 < 그림 -1.3(3) 개인정보유출사고시구제방법및한계 > 위의자료에서확인할수있듯해커의악의적인수법으로인한사용자의개인정보유출이일어났을때에는해당기업에게보상을청구할수있는법적근거가마련되어있지만, 만약직원이나내부관계자의부주의로인한사고로인한보상은어디에도나타나있지않습니다. 모든책임을특정인에게전가하기에는기업이나사고의원인이된당사자측모두부담이뒤따르기때문입니다. 저희는본연구를통해제작된프로그램으로위와같은사건, 사고를사전에미리 예방하고자하여실시하게되었습니다

8 Ⅱ. 본론 Ⅱ-1. 프로그램구성 - USB 인식후잠금해제를위한 PW 파일확인 - WinLockDLL 을이용한화면잠금 - PC( 노트북 ) USB 간의파일암호화백업, 복호화복원 < 그림 -2.1(1) 프로그램구조 > < 그림 -2.1(2) 프로그램메인화면 > - 8 -

9 Ⅱ-2. 파일의암호화후백업및복호화후복원 파일백업 Flow Chart < 그림 -2.2 파일백업 Flow Chart > 파일의백업기능은기존의 Copy & Paste를이용하는수동방식을개선한형태로폴더를지정한뒤클릭한번으로백업및암호화기능이실행되게구축하여인식된상태인 USB의최상위 Directory에 Backup 이라는이름의폴더를생성한후 AES-128 암호를적용하여저장하게되고, 복호화를선택할경우기존에백업을시도했던경로에동일한방식의암호를역산하는방식으로복호화한뒤저장합니다. 기능의동작순서는프로그램을실행후메인화면에서 드라이브선택 메뉴를통한백업드라이브 (USB) 를선택후 Write가가능한지여부를판단하게됩니다. 만약 Write가가능한드라이브라면백업할파일을지정한후암호화가가능한파일형식인지의여부를확인한후에백업과동시에파일암호화키를생성하게되고키를저장합니다. 복호화시에는생성되었던키값에 Hash 함수를적용한결과값이 USB 에저장된것과 PC 에 저장되어있는것이일치하는지여부를확인후일치한다면복호화가이루어지게됩니다. 모든선택문에서 False 값으로판단될경우이전단계로돌아가메뉴를재선택하게됩니다

10 Ⅱ-3. 화면잠금 화면잠금 Flow Chart < 그림 -2.3 화면잠금 Flow Chart > 본프로그램이실행된적이없는 USB를 PC나노트북에삽입하여정상적으로인식된경우프로그램을실행한후파일백업메뉴의 Step 1에서보여지는드라이브를선택하는화면에서인식된드라이브 ( 현재구동중인 PC의경우 G:\) 에 LockKey.dat 이라는파일을숨김형태로생성하여 Hash 함수인 SHA-1를적용시킨 PW파일로지정후화면잠금해제시도가있을때 (USB Output 후다시 Input 시 ) 매칭을확인하여잠금을해제할수있습니다. 기능의동작순서는메인화면에서화면잠금해제의키값을저장할 USB 드라이버를선택후우측상단 화면잠금 버튼을클릭시화면이잠금설정되게됩니다. 만약화면잠금을해제할키를 USB에저장하지않고기능을실행시잠금해제가불가능하기때문에사용중인 PC를재부팅하여야합니다. USB 삽입시저장된화면잠금해제용키값이정상적인 PW 파일로인식되면화면잠금을 해제하게됩니다. 모든선택문에서 False 값으로판단될경우이전단계로돌아가대기하게됩니다

11 Ⅱ-4. 소스코드 #define WIN32_LEAN_AND_MEAN #include "stdafx.h" #include "resource.h"--- #include "Logfile.h" #include "../../WinLockDLL/WinLockDLL/winlockdll.h" #include "Shlwapi.h" #include <dbt.h> #include <windows.h>// 파일복사 #include <shlwapi.h>//lockkey.txt 파일검사 #include <WinCrypt.h>// 파일암호화 #pragma comment(lib, "Shlwapi.lib") #define PROGRAM_MANAGER "Program Manager" // Program manager window name #define TASKBAR "Shell_TrayWnd" // Taskbar class name //#define MY_PASS "NALNARI" // 패스워드 // 파일암호화 #define KeyLen 0x0080 * 0x10000 // 128-bit // 파일암호화 HHOOK hhook; // Mouse hook HINSTANCE hinst; // Instance handle HINSTANCE g_hinstance; HWND hwnd ; // 파일생성및쓰기 static HANDLE hfile; static DWORD result; static int GStr; // 파일읽기 static HANDLE R_hFile; static HANDLE f_hfile; static DWORD RRead; static DWORD FRead; static TCHAR Rstring[21]; static TCHAR fstring[21]; static int RStr; static DWORD ppbdata;// 암호화 // 파일생성및검사 TCHAR Txtname[128]=TEXT(":\\LockKey.dat");// 파일이름 TCHAR CTxtname[128]=TEXT("D"); TCHAR Tempname[128]; TCHAR *ftxtname[128]=text("e"),text("f"),text("g"),text("h"),text("i"),text("j"); TCHAR copytxtname[128];

12 //LPCTSTR lpszclass=text("screen Lock"); // 파일내용암호화 HCRYPTPROV hprov; HCRYPTHASH hhash; HCRYPTKEY hkey; BYTE pbdata[100] = "TSTWPSELSIDWLSEP" BYTE MY_PASSKEY; BYTE MY_PASSWD[100]; DWORD dwdatalen = (DWORD)strlen((char*)pbData) + 1; // 폴더복사 TCHAR FolderCP[128]; TCHAR FolderCP2[128]; TCHAR NUL[1]; #define DESKTOPNAME "MyDesktop2" // New desktop name THREAD_DATA td; static WCHAR buf[1024]; static char cbuf[1024]; bool g_bunlock = false // 파일암호화 // wstrsrcfn : 원시파일명 // wstrdestfn : 목적파일명 // hkey : 암호화키 HRESULT FileEncryption( WCHAR *wstrsrcfn, WCHAR *wstrdestfn, HCRYPTKEY hkey ) if( wstrsrcfn == NULL wstrdestfn == NULL hkey == NULL ) return S_FALSE; HANDLE DWORD DWORD char hsrcfile, hdestfile; nnumberofbytestoread, lpnumberofbytesread; lpnumberofbyteswritten; strbuffer[1024]; // 원시파일오픈 hsrcfile = CreateFile( wstrsrcfn, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if( hsrcfile == INVALID_HANDLE_VALUE ) return S_FALSE; // 목적파일오픈 hdestfile = CreateFile( wstrdestfn, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); nnumberofbytestoread = sizeof(strbuffer);

13 ); while(1) // 원시파일로부터일정량 (nnumberofbytestoread) 의데이터를읽는다. ReadFile( hsrcfile, strbuffer, nnumberofbytestoread, &lpnumberofbytesread, NULL // 읽어들인데이터가없을경우종료 if( lpnumberofbytesread <= 0 ) break // 암호화 CryptEncrypt( hkey, 0, TRUE, 0, (BYTE *)strbuffer, &lpnumberofbytesread, sizeof(strbuffer) ); // 암호화처리된데이터를목적파일에저장 WriteFile( hdestfile, strbuffer, lpnumberofbytesread, &lpnumberofbyteswritten, NULL ); CloseHandle( hdestfile ); // 오픈된목적파일핸들닫기 CloseHandle( hsrcfile ); // 오픈된원시파일핸들닫기 return S_OK; // 파일복호화 // wstrsrcfn : 원시파일명 // wstrdestfn : 목적파일명 // hkey : 복호화키 HRESULT FileDecryption( WCHAR *wstrsrcfn, WCHAR *wstrdestfn, HCRYPTKEY hkey ) if( wstrsrcfn == NULL wstrdestfn == NULL hkey == NULL ) return S_FALSE; HANDLE hsrcfile, hdestfile; DWORD nnumberofbytestoread, lpnumberofbytesread; DWORD lpnumberofbyteswritten; char strbuffer[1024]; // 원시파일오픈 hsrcfile = CreateFile( wstrsrcfn, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if( hsrcfile == INVALID_HANDLE_VALUE ) return S_FALSE; // 목적파일오픈 hdestfile = CreateFile( wstrdestfn, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if( hdestfile == INVALID_HANDLE_VALUE ) CloseHandle( hsrcfile ); // 오픈된원시파일핸들닫기 return S_FALSE; nnumberofbytestoread = sizeof(strbuffer);

14 ); while(1) // 원시파일로부터일정량 (nnumberofbytestoread) 의데이터를읽는다. ReadFile( hsrcfile, strbuffer, nnumberofbytestoread, &lpnumberofbytesread, NULL // 읽어들인데이터가없을경우종료 if( lpnumberofbytesread <= 0 ) break // 복호화 CryptDecrypt( hkey, 0, TRUE, 0, (BYTE *)strbuffer, &lpnumberofbytesread ); // 암호화처리된데이터를목적파일에저장 WriteFile( hdestfile, strbuffer, lpnumberofbytesread, &lpnumberofbyteswritten, NULL ); CloseHandle( hdestfile ); // 오픈된목적파일핸들닫기 CloseHandle( hsrcfile ); // 오픈된원시파일핸들닫기 return S_OK; //LRESULT CALLBACK WndProc(HWND hwnd,uint imessage,wparam wparam,lparam lparam); INT_PTR CALLBACK MainDlgProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam); INT_PTR CALLBACK UnlockEditProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam); BOOL BrowseFolder(HWND hparent, LPCTSTR sztitle, LPCTSTR StartPath, TCHAR *szfolder); char Remove(char* in_hasgenre); BOOL XCopy(LPCTSTR Src, LPCTSTR Dest); //BOOL FileEncryption(LPCTSTR Src,LPCTSTR Dest);//, LPCTSTR Dest); BOOL FileEncryption(LPCTSTR Src, LPCTSTR Dest,HWND hwnd);//, LPCTSTR Dest) // Foldercp FolderCP2가들어와야함 BOOL FileDecryption(LPCTSTR Src, LPCTSTR Dest,HWND hwnd);//, LPCTSTR Dest) // Foldercp FolderCP2가들어와야함 INT_PTR CALLBACK HelpProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam); INT_PTR CALLBACK MakerProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam); INT_PTR CALLBACK OkProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam); //void hex2byte(const char *in, int len, byte *out);// 파일암호화 //void encryp(); DWORD WINAPI MyThread(LPVOID lpparameter) SetThreadDesktop(((THREAD_DATA *)lpparameter)->hdesk); g_bunlock = false DialogBox( g_hinstance, MAKEINTRESOURCE(IDD_LL), HWND_DESKTOP, UnlockEditProc ); while(!g_bunlock ) Sleep(10); return 0;

15 int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) return 0; //HWND hwnd; //MSG Message; //WNDCLASS WndClass; g_hinstance = hinstance; DialogBox( g_hinstance, MAKEINTRESOURCE(IDD_MAIN), HWND_DESKTOP, MainDlgProc ); int i=0,j=0; HWND hedit; INT_PTR CALLBACK MainDlgProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam) //RECT r; TCHAR usblist[128];// 암호키생성 static TCHAR StartPath[MAX_PATH]; TCHAR Folder[MAX_PATH]; TCHAR File[MAX_PATH]=TEXT("*.");// 리스트박스 char filetest[max_path];//([--] 제거할때 ) 형변환 switch(message) case WM_CREATE: HWND hcombo; hcombo=getdlgitem(hdlg, IDOK); SetFocus(hCombo); return TRUE; //USB 선택리스트박스 case WM_INITDIALOG: DlgDirList(hDlg, File, IDC_LIST2, 0, (DDL_DRIVES)); return TRUE; //USB 인식부분 case WM_DEVICECHANGE: switch (LOWORD(wParam)) case DBT_DEVICEARRIVAL: DlgDirList(hDlg, File, IDC_LIST2, 0, (DDL_DRIVES)); break case DBT_DEVICEREMOVECOMPLETE: DlgDirList(hDlg, File, IDC_LIST2, 0, (DDL_DRIVES)); break default: break return TRUE;

16 case WM_COMMAND: switch (LOWORD(wParam)) // 화면잠금버튼 case IDOK: MessageBox(hWnd, TEXT("USB를분리해주세요 "), TEXT(" 확인 "),MB_OK); strcpy(td.szdesktopname, DESKTOPNAME); Thread_Desktop(MyThread, (THREAD_DATA *)&td); return TRUE; // 암호키생성 (USB 선택완료 ) 버튼 case IDC_ENCRYPTION: HWND hlist; hlist=getdlgitem(hdlg, IDC_LIST2); i=sendmessage(hlist, LB_GETCURSEL,0,0); SendMessage(hList, LB_GETTEXT, i, (LPARAM)File); if(i<0) MessageBox(hWnd,TEXT("usb를선택해주세요 "),TEXT(" 경고 "),MB_OK); else if(i==0 i==1) MessageBox(hWnd,TEXT("C와 D드라이브를제외한 usb를선택해주세요 "),TEXT(" 경고 "),MB_OK); else WideCharToMultiByte(CP_ACP, 0, File, 260, filetest, 260, NULL, NULL); Remove(filetest); MultiByteToWideChar( CP_ACP, 0, filetest, -1, File, 260); wcscpy(foldercp2, NUL); wcscat(foldercp2, File); wcscat(foldercp2, L":\\BackUp"); //MessageBox(hWnd, FolderCP2,TEXT(" 알림 "),MB_OK); SetDlgItemText(hDlg, IDC_EDIT2, FolderCP2); wcscat(file, (LPCTSTR)Txtname); hfile = CreateFile(File, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0); //CREATE_ALWAYS 를OPEN_EXISTING 로수정하면파일끝에추가 // 암호화부분 if(!cryptacquirecontext(&hprov, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0)) //CSP(Crystographic Service Provider) 핸들얻기 CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV,PROV_RSA_FULL, CRYPT_NEWKEYSET); // 유저용키컨테이너만들기 CryptGenRandom(hProv,1,&MY_PASSKEY); // 난수생성 wsprintf((lpwstr)my_passwd,text("%d273%d58%d"),my_passkey,my_passkey,my_passkey); //MessageBox(hWnd, (LPWSTR)MY_PASSWD,TEXT("MY_PASSKEY"),MB_OK);

17 CryptCreateHash(hProv, CALG_SHA, 0, 0, &hhash);// 해쉬만들기 CryptHashData(hHash, (BYTE*)MY_PASSWD,sizeof(MY_PASSWD),0); //(DWORD)strlen(MY_PASSWD), 0); // 해쉬값계산 CryptDeriveKey(hProv, CALG_RC4, hhash, KeyLen, &hkey); // 키만들기CALG_AES_128 CryptEncrypt(hKey, 0, TRUE, 0, pbdata, &dwdatalen, 30);// 암호화 WriteFile(hFile, pbdata, sizeof(pbdata),&result, NULL); //CryptDecrypt(hKey, 0, TRUE, 0, pbdata, &dwdatalen);// 복호화 CryptDestroyKey(hKey); CryptDestroyHash(hHash); // 해쉬없애기 CryptReleaseContext(hProv, 0); // CSP 핸들풀어주기 CloseHandle(hFile); wcscpy(tempname,ctxtname); wcscat(tempname, (LPCTSTR)Txtname); //d 드라이브에파일복사 CopyFile(File,Tempname,false); //d드라이브에파일복사 //wsprintf(usblist,text("%s 파일생성완료 "),File); //MessageBox(hWnd, usblist,text(" 알림 "),MB_OK); return TRUE; // 파일암호화버튼 case IDC_FILE_ENCRYPTION: //MessageBox(hWnd, TEXT(" 파일암호화 "),TEXT(" 메시지박스 "),MB_OK); // 복사하는기능및암호화기능 GetDlgItemText(hDlg, IDC_EDIT,FolderCP,150); if (!lstrlen (FolderCP) ) MessageBox(hWnd,L" 백업폴더를지정해주세요!",L" 알림 ",MB_OK); else GetDlgItemText(hDlg, IDC_EDIT2,FolderCP2,150); if (!lstrlen (FolderCP2) ) MessageBox(hWnd,L"USB를지정해주세요!",L" 알림 ",MB_OK); else CreateDirectory(FolderCP2, NULL); if(xcopy(foldercp, FolderCP2)) MessageBox(hWnd,L" 복사를완료했습니다 ",L" 알림 ",MB_OK); if(fileencryption(foldercp,foldercp2,hdlg)) MessageBox(hWnd,L" 진행중 ",L"FileEncryption",MB_OK); return TRUE; // 파일복호화버튼 case IDC_FILE_DECRYPTION: CreateDirectory(FolderCP, NULL); if(xcopy(foldercp2, FolderCP)) MessageBox(hWnd,L" 복사를완료했습니다 ",L" 알림 ",MB_OK); if(filedecryption(foldercp2,foldercp,hdlg)) MessageBox(hWnd,L" 진행중 ",L"FileDecryption",MB_OK); return TRUE;

18 //... 버튼 case IDC_FINDFORDER: if (BrowseFolder(hWnd,TEXT(" 폴더를선택하세요 "),StartPath,Folder)) SetDlgItemText(hDlg, IDC_EDIT, Folder); return TRUE; // 도움말버튼 case IDC_HELP: DialogBox( g_hinstance, MAKEINTRESOURCE(IDD_Help), HWND_DESKTOP, HelpProc ); return TRUE; // 만든이버튼 MakerProc ); case IDC_MAKER: return TRUE; DialogBox( g_hinstance, MAKEINTRESOURCE(IDD_MAKER), HWND_DESKTOP, case IDCANCEL: EndDialog(hDlg,0); return TRUE; return FALSE; return FALSE; INT_PTR CALLBACK OkProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam) HDC hdc; PAINTSTRUCT ps; HANDLE hfile; DWORD dwread; RECT rt; switch(message) case WM_PAINT : hdc=beginpaint(hdlg, &ps); GetClientRect(hDlg,&rt); // 텍스트바탕출력을투명으로 ::SetBkMode( hdc, TRANSPARENT ); DrawText(hdc,buf,-1,&rt,DT_WORDBREAK); EndPaint(hDlg, &ps); break

19 case WM_CLOSE : EndDialog( hdlg, 0 ); return FALSE; INT_PTR CALLBACK UnlockEditProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam) int i=0; switch(message) //USB 인식부분 case WM_DEVICECHANGE: switch (LOWORD(wParam)) case DBT_DEVICEARRIVAL: wcscpy(tempname,ctxtname); wcscat(tempname, (LPCTSTR)Txtname); while(1) wcscpy(copytxtname,ftxtname[i]); wcscat(copytxtname,(lpctstr)txtname); if(pathfileexists(copytxtname)) //MessageBox(hWnd, L" 파일있음 ",TEXT(" 확인 "),MB_OK);// 파일있음 R_hFile = CreateFile(copyTxtname, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); ReadFile(R_hFile, Rstring, 20, &RRead, NULL); f_hfile = CreateFile(Tempname, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); ReadFile(f_hFile, fstring, 20, &RRead, NULL); //MessageBox(hWnd, Rstring, L" 확인 ", MB_OK); //MessageBox(hWnd, fstring, L" 확인 ", MB_OK); if(wcscmp(fstring, Rstring)==0) //MessageBox(hWnd, L" 일치 ",TEXT(" 알림 "),MB_OK); g_bunlock = true CloseHandle(R_hFile); CloseHandle(f_hFile); EndDialog( hwnd, 0 ); break else CloseHandle(R_hFile); CloseHandle(f_hFile); MessageBox(hWnd, L" 암호불일치 ", L" 오류 ", MB_OK); break

20 break else // 파일없음 i++; if(i==6)i=0; MessageBox(hWnd, L" 파일없음 ", L" 오류 ", MB_OK); break break case DBT_DEVICEREMOVECOMPLETE: g_bunlock = false break default: break return TRUE; return 0; return FALSE; INT_PTR CALLBACK HelpProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam) HDC hdc; PAINTSTRUCT ps; HANDLE hfile; DWORD dwread; RECT rt; switch(message) case WM_INITDIALOG : hfile = CreateFile(L"help.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hfile!= INVALID_HANDLE_VALUE) ZeroMemory( buf, sizeof(buf) ); ::ReadFile(hFile, buf, sizeof(buf), &dwread, NULL); CloseHandle(hFile); return 0; case WM_PAINT : hdc=beginpaint(hdlg, &ps); GetClientRect(hDlg,&rt); // 텍스트바탕출력을투명으로. ::SetBkMode( hdc, TRANSPARENT ); DrawText(hdc,buf,-1,&rt,DT_WORDBREAK); EndPaint(hDlg, &ps); break

21 case WM_CLOSE : EndDialog( hdlg, 0 ); return FALSE; INT_PTR CALLBACK MakerProc(HWND hdlg, UINT Message, WPARAM wparam, LPARAM lparam) HDC hdc; PAINTSTRUCT ps; HANDLE hfile; DWORD dwread; RECT rt; switch(message) case WM_INITDIALOG : hfile = CreateFile(L"Maker.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hfile!= INVALID_HANDLE_VALUE) ZeroMemory( buf, sizeof(buf) ); ::ReadFile(hFile, buf, sizeof(buf), &dwread, NULL); CloseHandle(hFile); return 0; case WM_PAINT : hdc=beginpaint(hdlg, &ps); GetClientRect(hDlg,&rt); // 텍스트바탕출력을투명으로. ::SetBkMode( hdc, TRANSPARENT ); DrawText(hdc,buf,-1,&rt,DT_WORDBREAK); EndPaint(hDlg, &ps); break case WM_CLOSE : EndDialog( hdlg, 0 ); return FALSE;

22 // 경로설정 #include <shlobj.h> int CALLBACK BrowseCallbackProc(HWND hwnd,uint umsg,lparam lparam,lparam lpdata) switch (umsg) case BFFM_INITIALIZED: if (lpdata!= NULL) SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)lpData); break return 0; BOOL BrowseFolder(HWND hparent, LPCTSTR sztitle, LPCTSTR StartPath, TCHAR *szfolder) LPMALLOC pmalloc; LPITEMIDLIST pidl; BROWSEINFO bi; bi.hwndowner = hparent; bi.pidlroot = NULL; bi.pszdisplayname = NULL; bi.lpsztitle = sztitle ; bi.ulflags = 0; bi.lpfn = BrowseCallbackProc;; bi.lparam = (LPARAM)StartPath; pidl = SHBrowseForFolder(&bi); if (pidl == NULL) return FALSE; SHGetPathFromIDList(pidl, szfolder); if (SHGetMalloc(&pMalloc)!= NOERROR) return FALSE; pmalloc->free(pidl); pmalloc->release(); return TRUE; // 문자열 "[-" "-]" 제거 char Remove(char* in_hasgenre) char *bp, *tp; bp = in_hasgenre; tp = in_hasgenre + strlen(in_hasgenre);

23 // 전방으로 "[-" 제거처리 while ( *bp!= '\0' && (*bp == '[' *bp == '-' (unsigned char)(*bp) <= 0x20 ) ) bp++; // 후방으로 "-]" 제거처리 while ( tp >= in_hasgenre && (*tp == ']' *tp == '-' (unsigned char)(*tp) <= 0x20) ) tp--; *(tp+1) = '\0' tp = in_hasgenre; while ( *bp!= '\0' ) if ( *bp == ' ' *bp == '-' ) bp++; continue *tp = *bp; tp++; bp++; *tp = '\0' return *in_hasgenre; // 폴더복사 // XCopy(Dir1, Dir2) 형태로사용한다. 1>2 BOOL XCopy(LPCTSTR Src, LPCTSTR Dest) HANDLE hsrch; WIN32_FIND_DATA wfd; BOOL bresult=true; TCHAR WildCard[MAX_PATH]; TCHAR SrcFile[MAX_PATH]; TCHAR DestFile[MAX_PATH]; wsprintf(wildcard,l"%s\\*.*",src); CreateDirectory(Dest,NULL); hsrch=findfirstfile(wildcard,&wfd); if (hsrch == INVALID_HANDLE_VALUE) return FALSE; while (bresult) wsprintf(srcfile,l"%s\\%s",src,wfd.cfilename); wsprintf(destfile,l"%s\\%s",dest,wfd.cfilename); // 서브디렉토리가발견되면서브디렉토리를복사한다. if (wfd.dwfileattributes & FILE_ATTRIBUTE_DIRECTORY) if (lstrcmp(wfd.cfilename,l".") && lstrcmp(wfd.cfilename,l"..")) XCopy(SrcFile, DestFile); else CopyFile(SrcFile,DestFile,FALSE); bresult=findnextfile(hsrch,&wfd); FindClose(hSrch); return TRUE;

24 BOOL FileEncryption(LPCTSTR Src, LPCTSTR Dest,HWND hwnd) //, LPCTSTR Dest) // Foldercp FolderCP2가들어와야함 HANDLE hsrch; HANDLE hfile; BOOL bresult=true; WIN32_FIND_DATA wfd; // BOOL bresult; TCHAR WildCard[MAX_PATH]; TCHAR findfirstfilename[max_path]; TCHAR findsecondfilename[max_path]; DWORD result; DWORD tlen; BYTE PASSWD[100]="TEST" TCHAR buf[16]=0,; int poin = 0; int point; wsprintf(wildcard,l"%s\\*.*",src); hsrch=findfirstfile(wildcard,&wfd); MessageBox(hwnd, WildCard, L"WildCard", MB_OK); if (hsrch == INVALID_HANDLE_VALUE) return FALSE; while (bresult) wsprintf(findfirstfilename,l"%s\\%s",src,wfd.cfilename); wsprintf(findsecondfilename,l"%s\\%s",dest,wfd.cfilename); if (wfd.dwfileattributes & FILE_ATTRIBUTE_DIRECTORY) if (lstrcmp(wfd.cfilename,l".") && lstrcmp(wfd.cfilename,l"..")) XCopy(findFirstFileName, findsecondfilename); hfile = CreateFile(findSecondFileName, GENERIC_WRITE GENERIC_READ, FILE_SHARE_WRITE FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); ReadFile(hFile, buf, sizeof(buf),&result, NULL); SetFilePointer(hFile, 0, NULL, FILE_BEGIN); // 파일포인터를파일의처음으로이동 tlen=lstrlen(buf); CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0);

25 //CSP(Crystographic Service Provider) 핸들얻기 CryptCreateHash(hProv, CALG_SHA, 0, 0, &hhash);// 해쉬만들기 CryptHashData(hHash, (BYTE*)PASSWD,sizeof(PASSWD),0);// 해쉬값계산 CryptDeriveKey(hProv, CALG_RC4, hhash, KeyLen, &hkey); // 키만들기CALG_AES_128 CryptEncrypt(hKey, 0, TRUE, 0, (BYTE *)buf, &dwdatalen, sizeof(buf));// 암호화 CryptDestroyKey(hKey); CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); WriteFile(hFile, buf, sizeof(tlen),&result, NULL); //for(int i=0;i<8;i++) buf[i]=0; CloseHandle(hFile); // 파일닫기 hfile = CreateFile(L"ok.txt", GENERIC_READ GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hFile, buf, sizeof(tlen), &result, NULL); for(int i=0;i<16;i++) buf[i]=0; CloseHandle(hFile); else sprintf( (char*)my_passwd, "TestPassword" ); CopyFile(findFirstFileName,findSecondFileName,FALSE); CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0); //CSP(Crystographic Service Provider) 핸들얻기 CryptCreateHash(hProv, CALG_SHA, 0, 0, &hhash);// 해쉬만들기 CryptHashData(hHash, (BYTE*)MY_PASSWD,sizeof(MY_PASSWD),0);// 해쉬값계산 CryptDeriveKey(hProv, CALG_RC4, hhash, KeyLen, &hkey); // 키만들기 CALG_AES_128 FileEncryption( findfirstfilename, findsecondfilename, hkey ); CryptDestroyKey(hKey); CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); //CloseHandle(hFile); hfile = CreateFile(L"F:\ok.txt", GENERIC_READ GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hFile, buf, sizeof(tlen), &result, NULL); for(int i=0;i<16;i++) buf[i]=0; CloseHandle(hFile); // bresult=findnextfile(hsrch,&wfd);

26 // 암호화부분 //CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0); //CSP(Crystographic Service Provider) 핸들얻기 // CryptCreateHash(hProv, CALG_SHA, 0, 0, &hhash);// 해쉬만들기 // CryptHashData(hHash, (BYTE*)PASSWD,sizeof(PASSWD),0);//(DWORD)strlen(PASSWD), 0); // 해쉬값계산 // CryptDeriveKey(hProv, CALG_RC4, hhash, KeyLen, &hkey); // 키만들기CALG_AES_128 // CryptEncrypt(hKey, 0, TRUE, 0, (BYTE *)buf, &dwdatalen, sizeof(buf));// 암호화 // CryptDecrypt(hKey, 0, TRUE, 0, pbdata, &dwdatalen);// 복호화 // CryptDestroyKey(hKey); // CryptDestroyHash(hHash); // 해쉬없애기 // CryptReleaseContext(hProv, 0); // CSP 핸들풀어주기 FindClose(hSrch); return TRUE; BOOL FileDecryption(LPCTSTR Src, LPCTSTR Dest,HWND hwnd) //, LPCTSTR Dest) // Foldercp FolderCP2가들어와야함 HANDLE hsrch; HANDLE hfile; BOOL bresult=true; WIN32_FIND_DATA wfd; // BOOL bresult; TCHAR WildCard[MAX_PATH]; TCHAR findfirstfilename[max_path]; TCHAR findsecondfilename[max_path]; DWORD result; DWORD tlen; BYTE PASSWD[100]="TEST char buf[16]=0,; TCHAR dbuf[16]=0,; int poin = 0; int point; TCHAR name[max_path]; wsprintf(wildcard,l"%s\\*.*",dest); hsrch=findfirstfile(wildcard,&wfd); MessageBox(hwnd, WildCard, L"WildCard", MB_OK);

27 if (hsrch == INVALID_HANDLE_VALUE) return FALSE; while (bresult) wsprintf(findfirstfilename,l"%s\\%s",src,wfd.cfilename); wsprintf(findsecondfilename,l"%s\\%s",dest,wfd.cfilename); if (wfd.dwfileattributes & FILE_ATTRIBUTE_DIRECTORY) if (lstrcmp(wfd.cfilename,l".") && lstrcmp(wfd.cfilename,l"..")) hfile = CreateFile(findSecondFileName, GENERIC_WRITE GENERIC_READ, FILE_SHARE_WRITE FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); ReadFile(hFile, buf, sizeof(buf),&result, NULL); 파일의처음으로이동 SetFilePointer(hFile, 0, NULL, FILE_BEGIN); // 파일포인터를 WriteFile(hFile, buf, sizeof(tlen),&result, NULL); //for(int i=0;i<8;i++) buf[i]=0; CloseHandle(hFile); // 파일닫기 hfile = CreateFile(L"F:\okk.txt", GENERIC_READ GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hFile, buf, sizeof(tlen), &result, NULL); for(int i=0;i<16;i++) buf[i]=0; CloseHandle(hFile) else sprintf( (char*)my_passwd, "TestPassword" ); //for(int i=0; i<4; i++) // //point = i*4+poin; //hfile = CreateFile(findSecondFileName, GENERIC_WRITE GENERIC_READ, FILE_SHARE_WRITE FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); //ZeroMemory( buf, sizeof(buf) ); //SetFilePointer(hFile, point, NULL, FILE_BEGIN); // 파일포인터를파일의처음으로이동 //ReadFile(hFile, buf, 16,&result, NULL); //WideCharToMultiByte(CP_ACP, NULL, buf, -1, cbuf, 16, NULL, FALSE); CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0); //CSP(Crystographic Service Provider) 핸들얻기 CryptCreateHash(hProv, CALG_SHA, 0, 0, &hhash); // 해쉬만들기 CryptHashData(hHash, (BYTE*)MY_PASSWD,sizeof(MY_PASSWD),0); // 해쉬값계산 CryptDeriveKey(hProv, CALG_RC4, hhash, KeyLen, &hkey); // 키만들기CALG_AES_

28 FileEncryption(findFirstFileName, findsecondfilename, hkey ); CryptDestroyKey(hKey); CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); /*try char szhex[33]; //One block testing CRijndael orijndael; orijndael.makekey("abcdefghabcdefgh", "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16, 16); char szdataout[17] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; orijndael.decryptblock(buf, szdataout); //CharStr2HexStr((unsigned char*)cbuf, szhex, 16); MultiByteToWideChar(CP_ACP, 0, szdataout, -1, dbuf, strlen(szdataout)); //MultiByteToWideChar(CP_UTF8, NULL, szdataout, -1, buf, 16); SetFilePointer(hFile, point, NULL, FILE_BEGIN); WriteFile(hFile, dbuf, sizeof(tlen),&result, NULL); catch(exception& roexception) cout << roexception.what() << endl; CloseHandle(hFile);*/ hfile = CreateFile(L"F:\okk.txt", GENERIC_READ GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hFile, buf, sizeof(tlen), &result, NULL); for(int i=0;i<16;i++) buf[i]=0; CloseHandle(hFile); // bresult=findnextfile(hsrch,&wfd); FindClose(hSrch); return TRUE; // CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0); //CSP(Crystographic Service Provider) 핸들얻기 //CryptCreateHash(hProv, CALG_SHA, 0, 0, &hhash);// 해쉬만들기 //CryptHashData(hHash, (BYTE*)PASSWD,sizeof(PASSWD),0);// 해쉬값계산 //CryptDeriveKey(hProv, CALG_RC4, hhash, KeyLen, &hkey); // 키만들기CALG_AES_128 //CryptImportKey( hprov, (BYTE *)enckey, length, rsakey, CRYPT_EXPORTABLE, &aeskey ); // CryptImportKey( hprov, (BYTE *)PASSWD, sizeof(passwd), NULL, 0, &hkey ); //CryptGenKey( hprov, CALG_AES_128,hHash,&hKey); // CryptEncrypt(hKey, 0, TRUE, 0, (BYTE *)buf, &dwdatalen, sizeof(buf));// 암호화 // CryptDestroyKey(hKey); //CryptDestroyHash(hHash); // CryptReleaseContext(hProv, 0);

29 Ⅲ. 결론 Ⅲ-1. 기대효과 본프로그램의화면잠금기능을적절히사용할경우인가받지않은타인이고의성을갖고악의적인목적으로 PC를사용하고자접근을시도하여도프로그램을완전히종료하기전에는닫히지않는구조이기때문에작성중인문서를비롯한 PC 내의모든개인정보를보호할수있습니다. 단 PC의 Boot 메뉴나사용자패스워드가설정되어있지않은경우에는재부팅후여전히위협에노출되어있기때문에기본적인패스워드설정이선행되어야합니다. 특정폴더를지정하여해당폴더안의파일들을암호화한후백업하는기능의경우 USB는휴대성과경량이라는장점이있지만분실후의자료에대한보안은전혀유지되지않으므로분실의우려와분실시내부의정보가전혀보호되지않는다는위험이항상존재하기때문에보안이요구되는자료가저장되어있을경우특히적절히사용할수있다고판단되어기능을탑재하였습니다. Ⅲ-2. 프로그램의향후발전, 개선방향 1. 현재 ( ) 화면잠금기능에대하여 Window이외의다른운영체제에서는동작이확인되지않습니다. 이는윈도우의 C++ 기반으로코딩되었기때문이며추후기회가생긴다면 vim이나 Shell 코드등을이용하여 Linux 커널에서도동작이가능하도록제작을고려하고있습니다. 2. 현재백업기능의암호화옵션은백업할폴더내의 *.txt 파일로만한정되어있습니다. 한컴 Office의 *.hwp나 Microsoft Office의 *.doc 파일은문서의 Read 방식이일반 *.txt 파일과다소상이한부분이존재하여인식하지못하고있습니다. 이또한기회가주어진다면더욱다양한확장자를지닌파일에대하여암호화가가능하도록함이목표입니다. 3. 프로그램실행화면의레이아웃디자인부분은시제품 (v 1.0.0) 으로제작되어프로그램 자체의 IDD 파일을사용하였습니다. Free Permission UI 와 Button, Menu 등을사용하여 가독성을높이는등 Visual 적인측면을고려하여재디자인할예정입니다

30 Ⅳ. 참고자료 Ⅳ-1. 참고알고리즘, 블로그및사건, 사고사례 Windows API DLL %EB%B8%8C%EB%9F%AC%EB%A6%AC SK Communications 정보유출사건 B4%20%EC%9C%A0%EC%B6%9C%20%EC%82%AC%EA%B1%B4 카드 3사개인정보유출사건 %9C%EC%9D%B8%EC%A0%95%EB%B3%B4_%EB%8C%80%EB%9F%89%EC%9C%A0%EC%B6%9C_%EC%82%AC %EA%B1%B4 AES 알고리즘 EC%A4%80 참고자료 ( 블로그 ) Hash 함수 Screen Lock

31 Ⅴ. 별첨 Ⅴ-1. 발표 PPT

32

33

34

35

36

37

38

슬라이드 1

슬라이드 1 파일 I/O 와디렉터리컨트롤 1 목차 기본적인파일처리 파일검색 파일열기 & 닫기 파일읽기 & 쓰기 삭제, 복사, 이동 (?) 파일의시간정보얻기 파일특성정보얻기 파일포인터 directory 생성 & 삭제 경로설정 경로얻기 2 파일생성 / 열기 HANDLE CreateFile ( LPCTSTR lpfilename, DWORD dwdesiredaccess, 파일이름

More information

Microsoft PowerPoint - 09-CE-14-리스트콤보박스

Microsoft PowerPoint - 09-CE-14-리스트콤보박스 순천향대학교컴퓨터학부이상정 1 학습내용 리스트박스컨트롤 다이얼로그와리스트박스 콤보박스컨트롤 순천향대학교컴퓨터학부이상정 2 리스트박스컨트롤 순천향대학교컴퓨터학부이상정 3 리스트박스컨트롤 사용자가선택할수있는항목들을여러개나열해두고선택할수있는컨트롤 윈도우클래스의이름은 "listbox" 생성예 hlist=createwindow(l"listbox",null,ws_child

More information

1장 윈도우 프로그래밍 들어가기

1장 윈도우 프로그래밍 들어가기 1 장 윈도우프로그래밍들어가기 김성영교수 금오공과대학교 컴퓨터공학부 예제 다음프로그램은언제종료할까? #include #define QUIT -1 int Func(void) int i; cout > i; return i; void main(void) int Sum = 0, i; cout

More information

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

Microsoft PowerPoint - 09-CE-5-윈도우 핸들 순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정

More information

Microsoft PowerPoint - (제14강)Win32 API.ppt

Microsoft PowerPoint - (제14강)Win32 API.ppt 14. 파일입출력 1 1. 파일입출력 BOOL ReadFile( HANDLE hfile, LPVOID lpbuffer, DWORD nnumberofbytestoread, LPDWORD lpnumberofbytesread, LPOVERLAPPED lpoverlapped ); hfile : 데이터를읽을대상파일의핸들 lpbuffer : 읽은데이터를저장할버퍼 nnumberofbytestoread

More information

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D> 01 : 윈도우프로그래밍기초 학습목표 윈도우운영체제와윈도우응용프로그램의특징을이해한다. SDK 응용프로그램작성과정, 기본구조, 동작원리를이해한다. MFC 응용프로그램작성과정, 기본구조, 동작원리를이해한다. 비주얼 C++ 개발환경사용법을익힌다. 윈도우운영체제특징 (1/3) 그래픽사용자인터페이스 1 윈도우운영체제특징 (2/3) 메시지구동구조 이벤트발생... 대기

More information

2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 중부대학교정보보호학과

2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 중부대학교정보보호학과 2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 2014. 5 중부대학교정보보호학과 목 차 1. 프로젝트설명 1 2. 연구계획 1 2.1 연구목적 1 2.2 연구방법 2 2.3 연구개요 2 2.4 연구구성도 3 3. 연구프로그램구축 5 3.1 주요소스 5 3.2 실행결과

More information

MFC 프로그래밍

MFC 프로그래밍 윈도우프로그래밍 Visual C++ 2010 MFC Programming 1 장. 윈도우프로그래밍기초 윈도우운영체제의특징 그래픽사용자인터페이스 시스템메뉴타이틀바메뉴최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 상태표시줄 스크롤바 윈도우운영체제의특징 메시지구동구조 윈도우운영체제의특징 멀티태스킹과멀티스레딩 멀티태스킹 (Multitasking) 운영체제가여러개의응용프로그램을동시에실행

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

C프로-3장c03逞풚

C프로-3장c03逞풚 C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

제목

제목 Development Technology Seminar 작 성 자 : 고형호 이 메 일 : hyungho.ko@gmail.com 최초작성일 : 2007.01.19 최종작성일 : 2007.02.05 버 전 : 01.05 홈 피 : www.innosigma.com Goal Exception Handling 1. SEH vs. CEH Exception Handling

More information

유저영역후킹탐지시스템 팀 명 : D.N.F (Do Not Fishing) 지도교수 : 유승재교수님 팀 장 : 신동순 팀 원 : 서현찬이치목 중부대학교정보보호학과

유저영역후킹탐지시스템 팀 명 : D.N.F (Do Not Fishing) 지도교수 : 유승재교수님 팀 장 : 신동순 팀 원 : 서현찬이치목 중부대학교정보보호학과 유저영역후킹탐지시스템 팀 명 : D.N.F (Do Not Fishing) 지도교수 : 유승재교수님 팀 장 : 신동순 팀 원 : 서현찬이치목 2016. 05 중부대학교정보보호학과 목 차 1. 서론 2. 관련연구 2.1 IAT 후킹 2.2 PE 구조 3. 본론 3.1 유저영역후킹작성및실행 3.2 유저영역후킹탐지 4. 결론 5. 참고자료 6. 발표자료 1. 서론

More information

Microsoft PowerPoint - 04windows.ppt

Microsoft PowerPoint - 04windows.ppt Game Programming I Windows 프로그래밍 (1) March 27, 2006 목표 윈도우프로그래밍에서이용되는이벤트구동프로그래밍모델의이해 Direct3D 를이용하는윈도우어플리케이션의작성을위한최소한의코드이해 윈도우 (Win32) 어플리케이션 Direct3D API ( 어플리케이션프로그래밍인터페이스 ) 를이용하기위해필요 Win32 API 를이용해작성

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - hci2-lecture1.ppt Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2007년가을학기 9/13/2007 박경신 2 윈도우운영체제특징 그래픽사용자인터페이스 (Graphical User Interface,

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Win32 API Windows Programming 1 http://idb.korea.ac.kr DB & Mining LAB. Korea Univ. 최종업데이트 : 2012. 08. 14 1 컴퓨터시스템의주요구성요소 2 2 컴퓨터하드웨어구성 Fetch : 메인메모리에저장되어있는명령어를 CPU 로 Decode : 컨트롤유닛에의해분석 Execution : ALU

More information

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - hci2-lecture1.ppt Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2008년가을학기 9/16/2008 박경신 2 Windows.NET 구조적프로그램에서객체지향프로그램으로 SDK(Software Development

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

윈도우 프로그래밍

윈도우 프로그래밍 Windows Programming 2013. 3 출처 : 인터넷에서수집한 PT 자료 1. Overview Getting Started (1) 관련도서 Visual C++/API 프로젝트따라하기, 오진환, 컴스페이스 Programming Windows, Charles Petzold, Microsoft Press Windows application Programming

More information

예제와 함께 배워보는 OllyDbg사용법

예제와 함께 배워보는 OllyDbg사용법 초보자를위한예제와함께 배워보는 OllyDbg 사용법 -1 부 - By Beist Security Study Group (http://beist.org) 요약 : 이문서는 Ollydbg 프로그램을이용하여 Reverse Engineering을하는방법에대해서다룬다. 초보자를위하여작성된문서이며예제와함께 Ollydbg의각기능에대해서알아본다. 주로기초적인내용을다루고있다.

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Microsoft PowerPoint - (제15강)Win32 API.ppt

Microsoft PowerPoint - (제15강)Win32 API.ppt 15. 가상메모리, 프로세스 1 1. 메모리할당 가상메모리 OS는 4G 까지메모리 ( 단지주소공간, 물리적인메모리와연결가능성이있는메모리번지 ) 관리가능 사용하지않는부분은하드디스크의페이징파일에저장하여사용가능한 RAM을늘린다. (RAM+ 하드디스크의페이징파일 ) Win32에서추가된가상메모리할당함수들 1. 메모리를예약상태로할당할수있다. 예약이란물리적인메모리를소비하지않으면서주소공간만을미리할당해놓는방법을말한다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT KEY EVENT & STATE 구현 2007. 1. 25 PLATFORM TEAM 정용학 차례 Key Event HS TASK UI TASK LONG KEY STATE 구현 소스코드및실행화면 질의응답및토의 2 KEY EVENT - HS TASK hs_task keypad_scan_keypad hs_init keypad_pass_key_code keypad_init

More information

61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&

More information

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 사용자매뉴얼 JetFlash Vault 100 ( 버전 1.0) 1 목차 1. 시스템요구사항... 3 2. 암호및힌트설정 ( 윈도우 )... 3 3. JetFlash Vault 시작하기 ( 윈도우 )... 7 4. JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 찾아보기... 10 JetFlash

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

USB2

USB2 USB2.0 KIT 용 적외선 온도센서와 온/습도 센서 보드 1. 주의 사항(필독) 2. 시스템 구성 3. USB 프로그램 다운로드 방법 4, PC 프로그램 5. PC Library 사용방법 6. 상품 구입시 회 사 명 : IESystems Website : www.iesystems.co.kr Email : matrixhj@iesystems.co.kr 전화번호

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770>

<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770> 2010 학년도동계 계절수업시험문제지 출제위원 방송대김강현 학과명학번 - 성 명 감독관확인 ( 인 ) 교과목명 교과목코드 윈도우프로그래밍 3 7 출제범위 교재전체 ( 해당강의포함 ) 문항수 50 문항 [50 문항 2 점 =100 점 ] 유의사항 1. OMR 답안지및문제지인적사항표기는반드시컴퓨터용사인펜으로할것 2. 표기한답안은정정이일절불가하니답안표기에각별히유의할것

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

04장 메시지 처리 유형

04장 메시지 처리 유형 4 장 메시지처리유형 김성영교수 금오공과대학교 컴퓨터공학부 메시지처리유형 윈도우에서발생하는이벤트에대응하는윈도우메시지를처리 2 장및 3 장의실습예제 자식윈도우에서발생한이벤트를부모윈도우에서처리 WM_COMMAND 메시지처리 실습 4.2 자식윈도우에서발생한사건유형을구분하여처리 Notification code 처리 실습 4.7 Notification code 의한계를극복하여처리

More information

IS119_Message.Hooking_이성재.hwp

IS119_Message.Hooking_이성재.hwp Message Hooking 이성재 einsstar@is119.jnu.ac.kr Content 1. 목적 1 2. 윈도우 NT 환경에서의메시지처리 2 2.1. 메시지큐를이용한메시지처리 3 2.2. 윈도우프로시저에직접메시지전달 3 3. 메시지후킹이란 3 3.1. 메시지후킹의개념정의 3 3.2. 메시지후킹의유포방법 3 4. 후킹프로시저제작 3 4.1. 사전지식

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

Microsoft PowerPoint - 09-CE-25-오목게임

Microsoft PowerPoint - 09-CE-25-오목게임 순천향대학교컴퓨터학부이상정 1 학습내용 단순오목게임 인터넷오목게임 승부판정오목게임 순천향대학교컴퓨터학부이상정 2 단순오목게임 순천향대학교컴퓨터학부이상정 3 예제 49: 단순오목게임 스크린에바둑판을그리고, 스크린을터치하면해당위치에흰돌또는검은돌만표시 승부는판정하지않음 메뉴 ID_START, ID_EXIT 순천향대학교컴퓨터학부이상정 4 예제 49: 코드 (1) #define

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 윈도우프로그래밍및실습 002. 윈도우프로그래밍의기본 DB & MINING LAB. Korea University since 2007. 09. 03 updated 2012. 08. 18 last updated 2015. 08. 25 이종욱 eastwest9@korea.ac.kr 1 Purpose of this chapter What is a Window programming

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

Microsoft PowerPoint - 09-CE-24-채팅 프로그램

Microsoft PowerPoint - 09-CE-24-채팅 프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기 채팅을위한연결요청시클라이언트로동작

More information

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

More information

1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로 스스로를

1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로 스스로를 Malware Analysis Report Mad Angel 2016.09.17 By Kali-KM 1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

SHA-256 해시함수에대한 소스코드활용매뉴얼

SHA-256 해시함수에대한 소스코드활용매뉴얼 SHA-256 해시함수에대한 소스코드활용매뉴얼 2013.12. - 1 - 제 개정이력 순번 제 개정일 제 개정내역 담당자 해시함수에대한소스코드활용 매뉴얼 김기문 - 2 - < 목차 > 1. 개요 4 2. 해시알고리즘 4 3. 응용프로그램 5 3.1 C/C++ 5 3.1.1 프로젝트생성및빌드 5 3.1.2 소스코드설명 9 3.2 Java 11 3.2.1 프로젝트생성및빌드

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

F120L(JB)_UG_V1.0_ indd

F120L(JB)_UG_V1.0_ indd 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 전화끊기, 통화중메뉴사용하기 전화통화를종료하려면 통화중 ➌ ( 끊기 ) 를누르세요. 전원버튼으로통화종료 ( 124쪽 ) 로설정한경우통화중전원

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 8 장대화상자 VS 2015 008. 윈도우프로그래밍 DB & Mining LAB. Korea University Updated 2010. 10. 23 Updated 2012. 10. 02 Updated 2015. 09. 23 이종욱 eastwest9@korea.ac.kr 1 8-1 대화상자 (1/3) 사용자로부터끊임없이지시를받고사용자의지시에따라작업을하고 작업한결과를사용자에게보고한다.

More information

Microsoft PowerPoint - IP11.pptx

Microsoft PowerPoint - IP11.pptx 열한번째강의카메라 1/43 1/16 Review 2/43 2/16 평균값 중간값 Review 3/43 3/16 캐니에지추출 void cvcanny(const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size = 3); aperture_size = 3 aperture_size

More information

Chapter 1. MFC 시작하기

Chapter 1.  MFC 시작하기 Chapter 1. MFC 시작하기 1. MFC(Microsoft Foundation Class) 개요 2. Visual Studio 2015 프로그램설치하기 3. 마우스클릭프로그램작성 4. 그림그리기프로그램작성 5. 마우스좌표값구하기프로그램작성 1 1.1. MFC 개요 2 1.1.1. C++ 언어 객체지향언어 (Object-Oriented Programming,

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

Slide 1

Slide 1 Acronis TrueImage 사용법 효과적인백업 / 복구솔루션 설치가이드목차 1. ACRONIS TRUEIMAGE 설치하기 ----------------------------- 3 2. 백업및복구방법 -------------------------------------------------- 10 3. OS 부팅없이복구하기 ------------------------------------------

More information

최종보고서 SMT (System Monitoring Tool : 시스템자원모니터링툴 ) 팀명 : Point of C++ 팀장 : 한소라 (11학번) 팀원 : 이재익 (09학번) 한우영 (09학번) 김은지 (11학번) 지도교수 : 양정모교수님 - 1 -

최종보고서 SMT (System Monitoring Tool : 시스템자원모니터링툴 ) 팀명 : Point of C++ 팀장 : 한소라 (11학번) 팀원 : 이재익 (09학번) 한우영 (09학번) 김은지 (11학번) 지도교수 : 양정모교수님 - 1 - 최종보고서 SMT (System Monitoring Tool : 시스템자원모니터링툴 ) 팀명 : Point of C++ 팀장 : 한소라 (11학번) 팀원 : 이재익 (09학번) 한우영 (09학번) 김은지 (11학번) 지도교수 : 양정모교수님 - 1 - 목 차 1. 서론 1-1. 개발배경및목적... 3 1-2. 연구내용... 3 1-3. 개발환경... 3 2.

More information

Dropbox Forensics

Dropbox Forensics Cloud Storage Forensics Part I : Dropbox 2013. 09. 28 forensic.n0fate.com Dropbox Forensics Dropbox Forensics Dropbox 웹기반파일공유서비스 총 12 개의클라이언트지원 Desktop : Windows, Mac OS X, Linux Mobile : ios, Android,

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

B _01_M_Korea.indb

B _01_M_Korea.indb DDX7039 B64-3602-00/01 (MV) SRC... 2 2 SRC % % % % 1 2 4 1 5 4 5 2 1 2 6 3 ALL 8 32 9 16:9 LB CD () : Folder : Audio fi SRC 0 0 0 1 2 3 4 5 6 3 SRC SRC 8 9 p q w e 1 2 3 4 5 6 7 SRC SRC SRC 1 2 3

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

歯MDI.PDF

歯MDI.PDF E08 MDI SDI(Single Document Interface) MDI(Multiple Document Interface) MDI (Client Window) (Child) MDI 1 MDI MDI MDI - File New Other Projects MDI Application - MDI - OK [ 1] MDI MDI MDI MDI Child MDI

More information

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin OSP Stage 2040 < Design > 그놈! Clone Checker Project Team T4 Date 2016-04-12 Team Information 201411258 강태준 201411265 김서우 201411321 홍유리 Team 4 1 Contents Activity 2041. Define Real s Activity 2042. Define

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

5.스택(강의자료).key

5.스택(강의자료).key CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 4 강. 함수와라이브러리함수목차 함수오버로딩 디폴트매개변수 라이브러리함수 clock 함수 난수발생 비버퍼형문자입력 커서이동 프로그래밍문제 1 /21 4 강. 함수와라이브러리함수함수오버로딩 2 /21 함수오버로딩 동일한이름의함수를여러개만들수있음 함수프로파일이달라야함 함수프로파일

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

More information

<4D F736F F F696E74202D203032C0E520C0AFC6BFB8AEC6BC20C5ACB7A1BDBABFCD20C1FDC7D520C5ACB7A1BDBA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203032C0E520C0AFC6BFB8AEC6BC20C5ACB7A1BDBABFCD20C1FDC7D520C5ACB7A1BDBA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D> 02 : 02 유틸리티클래스와집합클래스 학습목표 유틸리티클래스를이용하여객체생성법과사용법을익힌다. MFC 에서 C++ 의업캐스팅이적용되는원리를이해한다. 배열, 리스트, 맵클래스동작원리와사용법을익힌다. 콘솔응용프로그램 특징 메시지구동방식을사용하지않으므로 C/C++ 언어에대한지식만있으면곧바로실습이가능하다. 상당수의 MFC 클래스를사용할수있다. 유틸리티클래스, 집합클래스,

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

歯처리.PDF

歯처리.PDF E06 (Exception) 1 (Report) : { $I- } { I/O } Assign(InFile, InputName); Reset(InFile); { $I+ } { I/O } if IOResult 0 then { }; (Exception) 2 2 (Settling State) Post OnValidate BeforePost Post Settling

More information

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권 마감하루전 Category Partitioning Testing Tool Project Team T1 Date 2017-05-12 Team Information 201111334 김강욱 201211339 김진욱 201312243 김동권 201510411 이소영 [ 마감하루전 ] T1 1 INDEX Activity 2041. Design Real Use Cases

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information