Jump to content

Willkommen Gast

Navigation

Links

Als Gast hast du nur eingeschränkten Zugriff!


Sign In 

Create Account

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.
 

   

Photo

[C/C++] Win32 Recrusive File Search

- - - - -

  • Please log in to reply
No replies to this topic

#1
rat123

rat123

    Member

  • Premium Member
  • Likes
    97
  • 107 posts
  • 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

 


Posted Image


Thanked by 1 Member:
hacked


  Topic Forum Started By Stats Last Post Info

user(s) are reading this topic

members, guests, anonymous users


This topic has been visited by 19 user(s)


    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.