프로그래밍38 레지스터 관련 - RegSetValueEx 함수 RegSetValueEx - 해당키에 값을 지정할 때 사용합니다. LONG WINAPI RegSetVlaueEx( HKEY hKey, LPCTSTR lpValueName, DWORD lpReserved, DWORD dwType, const BYTE *lpData, BYTE *cbData, ); Parameters hKey 해당 레지스트리 키의 핸들. RegCreateKeyEx 또는 RegOpenKeyEx 로 획득한 핸들이나 기본적으로 정의되어 있는 키의 핸들(predefined keys)을 사용합니다. HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS lpValueName 해당 레지스트리 이름. 정보를 설정하고자 하는 항목의 이름을 가지.. 2010. 10. 27. 레지스터 관련 - RegOpenKeyEx 함수 RegOpenKeyEx - 지정된 레지스트리 키를 open합니다. LONG WINAPI RegOpenKeyEx( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __reserved DWORD ulOptions, __in REGSAM samDesired, __out PHKEY phkResult ); Parameters hKey 오픈할 레지스트리 키의 핸들. RegCreateKeyEx 또는 RegOpenKeyEx 로 획득한 핸들이나 기본적으로 정의되어 있는 키의 핸들(predefined keys)을 사용합니다. HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS lpSubKey hKey이하의 서브키 ( 필수는 아님.. 2010. 10. 27. 꼭 알아야 할 필수 API 함수 윈도우 환경에서 exe 파일을 분석할 경우 API 함수들을 많이 알고 있는 것이 분석에 도움이 된다. 디버거를 사용하여 현재 프로그램에서 사용되는 API 함수들을 나열할 수 있는데 함수들의 기능이나 리턴값을 알아야만 프로그램을 디버깅 하는 과정에서 브레이크포인트를 지정할 곳을 쉽게 찾아낼 수 있다. 여기서는 악성코드에서 자주 사용되거나 필히 알아 두어야 할 API 함수들에 대해서 살펴보도록 하겠다. 파일 및 디렉토리 관련 함수 - CreateFile : 파일을 생성하거나 연다 - ReadFile : 파일의 내용을 읽는다. - WriteFile : 파일에 내용을 쓴다. - SetFilePointer : 파일 포인터를 이동시킨다. - CopyFile : 파일을 복사한다. - GetFileAttribute :.. 2010. 10. 27. 레지스터 관련 - RegCreateKeyEx 함수 RegCreateKeyEx 레지스트리키를 새로 만들어주는 함수입니다. 만약 생성하려는 키가 존재하는 경우 해당 키를 오픈합니다. LONG RegCreateKeyEx( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ); Parameters hKey 생성할 키의 루트키. 또는 RegCreateKeyEx 나 RegOpenKeyEx 로 반환된 키. 보통 아래의 루트키중 하나를 넣어줍니다. HKEY_CLASSES_ROOT HKEY_CURR.. 2010. 10. 27. C++ 파일 입출력 각각의 파일 입출력 생성 방법 ifstream in; // 입력 ofstream out; // 출력 fstream io; // 입출력 파일 연결 멤버 함수 void open(const char *filename, int mode, int access=filebuf::openprot); filename : 연결할 파일의 이름 mode : 파일을 어떻게 열지를 결정 ios::app -> 모든 출력을 그 파일의 끝에 덧붙인다. ios::ate -> 파일을 열 때 그 파일의 끝을 찾아준다. ios::binary -> 2진 형식으로 연다. ios::in -> 파일이 입력용임을 의미 ios::nocreate -> 현재 파일이 존재하지 않으면 open() 함수 실패 ios::noreplace -> 파일이 이미 존재하.. 2010. 10. 27. Windows 와 Linux Thread Control 함수 비교 (동기화 함수) Preface Windows 프로그램을 리눅스로 포팅을 할때 가장 문제가 되는 것은 프로세스 쓰레드 관련 함수와 각종 IPC들이다. 소켓이나 기본적인 함수들은 모두 같이 사용이 되거나 용례가 비슷한데 반해서 이들은 완전히 독립적으로 동작이 되기 때문에 설계 자체를 바꿔야 하는 경우도 있다. 이를 좀더 쉽게 하기 위해서 각각에 대해서 어떻게 포팅을 해야 하는지를 정리해 보았다. Process & Thread Windows와 Linux가 process와 thread에 관련된 내부적 구조체 및 동작 방식은 완전히 다르다. 하지만, 이들을 조작하는 함수에는 거의 차이가 없다. 함수에 따라 거의 1:1로 변환이 가능하다. Windows Linux CreateProcess() fork() exec() Termina.. 2010. 10. 27. 이전 1 ··· 3 4 5 6 7 다음