摸鱼大法

转载于最强的琛

https://blog.csdn.net/liuzich/article/details/107878496

https://blog.csdn.net/liuzich/article/details/109008544

#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <ShellAPI.h>
#include <iostream>
void process_e() {
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
    tkp.PrivilegeCount = 1;
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, NULL);
    CloseHandle(hToken);
}
bool process_k(DWORD dwPid) {
    printf("Kill进程Pid = %d\n", dwPid);
    HANDLE killHandle = OpenProcess(PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION |
                                    PROCESS_CREATE_THREAD |
                                    PROCESS_VM_OPERATION |
                                    PROCESS_VM_WRITE,
                                    FALSE, dwPid);
    if (killHandle == NULL)
        return false;
    TerminateProcess(killHandle, 0);
    return true;
}
bool process_f(std::string strProcessName, DWORD& nPid) {
    TCHAR tszProcess[64] = { 0 };
    lstrcpy(tszProcess, _T(strProcessName.c_str()));
    STARTUPINFO st;
    PROCESS_INFORMATION pi;
    PROCESSENTRY32 ps;
    HANDLE hSnapshot;
    memset(&st, 0, sizeof(STARTUPINFO));
    st.cb = sizeof(STARTUPINFO);
    memset(&ps, 0, sizeof(PROCESSENTRY32));
    ps.dwSize = sizeof(PROCESSENTRY32);
    memset(&pi, 0, sizeof(PROCESS_INFORMATION));
    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hSnapshot == INVALID_HANDLE_VALUE)
        return false;
    if (!Process32First(hSnapshot, &ps))
        return false;
    do {
        if (lstrcmp(ps.szExeFile, tszProcess) == 0) {
            nPid = ps.th32ProcessID;
            CloseHandle(hSnapshot);
            printf("找到进程: %s\n", tszProcess);
            return true;
        }
    } while (Process32Next(hSnapshot, &ps));
    CloseHandle(hSnapshot);
    return false;
}
int main() {
    DWORD pid;
    process_e();
    process_f("StudentMain.exe",pid);
    process_k(pid);

    return 0;
}

 

posted @ 2020-10-18 09:27  天南星魔芋  阅读(21)  评论(0编辑  收藏  举报