2017-04-21 12 views
0

회사의 보안 구현을 구현하려면 특정 창에서 누른 키를 모두 캡처하여 버퍼에 저장해야 5 분마다 파일을 덤프 할 수 있습니다.누르는 키를 저장하는 동적 버퍼 - C++

그런 다음 7 분마다 로그가 메일로 보내지고 파일이 삭제됩니다. 이것을하는 것이 좋은 선택입니까? 더 나은 옵션이 있습니까?

버퍼는 파일을 지울 때 파일이 사용되는 것을 방지하기위한 것입니다.

내게 나타나는 문제는이 목적을 위해 어떤 종류의 버퍼를 사용해야합니까? 파일을 저장하기 전에 얼마나 많은 키를 누를 지 모르기 때문에 동적이어야합니다.

또는 정적 버퍼가 가득 찰 때마다 파일에 덤프 할 수있는 방법이 있습니까?

+1

과 같은 단순한 제품 일지라도 이미 그럴 수 있습니다. – Pavel

답변

1

단순한 std::vector은 자동으로 커지고 성장 전략이 사용자의 시나리오를 잘 처리하므로이 목적으로는 좋을 것입니다. std::list을 사용할 수도 있지만 벡터를 파일로 저장하는 것이 더 쉬울 수도 있습니다. 각 키 누르기마다 키 누르기 이벤트에 대한 정보를 저장할 구조체를 저장합니다. yoy가 윈도우에 있다면, 각각의 keyboard message의 lParam과 wParam을 저장하는 것이 좋습니다. 키를 누를 때 Ctrl + Alt와 같이 각 키와 함께 제공되는 추가 정보를 저장하려면 wParam이 필요합니다. 예를 들어 :

#include <windows.h> 

struct keypress 
{ 
    UINT lParam; // The character code of the key. 
    UINT wParam; // The repeat count, scan code, extended-key flag etc. 
}; 
typedef std::vector<keypress> keystore; 

당신은뿐만 아니라 문자열을 사용할 수 있지만 오히려 여기에 문자열이 필요됩니다하지 않을 것입니다. 단순한 텍스트 입력의 경우 간단히 말해서 typedef std::vector<char> keystore;

+0

그리고 어떤 데이터 형식을 사용해야합니까? 저장 키, 날짜 및 일부 텍스트 (로그)가 필요합니다 – Manuel23

+0

벡터 은 좋은 선택입니까? – Manuel23