这次是要需要获取Cuckoo沙箱中当前运行的进程ID,就想了个办法==,直接写个程序,将进程ID打印出来后,Cuckoo沙箱运行结束后会上传运行截图,这样我就能知道当前我运行的进程ID是多少了,无可厚非,能解决问题就行。
写这篇文章是因为在写代码的时候遇到了一些问题,首先大脑里没有出现获取进程ID的WIN 32 API,只想到了通过遍历进程快照来获取,但是那几个API名字有点长(CreateToolhelp32Snapshot,Process32First,Process32Next,就问你长不长……),没有记住,于是就去搜了下,想看看是否存在这样直接获取进程ID的API,只是我没有记住罢了,但是搜索了一些却没有结果,没办法,只能用遍历进程快照的方法来获取当前运行进程的ID了,参考了优快云上的一篇文章中相关的代码,每次参考别人代码,总是运行后报错,得不到和博主同样的运行效果!这次当然也一样,改了下代码后(一波三折,必须承认代码这东西长时间不敲,就容易出错)总算是出现我想要的结果了-进程PID,我是通过判断进程名来打印我当前进程的PID,代码如下:
#include "stdafx.h"
#include <windows.h>
#include <TlHelp32.h>
int _tmain(int argc, _TCHAR* argv[])
{
/************************************************************************/
/* 功能:
通过遍历进程快照获取当前进程PID
/************************************************************************/
HANDLE hProceessnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProceessnap == INVALID_HANDLE_VALUE)
{
printf_s("创建进行快照失败\n");
return -1;
}
else
{
PROCESS