본문 바로가기
반응형

분류 전체보기798

이름없는 파이프 //server#include #include // 익명의 Pipe : 단방향의 이름없는 pipe.(Named Pipe 는 양방향, 단방향 모두 가능) void main() { HANDLE hRead, hWrite; CreatePipe( &hRead, &hWrite, 0, 4096); // hWrite 에 쓰면 hRead에서 읽을수 있다. // hRead를 다른 프로세스에 전달해 주어야 한다. // 이미 다른 프로세스가 실행중이라면 DuplicateHandle()로 // 새롭게 자식을 만들면서 전달하려면 KO 상속을 이용한다. // 읽기 위한 핸들을 상속 가능하게 한다. SetHandleInformation( hRead, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT); cha.. 2007. 1. 22.
파이프 //server#include #include DWORD WINAPI foo( void *p) { HANDLE hPipe = CreateNamedPipe("\\\\.\\pipe\\source_server",//UNC PIPE_ACCESS_OUTBOUND,// 출력전용 PIPE_TYPE_BYTE,//stream방식 1,//최대 instance개숫 4096,4096,//최대 입출력 버퍼 크기 1000,//WaitNamedPipe()로 대기할 시간 0);//KO보안 if(hPipe == INVALID_HANDLE_VALUE) { printf("파이프를 생성할 수 없습니다.\n"); return 0; } //----------------------------------------------------------.. 2007. 1. 22.
IPC(Inter Process Communication)프로세스간 통신 1. 사용자 정의 메시지->64비트로 한정된다. 2. WM_COPYDATA 3. MMF 4. Pipe 5. 공유메모리 6. 클립보드 7. Socket 8. DDE(COM을 배워야 한다.) 9. mailslot 2007. 1. 22.
Dllinyection() #include #include //Kernel32의 핸들을 구하는것..GetModuleHandle void DllInject(DWORD pid, char * path) { //process ID를 가지고 Process핸들을 얻는다. HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid); //---------------------------------------------------------- //Kernel32.dll의 주소를 구한다. HMODULE hDll = GetModuleHandle("Kernel32.dll"); PTHREAD_START_ROUTINEf=(PTHREAD_START_ROUTINE) GetProcAddress(hDll, "LoadL.. 2007. 1. 22.
반응형