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 :)

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 .

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

#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

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."

0

Dzieki wielkie Mistrzu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1