본문 바로가기

코드/c/c++39

코드 프로젝트 가상 환경 탐지 코드 // IsInsideVPC's exception filter DWORD __forceinline IsInsideVPC_exceptionFilter(LPEXCEPTION_POINTERS ep) { PCONTEXT ctx = ep->ContextRecord; ctx->Ebx = -1; // Not running VPC ctx->Eip += 4; // skip past the "call VPC" opcodes return EXCEPTION_CONTINUE_EXECUTION; // we can safely resume execution since we skipped faulty instruction } // High level language friendly version of IsInsideVPC() bool.. 2010. 6. 25.
Walking the callstack http://www.codeproject.com/kb/threads/StackWalker.aspx 2010. 5. 7.
리스트 컨트롤 유용한 정보 리스트 컨트롤 유용한 정보^^ CONTROL UI 2006/06/14 14:15 http://blog.naver.com/isolationism/30005347970 1. 특정 ROW 포커스 주기 2. 특정 ROW로 가기 3. 헤더 컬럼수 얻어오기 4. 컬럼의 너비를 이쁘게 주기 5. 한줄 쭉 선택되게 하기, 그리드 라인 주기 6. 선택한 아이템(ROW)를 지우기 7. 두 아이템을 스왑 하기 8.기존에 선택되어있는 것을 해체하기 9. 리스트컨트롤내 모든 항목을 선택하기 10. 리스트컨트롤내 모든 항목을 선택해제 하기 11. 리스트컨트롤에 선택된 항목을 클립보드에 저장하기. 1. 특정 ROW 포커스 주기 --------------------------------------------------- 리스트 컨트.. 2009. 10. 29.
펌 블러그..리스트 컨트롤 뷰 참고 http://www.jamsun2.com/zbxe/study/50058 2008. 12. 8.
[Win32] 드라이버 파일 Resource에 포함시키기 참고:http://www.Rootkit.com 루트킷 같은 성격의 드라이버들은 배포시 아래와 같은 방법으로 실행 바이너리의 리소스에 드라이버를 포함시킨다. 리소스 추가 -> 가져오기( 드라이버 파일) -> 사용자 지정 리소스 탐색 (ex:Driver) 와 같이 추가를 하면 아래의 그림처럼 바이너리가 추가된다. 그 후 Build를 하면 내가 포함 시킨 드라이버 파일과 Resource.h 파일이 수정된다. 아래의 IDR_DRIVER1의 선언해준 "DRIVER"를 통해 리소스를 추출하면 된다. BOOL ExtractDriver(LPSTR Path) { HRSRC RsH; HGLOBAL RsGH; BYTE *FilePtr; ULONG FileSize; ULONG numWritten; HANDLE hFile; R.. 2008. 11. 26.
[WIN3232] 프로세스 간 통신 ( named Pip 사용 ) [클라이언트] #include #include #include #include #define BUFSIZE 512 int _tmain(int argc, TCHAR *argv[]) { HANDLE hPipe; LPTSTR lpvMessage=TEXT("Default message from client"); TCHAR chBuf[BUFSIZE]; BOOL fSuccess; DWORD cbRead, cbWritten, dwMode; LPTSTR lpszPipename = TEXT("\\\\.\\pipe\\mynamedpipe"); if( argc > 1 ) lpvMessage = argv[1]; // Try to open a named pipe; wait for it, if necessary. while (1.. 2008. 11. 13.