Lokalizacja programu

Lokalizacja programu
0

Witam , temat może wam jest znany lecz nie mogłem znaleźć go na forum, mój problem jest następujący robię program który wysyła plik na serwer ftp z gry , program dodaje do autostartu systemu i wszystko jest świetnie , ale powstaje jeden problem , jeżeli gracze owej gry bedą mieli ten plik to program nie bedzie znał swojej lokalizacjii nie bedzie mógl go dodać do autostartu i tu się pojawia pytanie jak zrobić by program pobierał sciezke swojej lokalizacji i zapisywał w funkcji która odpowiada za dodawanie autostartu, proszę o pomoc jeżeli napisałem coś niezrozumiale, wyjaśnie jeszcze raz by było zrozumiane , licze na was :)

RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
2

Wygląda na program, którym masz zamiar kraść coś ludziom. Proszę, wyprowadź mnie z błędu jeśli możesz.

0

jakby miał to być program ala virus czy inny szit , nie pisał bym o grze tylko o tym virusie wprost :D potrzebna mi pomoc z tym co na górze napisałem w 2 kwestiach, 1 kwestia jest taka że program jest zbindowany do Clienta gry który wyszukuje w procesach nielegalnych opragramowań wspomagajacych gre i wylacza je poczym zapisuje w logach i te logi wysyla mi na ftp bym wiedział ktorego gagatka zbanować a 2 rzecz update, jeżeli osoba zrobi update wysyla txt o numerze "1" poczym sprawdza czy jest nastepny nr czyli update nastepne :D i co tu jeszcze, nie powinienem ci sie tłumaczyć ale zrobie to z przyjemnością także jeżeli jesteś mi wstanie pomóc lub naprowadzic na dana ścieżke bede wdzieczny :) a program do wykrywania nie legalnych wspomagaczy i update chce zrobić wraz z autostartem windowsa i tu tkwi problem .

MY
  • Rejestracja:ponad 9 lat
  • Ostatnio:9 dni
  • Postów:1083
0

Będę wredny skoro zdołałeś napisać tak zaawansowane funkcje jak update, pobieranie z serwera czy zabezpieczenia przed cheaterami to nie wierzę, że nie jesteś w stanie wyszukać w google frazy np. "exe location winapi" Już pierwszy link z SO podaje rozwiązanie :]

0

a jaki jest problem napisać tak banalny kod do łączenia się z ftp i zassysania pliku i sprawdzanie procesów

Kopiuj
#ifdef DEF_ANTI_CHEAT_SYSTEM
BOOL CGame::CheckProcesses()
{
 HANDLE hSnapShot;
 PROCESSENTRY32 uProcess;
 BOOL r;
 BOOL bFound = FALSE;
 char *Ufoundprocess;

    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
    uProcess.dwSize = (DWORD)sizeof(PROCESSENTRY32);
    r = Process32First(hSnapShot, &uProcess);

    do
    {    
		Ufoundprocess = _strupr( uProcess.szExeFile );

		if ( strcmp(Ufoundprocess, "SPEEDERXP.EXE") == 0 ) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "WPE PRO.EXE") == 0 ) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "TEHELGAME.EXE") == 0 ) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "HELGAME.EXE") == 0 ) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "SPEED HACK.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "SPEEDER XP.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "SPEEDGEAR.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "SPEED GEAR.EXE") == 0 ) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "SPEEDHACKNT.EXE") == 0) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "ASPEEDER.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "TSEARCH.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "TS.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "PSNIFF.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "SPEED.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "XSPEED 5.0.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "CLIENTHACK.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "SOFTSNOOPPY.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "EXETOOLS.COM") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "EIDTZBIIEIDTZEIEX_V1-1.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "!XSPEED.EXE") == 0 ) bFound = TRUE;
		else if ( strcmp(Ufoundprocess, "XSPEED.EXE") == 0 ) bFound = TRUE;
        else if ( strcmp(Ufoundprocess, "WPEPRO.EXE") == 0 ) bFound = TRUE;

		if(bFound == TRUE)
		{
			sprintf(NazwaProgramu, "%s", Ufoundprocess);
			//użytkownik ma być nieświadomy sprawdzania jego procesów ;]
			//SetTopMsg("Illegal program running in your PC.", 8);
			return bFound;
		}

        r = Process32Next(hSnapShot, &uProcess);
    }
    while ( r );

    CloseHandle(hSnapShot);
    return bFound;
}
#endif 

to robiłem wiele razy i jest dla mnie łatwe a to o co poprosiłem wyżej nigdy nie robiłem jest dla mnie nowością wiec niewiedziałem jak sie za to zabrać ale dzieki za wskazówkę , dałem kawałek kodu jakbyście dalej mi nie wierzyli i twierdzili ze jakiegoś wirusa robie :D

MY
No ok, ale w takim razie powinieneś zapytać Google najpierw :) Co do zabezpieczenia, to jest słabe. Wystarczy zmienić nazwę pliku na np "MojBardzoTajnyCheater.exe" i niestety zabezpieczenie nie zadziała. Musiałbyś skanować to nieco inaczej. No i taka drabinka if'ów też powinna być raczej wyeliminowana.
mwl4
  • Rejestracja:około 12 lat
  • Ostatnio:14 dni
  • Lokalizacja:Wrocław
  • Postów:399
0

https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms683197(v=vs.85).aspx

"hModule [in, optional]
A handle to the loaded module whose path is being requested. If this parameter is NULL, GetModuleFileName retrieves the path of the executable file of the current process."


Asm/C/C++
0

Dzieki wielkie Mistrzu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.