개발

    kali linux설치

    라즈베리파이3 모델 B에 KALI LINUX를 설치해보도록 하자. 왜냐고? 나는 Wireless Hacking TF를 하고있다.. (18/05/16) https://www.offensive-security.com/kali-linux-arm-images/ 위의 URL에 접속하여 RaspberryPi Foundation Click!! 1.6G나 하는 거대한 파일을 받도록 한다.. 이상하게 Torrent로 받는데 이거 회사에서 받을수 있냐 ㅋㅋ? 뭐 받으면 .xy로 압축되어 있다고 하는데 압축을 풀어 .img 확장자의 이미지 파일을 준비하자. 그리고 https://sourceforge.net/projects/win32diskimager/에 접속하여 Win32 disk imager를 설치하도록 하자 아까 압축을..

    각종 리눅스에 Node.js 설치

    http://support.continuuity.com/knowledgebase/articles/180053-installing-node-js-via-package-manager

    왜 유니코드를 사용하는 것이 좋은가?

    어플리케이션 개발 시 반드시 유니코드를 사용하기를 권장한다. 그 이유로는 1. 유니코드를 사용하면 다른 나라의 언어로 애플리케이션을 지역화하기가 쉽다. 2. 유니코드는 사용하면 단일의 바이너리(.exe나 DLL) 파일로 모든 언어를 지원할 수 있다. 3. 유니코드를 사용하면 코드가 더 빠르게 수행되며 더 작은 메모리를 사용하기 때문에 애플리케이션의 효율성이 증대된다. 윈도우는 내부적으로 유니코드로 구성된 문자와 문자열을 사용하기 때문에 ANSI 문자나 문자열을 전달할 경우 내부적으로 새로운 메모리를 할당하고 ANSI 문자와 문자열을 유니코드로 변경해야 한다. 4. 유니코드를 사용하면 윈도우가 제공하는 모든 함수를 쉽게 사용할 수 있다. 몇몇 윈도우 함수는 유니코드 문자나 문자열만을 받아들일 수 있도록 작..

    에러 핸들링

    윈도우 함수가 에러를 어떻게 처리하는지에 대해 이해해 봅시다. 윈도우 함수를 호출하면 호출된 함수는 먼저 전달된 인자의 유효성을 확인하고 함수의 기능을 수행하려 합니다. 만일 전달된 인자가 유효하지 않거나 다른 이유로 인해 해당 기능을 수행할 수 없으면 함수는 실패를 반환합니다. 윈도우 함수의 대표적인 반환 자료형 입니다. 자료형 실패했을 때의 값 VOID 이 함수는 절대 실패하지 않습니다. 아주 적은 윈도우 함수만이 void 형의 반환 자료형을 가집니다. BOOL 함수가 실패하면 0을 반환합니다. 성공 시에는 0이 아닌 값을 반환합니다. 반환 값을 TRUE와 비교해서는 안됩니다. HANDLE 함수가 실패하면 반환 값은 대개 NULL 입니다. 성공 시에는 유효한 오브젝트 핸들을 반환합니다. 몇몇 함수들은..

    [API] 출력 영역 얻기

    디바이스 컨텍스트 얻기 함수 : BeginPaint() HDC BeginPaint( HWND hwnd, PAINTSTRUCT *lpPaint ); HWND hwnd : 생성한 윈도우의 핸들 값 PAINTSTRUCT *lpPaint : 출력 영역에 대한 정보를 저장할 PAINTSTRUCT 구조체의 주소 BeginPaint() 함수로 디바이스 컨텍스트 핸들을 얻어 오는 방법은 WM_PAINT 메시지가 발생했을 때만 사용해야 하고 , 다른 메시지는 GetDC() 함수를 사용한다. BeginPian() 함수를 이용해 디바이스 컨텍스트를 얻어와 출력을 마친 후에는 반드시 EndPaint() 함수를 호출해야 합니다. EndPaint() 함수는 출력의 끝을 나타냅니다. 디바이스 컨텍스트 반환 함수 : EndPaint..

    윈도우 창 생성하기 소스( 주석 포함 )

    #include LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg, WPARAM wParam , LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , LPTSTR lpszCmdLine , int nCmdShow) { HWND hwnd; MSG msg; // 윈도우 클래스 생성 WNDCLASS WndClass; // 윈도우 클래스 타입인 WNDCLASSEX의 변수를 만들고 각 필드에 값 부여 WndClass.style = CS_HREDRAW | CS_VREDRAW; // 윈도우의 크기를 변경하면 다시 그리는 형태의 윈도우 WndClass.lpfnWndProc = WndProc; //..

    [API] 윈도우 프로그램의 구조

    콘솔 기반의 C언어 프로그램은 메인 함수를 기본으로 , 필요에 따라 다른 함수를 추가합니다. 반면 , 윈도우 프로그램은 크게 메인 부분과 메시지 처리 부분으로 나눕니다. 메인 부분에서는 윈도우를 만들고 화면에 윈도우를 띄우며 윈도우에서 발생하거나 응용 프로그램과 관련해 발생하는 모든 메시지를 전송하는 역할을 합니다. 엄밀히 말하면 메시지는 이벤트가 발생하면 오는 신호이고 , 신호는 윈도우 커널이 보냅니다. 메인 부분은 이를 하나씩 받아서 메시지 처리 부분으로 보냅니다. 메시지 처리 부분은 메시지를 받아 메시지에 약속된 반응을 보입니다. 메시지에는 마우스의 움직임이나 버튼 클릭에 따른 메시지, 키보드 눌림에 따른 메시지, 다양한 컨트롤에서 발생하는 메시지 , 메뉴에서 발생한느 메시지 등이 있습니다. 콘솔 ..

    USB로 exe 자동실행 소스

    /////// safeDlg.h 에 선언 ///////// int drive, curdrive; static char path[_MAX_PATH]; /////// safeDlg.cpp 에 선언 ////// int i=1; char k='\0'; char* park1 = ":\\security.exe"; char q[100]; 맽 밑에다가 그냥 추가시켜주면 된다. BOOL CsafeDlg::OnDeviceChange( UINT nEventType, DWORD dwData ) { DEV_BROADCAST_HDR *pDevBroadcastHdr = (DEV_BROADCAST_HDR*)dwData; DEV_BROADCAST_PORT *pDevBroadcastPort = NULL; CString sStorage ..