드라이버 설치, 시동, 중지, 제거 DarkKaiser, 2009년 2월 8일2023년 9월 4일 1. 레지스토리 편집기(regedit)에서 HKEY_LOCAL_MACHINE\SYSTEM 경로에 레지스토리를 등록한다. 1) 직접 수정해서 등록한다. 2) 서비스 API 함수를 사용하는 프로그램을 제작하여 등록한다.(Software 드라이버) 3) inf 파일을 제작하여 등록한다.(Hardware 드라이버) 4) Setup API를 사용한다.2. 서비스의 설치 시작 정지 삭제는 나중에 알아보고 일단 EnumService.exe를 사용한다. Continue Reading
VS2005에서 DDK Build 환경 구축 DarkKaiser, 2009년 2월 8일2023년 9월 6일 isual Studio 2005에서 Driver Code를 빌드하려면 ddkbuild Tool을 이용하면 쉽게 Build가 가능하다.http://www.osronline.com/article.cfm?article=43 위의 사이트에서 다운로드가 가능(가입필요)ddkbuild_v72.zip 다운로드한 파일의 압축을 풀면 cmd 파일을 확인 할 수 있는데 이 파일을 DDK가 설치된 폴더에 복사해 넣도록 하자.(D:\WINDDK) 이것으로 기본적인 준비는 끝났다. 이제 실제 Project를 만들어서 Build해보도록 하자. 참고로 WDK는 VisualStudio 6.0에서는 Continue Reading
DDK 설치 DarkKaiser, 2009년 2월 8일2023년 9월 5일 1. 아래의 URL을 통하여 Driver Develop Kit를 다운로드 받는다. http://www.microsoft.com/whdc/devtools/ddk/default.mspx 다운로드한 DDK ISO 이미지를 이용해서 설치한 후 [내컴퓨터]- [속성] – [고급] – [환경변수]에서 사용자 변수를 추가하도록 한다. 설정 후 재부팅을 해주어야지 적용이 된다. 변수 이름에 대한 것은 아래의 내용을 참고. For the W2K DDK the environment variable is W2KBASE, and Continue Reading
static initializer DarkKaiser, 2009년 2월 7일2023년 9월 6일 출처 : http://blog.naver.com/parnx/140054010993 다음은 흔히 싱글턴singleton 패턴에서 애용되는 형태의 코드이다. public class MySingleton { private static final MySingleton INSTANCE = new MySingleton(); public static MySingleton getInstance() { return INSTANCE; } private MySingleton() { // 초기화 작업… } // … Continue Reading
유니코드 파일 인코딩 방식 분석 방법 DarkKaiser, 2009년 2월 7일2023년 9월 6일 유니코드 파일 인코딩 방식을 확인하려면 파일의 처음 2 byte ~ 4 byte 를 가져와서 아래의 코드와 비교하시면 됩니다. Bytes Encoding Form 00 00 FE FF UTF-32, big-endian FF FE 00 00 UTF-32, little-endian FE FF UTF-16, big-endian FF FE UTF-16, little-endian EF BB BF UTF-8 메모장에서 “유니코드”로 저장하면 해당 Continue Reading
Detours DarkKaiser, 2008년 11월 23일2023년 9월 4일 다운로드 : http://research.microsoft.com/sn/detours/ 윈도우 API를 후킹할 수 있는 라이브러리 Continue Reading
Vista 에서 Low Level 권한으로 Process 를 생성시키는 방법 DarkKaiser, 2008년 11월 22일2023년 9월 6일 출처 : http://rodream.tistory.com/45 BOOL bRet; HANDLE hToken; HANDLE hNewToken; // Notepad is used as an example WCHAR wszProcessName[MAX_PATH] = L"C:\\Windows\\System32\\Notepad.exe"; // Low integrity SID WCHAR wszIntegritySid[20] = L"S-1-16-4096"; PSID pIntegritySid = NULL; TOKEN_MANDATORY_LABEL TIL = {0}; PROCESS_INFORMATION ProcInfo = {0}; STARTUPINFO StartupInfo = {0}; ULONG ExitCode = 0; if (OpenProcessToken(GetCurrentProcess(),MAXIMUM_ALLOWED, Continue Reading
time_t(VC6 -> VC8) DarkKaiser, 2008년 11월 22일2023년 9월 6일 출처: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8196&page=1출처: http://a.tk.co.kr/entry/timet-%EC%99%80-InterlockedExchange-%EC%82%AC%EC%9A%A9%EA%B8%88%EC%A7%80-Visual-Studio-2005-%EB%B3%80%EA%B2%BD VC6의 time_t가 long형으로 디파인 되어있는데요. VC8에선 요놈이 __int64이더라구요. c:\Program Files\Microsoft Visual Studio\VC98\Include\TIME.H #ifndef _TIME_T_DEFINED typedef long time_t; /* time value */ #define _TIME_T_DEFINED /* avoid multiple def's of time_t */ #endif //////////////////////////////////////////////////////////////////////////// c:\program files\microsoft visual studio 8\vc\include\crtdefs.h #ifndef _TIME64_T_DEFINED #if _INTEGRAL_MAX_BITS = 64 typedef __int64 __time64_t; Continue Reading
Visual C++ 링킹 에러 정리 DarkKaiser, 2008년 11월 17일2023년 9월 4일 출처 : http://aego.pe.kr/MFCErrors.html LNK1103 uuid.lib(servprov_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module 원인 : MS SDK 버전이 VC 호환을 지원하지 않는 SDK를 설치하고 Directory를 설정해둔 경우 해결 : Directory 순서 조정 LNK4070 /OUT:filename directive in .EXP differs from output filename ‘filename’; ignoring directive 원인 : Link 탭에 설정한 Continue Reading
COM DLL만으로 tlb파일 생성및 COM사용하기 DarkKaiser, 2008년 11월 17일2023년 9월 6일 출처 : http://thepassion.tistory.com/22 visual studio도구의 OLE View나 실행oleview를 실행해서 oleviewer를 실행시킨다. FileView TypeLib메뉴를 선택해 해당 COM dll혹은 COM exe를 Open한다. 디스플레이되는 정보에서 Root로 표시되는 XXX(xxx x.x Type Library)를 클릭하면 오른쪽 윈도우에 idl파일을 생성해서 보여준다. 해당 내용을 xxx.idl로 저장한다. *.tlb 파일 생성하기방법1) – Win32 Dynamic Linked Library프로젝트 생성해 Continue Reading