All pastes #150459 Raw Edit

Untitled

public text v1 · immutable
#150459 ·published 2006-08-26 22:54 UTC
rendered paste body
#define WIN32_MEAN_AND_LEAN
#include "CProcessInfo.h"
#include <windows.h>
#include <iostream>
using namespace std;

struct FileInfo
{
	char ClassName[261];
	char WindowText[261];
	char ProcessName[261];
	char ProgramDescr[261];
	bool Found;
	/*FileInfo()
	{
		memset(&ClassName, 0, sizeof(ClassName));
		memset(&WindowText, 0, sizeof(WindowText));
		memset(&ProcessName, 0, sizeof(ProcessName));
		memset(&ProgramDescr, 0, sizeof(ProgramDescr));
		Found = false;
	}*/
};

int main(int argc, char* argv[])
{
	CProcessInfo ProcessList;
	cout << "-------------------------------" << endl;
	cout << "      NeWbY's FTP Detector     " << endl;
	cout << "   Made by Paul aka. NeWbY     " << endl;
	cout << "-------------------------------" << endl;
	if (!ProcessList.Initialize())
	{
		cout << "ProcessList.Initialize()";
		return GetLastError();
	}

	FileInfo FTPServers[] = {
		{"RSockWin", "RWinSocket", "ServUDaemon.exe", "Serv-U FTP Daemon", false},
		{"ServUWinClass", "Serv-U", "ServUDaemon.exe", "Serv-U FTP Daemon", false},
		{"TAdminForm", "", "ServUAdmin.exe", "Serv-U Administrator", false},
		{"TMessageForm", "User messages", "ServUAdmin.exe", "Serv-U Administrator", false},
		{"TApplication", "Serv-U", "ServUAdmin.exe", "Serv-U Administrator", false},
		{"TPUtilWindow", "", "ServUAdmin.exe", "Serv-U Administrator", false},
		{0, 0, 0}
	};

	HWND hWindow = FindWindow(0, 0);
	while (hWindow)
	{
		if (!GetParent(hWindow))
		{
			unsigned long pID;
			char ClassName[256];
			char WindowText[256];
			GetWindowThreadProcessId(hWindow, &pID);
			GetWindowText(hWindow, WindowText, sizeof(WindowText));
			GetClassName(hWindow, ClassName, sizeof(ClassName));
			char* ProcessName = ProcessList.GetProcessName(pID);
			char* ProgramPath = ProcessList.GetProcessFilePath(pID);

			for (int i = 0; FTPServers[i].ClassName[0]; ++i)
			{
				if ((ClassName[0]) && (strcmp(ClassName, FTPServers[i].ClassName) == 0) && (!FTPServers[i].Found))
					{
						FTPServers[i].Found = true;
						printf("Found FTP Program matching ClassName!\r\n");
						printf("ClassName: %s\r\n", ClassName);
						if (WindowText[0])
							printf("WindowText: %s\r\n", WindowText);
						if (ProcessName[0])
							printf("ProcessName: %s\r\n", ProcessName);
						if (ProgramPath[0])
							printf("ProgramPath: %s\r\n", ProgramPath);
						if (FTPServers[i].ProgramDescr[0])
							printf("Program Description: %s\r\n", FTPServers[i].ProgramDescr);
						printf("------------------------------------------------------------\r\n\r\n");
						break;
					}
				else if ((WindowText[0]) && (strcmp(WindowText, FTPServers[i].WindowText) == 0) && (!FTPServers[i].Found))
				{
						FTPServers[i].Found = true;
						printf("Found FTP Program matching WindowText!\r\n");
						printf("WindowText: %s\r\n", WindowText);
						if (ClassName[0])
							printf("ClassName: %s\r\n", ClassName);
						if (ProcessName[0])
							printf("ProcessName: %s\r\n", ProcessName);
						if (ProgramPath[0])
							printf("ProgramPath: %s\r\n", ProgramPath);
						if (FTPServers[i].ProgramDescr[0])
							printf("Program Description: %s\r\n", FTPServers[i].ProgramDescr);
						printf("------------------------------------------------------------\r\n\r\n");
						break;
				}
				else if ((ProcessName[0]) && (strcmp(WindowText, FTPServers[i].ProcessName) == 0) && (!FTPServers[i].Found))
				{
						FTPServers[i].Found = true;
						printf("Found FTP Program matching processname!\r\n");
						printf("Process Name: %s\r\n", ProcessName);
						if (WindowText[0])
							printf("Window Text: %s\r\n", WindowText);
						if (ClassName[0])
							printf("Class Name: %s\r\n", ClassName);
						if (ProgramPath[0])
							printf("Program Path: %s\r\n", ProgramPath);
						if (FTPServers[i].ProgramDescr[0])
							printf("Program Description: %s\r\n", FTPServers[i].ProgramDescr);
						printf("------------------------------------------------------------\r\n\r\n");
						break;
				}
			}
			/*if (WindowText[0])
				printf("WindowText: %s\r\n", WindowText);
			if (pID)
				printf("PID: %d\r\n", pID);
			if (ProcessName)
				printf("Process Name: %s\r\n", ProcessName);
			if (ProcessFilePath)
				printf("Process FilePath: %s\r\n", ProcessFilePath);

			if (ProcessName)
				delete[] ProcessName;
			if (ProcessFilePath)
				delete[] ProcessFilePath;*/
		}
		hWindow = GetWindow(hWindow, GW_HWNDNEXT);
	}

	//system("pause");
	return 0;
}