🧼C, C++/WinAPI, UX(UI)

프로세스 죽이기 Win32API

Mawile 2020. 10. 15.
728x90

안녕하세요!

Win32 API 관련 함수들을 소개하기 위해서

새로운 카테고리를 하나 더 만들었습니다~!

Win32 API를 해본 결과 소켓이 함수 암기 20 이해 80이라면

이건 거의 함수암기80이해20이네요~

함수 이해 자체는 쉬웠고 외워야 할 함수가 많았습니다!

 

 

엄청 나중에 있을 C++ 기반의 해킹 툴 제작 프로젝트의

밑밥을 깔기 위해 지금 이렇게 글 써봅니다.. 흐흐...


우선 시작하기 앞서서 이 녀석을 사용하려면

헤더 파일을 추가해줍니다!

#include <windows.h>
#include <TlHelp32.h>

[[   프로세스 죽이기   ]]

void kill(const char *process){
	HANDLE hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    //TlHelp32핸들
	HANDLE h;
    //찾은 프로세스 핸들
	
	PROCESSENTRY32 proc = {0};
    //프로세스를 리스트해줄 구조체
	proc.dwSize = sizeof(PROCESSENTRY32);
    //크기선언
	
	Process32First(hndl,&proc);
    //시작포인터 지정!
	
	while(1){
		if(!strcmp(proc.szExeFile,process)){
        //만약 내가 매개변수로 넘겨준 변수와 같은이름의 프로세스가 리스트에있다면
			h = OpenProcess(PROCESS_ALL_ACCESS,0,proc.th32ProcessID);
            //그 프로세스를 열고
			TerminateProcess(h,0);
            //종료시킨다
		}
		if(!Process32Next(hndl,&proc)) break;
        //아닐시 포인터를 한칸앞으로 가주되, 끝에도달할경우 break
	}
    CloseHandle(h);
    CloseHandle(hndl);
	return;
}

 

 

 

사실 이 주석 문들은 확실한 내용은 아니고 저가 공부하면서

추측한 기능들입니다......ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

원래 저가 공부했었던 곳에서는 이것보다 코드가 더 복잡했는데 쓸데없는 변수도 많고

필요 없는 기능도 있어서 머리에 안 들어오더라고요.

그래서 저만의 방식으로 코드를 줄이고 편집한 최종 코드입니다~!

 

그럼 만약에 실제 사용방법은 어떻까요??

 

 

 

 

[[   사용 예제   ]]

#include <windows.h>
#include <TlHelp32.h>

bool kill(const char *process){ //bool값으로선언
	HANDLE hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	HANDLE h;
	
	PROCESSENTRY32 proc = {0};
	proc.dwSize = sizeof(PROCESSENTRY32);
	
	Process32First(hndl,&proc);
	
	while(1){
		if(!strcmp(proc.szExeFile,process)){
			h = OpenProcess(PROCESS_ALL_ACCESS,0,proc.th32ProcessID);
			TerminateProcess(h,0);
		}
		if(!Process32Next(hndl,&proc)) break;
	}
    CloseHandle(h);
    CloseHandle(hndl);
	return true; //끝날시 true를 반환
}

int main(){
	while(kill("cmd.exe")); //만약 결과값이 true일때만 반복 (한마디로 무한반복)
    //함수도 void에서 bool값으로 바꾼이유도 코드단축을 목적으로함이였습니다~!
}
728x90

'🧼C, C++ > WinAPI, UX(UI)' 카테고리의 다른 글

파일 자가복제 C++ #2  (0) 2020.11.23
WINAPI C++ #2  (0) 2020.11.07
WINAPI C++ #1  (0) 2020.11.04
무한HP 핵 만들기 Win32API  (0) 2020.10.18
프로세스 관리자권한으로 실행 Win32API  (0) 2020.10.15

댓글