프로그래밍/C++
-
[C++] 모든 프로세스명 가져오기프로그래밍/C++ 2019. 2. 18. 21:31
C/C++ 로 프로그래밍을 하다 보면 C#에서 사용했던 수 많은 api들이 생각이 날 때가 많다. 프로세스 명 가져오기 같은 경우도, C#에서는 1Process[] allProc = Process.GetProcesses();cs이렇게 한 줄로 끝나지만, C/CPP에서는 그런 거 없다...구글링을 하던 중 좋은 예제를 찾아서 하나 소개하려 한다.1234567891011121314151617181920212223242526272829303132333435363738394041#pragma once#pragma comment(lib, "Wtsapi32.lib")#include #include #include #include #include #include std::vector ProcessName; void ..
-
[C/C++] 키보드 후킹 (키로깅)프로그래밍/C++ 2019. 2. 18. 12:00
C/C++은 C#와는 다르게 후킹 과정이 굉장히 간단하다. 12345678910111213141516171819202122232425262728293031323334#include HHOOK hHook; LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { if (wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) { PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT)lParam; //Code가 0보다 클 때에만 처리해야합니다. 아닐 경우엔 메세지를 흘려보냅니다.(이유는 잘 모릅니다.) //wParam==256부분은, 키보드를 누르는 이벤트와 떼는 이벤트 중 누르는 이..
-
[VS2017][C/C++] 콘솔창 사용하지 않기프로그래밍/C++ 2019. 2. 17. 23:34
※ 비주얼스튜디오 2017 기준 (Based on VisualStudio 2017) 프로그래밍을 하다 보면 많은 상황에 마주하게 되지만, 기본적으로 나오는 콘솔창이 필요하지 않을 때가 있다. 방법 1. 콘솔창을 껐다 켰다 할 수 있지만, blank현상이 있음 123456#include int main() { HWND hWndConsole = GetConsoleWindow(); ShowWindow(hWndConsole, SW_HIDE);}Colored by Color Scriptercs 방법 2. 아예 끌 수 있음. 다시 켜는 방법은 잘 모르겠음. GUI의 경우 윈도우의 메시지 루프에 주의하여 코딩해야함. https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%A..
-
[C++] AES 128 ECB (electronic codebook) 구현프로그래밍/C++ 2019. 2. 17. 22:52
C, C++는 다른 언어 (Java, C#, Python)과는 다르게 내부 api가 풍부하지 않다. 그래서 다른 언어에서 쉽게 사용 할 수 있는 aes128을 직접 구현해야 한다. 구글링을 해봐도 Crypto++를 이용하거나, OpenSSL을 이용하여 구현한 자료들 뿐이였다. 본 코드는 aes 128 ECB암호화와 PKCS7 패딩을 대충 구현했다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031..