Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[C/C++] Win32 Recrusive File Search

- - - - -

  • Bitte melde dich an um zu Antworten
Keine Antworten in diesem Thema

#1
rat123

rat123

    Member

  • Premium Member
  • Likes
    97
  • 107 Beiträge
  • 31 Bedankt
  • verifiziert

Er möchte einfach nicht aufhören zu posten!

 

Hier aber etwas anderes. Handgemachte Codeschnipsel um rekrusiv nach Dateien zu suchen. Mit ein wenig Arbeit kann man individuelle Filter einbauen. 

 

Hier leider keine Kommentare, ist etwas älter  :lol:

bool m_strstrW(wchar_t *s, wchar_t *word)
{
	bool fFound = false;
	bool bBreak = false;

	int len = lstrlenW(s);
	int wordlen = lstrlenW(word);

	if (!len || !wordlen)
		return false;

	for (int i = 0; i < len; i++)
	{
		if (s[i] == word[0])
		{
			if ((i + wordlen) <= len)
			{
				for (int cmp = 0; cmp < wordlen; cmp++)
				{
					if (s[i + cmp] != word[cmp])
					{
						bBreak = true;
						break;
					}
				}

				if (!bBreak)
				{
					fFound = true;
					break;
				}

				bBreak = false;
				continue;
			}
		}
	}

	return fFound;
}

void recrusive_search(const wchar_t *wszPath)
{
	HANDLE hFile = INVALID_HANDLE_VALUE;

	WIN32_FIND_DATAW findData;
	RtlSecureZeroMemory(&findData, sizeof(WIN32_FIND_DATAW));

	wchar_t wildmask[MAX_PATH];
	RtlSecureZeroMemory(wildmask, MAX_PATH);
	wchar_t tmp[MAX_PATH];
	RtlSecureZeroMemory(tmp, MAX_PATH);

	memcpy(tmp, wszPath, MAX_PATH);
	lstrcatW(tmp, L"*");

	hFile = FindFirstFileW(tmp, &findData);
	if (hFile != INVALID_HANDLE_VALUE)
	{
		do
		{
			// is directory
			if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
			{
				if (!m_strstrW(findData.cFileName, L".") && !m_strstrW(findData.cFileName, L".."))
				{
					wsprintfW(wildmask, L"%s%s\\", wszPath, findData.cFileName);
					//printf("%ls\n", wildmask);
					recrusive_search(wildmask);
				}
			}
			else // is file
			{
				wsprintfW(wildmask, L"%s%s", wszPath, findData.cFileName);
				printf("%ls\n", wildmask);
				RtlSecureZeroMemory(wildmask, MAX_PATH);
			}

		} while (FindNextFileW(hFile, &findData) != NULL);

		FindClose(hFile);
	}
}

Beispiel usage:

recrusive_search(L"C:\\Users\\Administrator\\");

oder

recrusive_search(L"C:\\");

Vielleicht kann es ja einer gebrauchen ...

 

 

Greetz

 


Eingefügtes Bild


Thanked by 1 Member:
hacked


  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 20 user(s)


    Bot4ng, chexum, DeepWater, hacked, jmPesp, JohnR, Juri, keyb0ardz, kiwitone, Kraenk, n1nja, notfound, PadX18, pr0legend, Psykoon303, rat123, sub0, sup3ria, Yuka, zrty
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.