[C] Lista procesów do pliku txt

0

Witam.
Miałbym olbrzymią proźbę jeśli ktoś pomógłby mi stworzyć fragment kodu źródłowego odpowiedzialnego za pobranie listy procesów uruchomionych w danej chwili na PC i skompakotowanie tej listy do pliku .txt. Chodzi o prosty konsolowy program który pozwoli wykonać ta operację. Z górzy serdecznie dziękuje.

0

jaki system?

0

Uniwersalny na windowsy(od 98 wzwyż)

0
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>

int ListProcess(void)
{
    PROCESSENTRY32 lppe32;
    FILE *pF;
    HANDLE hSnapshot;
    if((hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)) == INVALID_HANDLE_VALUE) return -1;
    lppe32.dwSize = sizeof(PROCESSENTRY32);
    if((pF = fopen("procesy.txt", "wt+")) == NULL) return -2;
    if(Process32First(hSnapshot, &lppe32))
    {
        
        do
            fprintf(pF, "%s\n", lppe32.szExeFile);
        while(Process32Next(hSnapshot, &lppe32));
    }
    else return -3;
    CloseHandle(hSnapshot);
    return 0;
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    ListProcess();
}
0

naprawdę jestem Tobie bardzo wdzięczny. Podaj swój nick to uwzględnię Ciebie w autorach projektu(anty-hax do CSa 1.5, 1.6 itp.). Pozdro i jeszcze raz serdecznie dziękuje.

0

trzymam kciuki zeby sie nie okazalo ze sprawdzasz czy cheat jest aktywny w tle po nazwie programu :)

0

Właśnie kombinuje pobierac również nazwy .dll wykorzystywanych przez proces i ścieżkę procesu. Ale chyba nigdy nie będzie 100% metody na uniknięcie tego procederu, bo jak ktoś sie zna na programowaniu to napisze sobie cheat sam, albo odpowiednio zmodyfikuje jakiś open source i w tym momencie skutecznośc tego programu się kończy... No cóż szczęście zę większosc graczy sotusje zasade download, krótka konfiguracja & play. No chyba ze macie jakieś pomysły na zwiększenie skuteczności tego programu?

0

pobrac path do wykonywanego pliku, zczytac N pierwszych bajtow, porownac z mala baza danych 'sygnaturek'.. a tak ogolnie to slusznie zauwazyles ze praktycznie sie nie da.. ale nazwa pliku to zbyt latwe do ominiecia. dllki - juz duzo lepiej. mozna tez np. zczytac liste uchwytow i poszukac uchwytu procesu/okna/itp owego CS ktorego chcesz chronic, albo poszukac w nich plikow z katalogu z gra.. ale to juz zalezy mocno od tego jak sie cheat komunikuje z gra:/

0

Są gdzieś źródła takich cheatów? Wtedy można by stwierdzić co taki czit naprawdę robi.

0

Niespodziewałem się takiego zainteresowania moim problemem i takiej serdecznosci z waszej strony. Jestem wam bardzo wdzięczny za pomoc.

http://www.pr0100.ddl2.pl/ira/downloads/cppfrance_OGC-SOURCE_9790.zip

pod tym linkiem jest jedna z nielicznych bibliotek open source udotępnionych publicznie. 3/4 cheatów opiera sie na tym systemie, jednak istnieją bardziej złożone produkty.

Tutaj:
http://www.koder.org.pl/forum/index.php?showtopic=1542

jest opis działania cheatów.

Chciałbym stworzyć anty-cheata opartego na logowaniu procesów i bibliotek(nie zabijaniu, bo wtedy metodą prób i błędów gracz mógłby znaleŹć cheata omijającego zabezpieczenia, a w przypadku logowania i wysyłania logów po meczu każda nieudana próba skończy się odpowiednimi konsekwencjami, co myślę skutecznie zniechęci znaczną częśc graczy). Chciałbym aby wszystkie te biblioteki, procesy, może i ścieżki były szyfrowane(dośc prosteo, aby nie powodowało dużego zużycia procesowa/Ramu:zmiana kolejnośc znaków + zamiana na hex w standardzie ASCII, potem może coś bardziej skomplikowanego). Co np.10min tworzny byłby raport z czasem jego wykonania i wszystkimi potrzebnymi mi informacjami(biblioteki, procesy). Po meczu wysyłanybyłby na do administratora ligi który przy pomocy dekodera weryfikowałby czystośc gry.
O tym się bardzo fajnie pisze, jednak gorzej ubrać to w kod. Gdyby ktoś dał mi chociaz linka do strony gdzie mógłbym znaleŹć jakieś info na ten temat wykorzystywanych tu funkcji to byłbym inezmiernie wdzięczny.

0

CS... Chodzi o Counter-Strike? Jak tak to skoro nowsze wersję są odpalane ze Steama to może szło by to jakoś wykorzystać, np. spróbować się jakoś podpiąć pod Valve Anti-Cheat (to chyba jest standardowy tego typu program, chociaż dawno w nic ze Steama pod multi nie grałem więc może mam stare informacje ;))

0

hm.. ostatnio ktos gdzies pamietam na jakims forum sie plaszczyl zeby ktos mu napisal dekoder owych logow z rozgrywki w CS'a utworzonych jakims programem do monitoringu bitwy.. kurcze jak sie ten program zwal..

edit: mam! nazywal sie azureus, najnowsza wersja 2.4.. i nie chodzi o tego azureusa z sourceforga :) moze skontaktuj sie jakos z autorem? na pewno byscie mieli bardzo ciekawa rozmowe, a moze i wspolprace.

a w ogole dzieki za linki! na pewno ciekawa lektura

0

Mam z nim kontakt i właśnie mój program ma byc uzupełnieniem projektu Azerus(Omitix). Jeżeli to wszystko wypali to moze być to przydatne(po odpowiednich modyfikacjach) w wielu grach sieciowych.
Odnośnie VACa to wątpie czy Valve udostępnia źródła, wiem natomiast że VAC(1 oraz v.2) został już wielokrotnie złamany i jego skuteczność nie jest zbyt duża.

0

a i sporostowanie:
Azerus jest projektem wykonywaniw zrzutów ekranu w czasie rozgrywki, kodowanych. Jego najwięszka wadą jest to ze wychwytuje tylko widoczne na ekranie cheaty(wallhack), a większośc haxów umożliwia wyłączenie tych widocznych efektów pozostawiając inne opcje włączone.

0

zerknij na doskonaly program ProcessExplorer http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx
poza tym ze to doskonale narzedzie, pokazuje mniej wiecej jakie informacje da sie przy sensownym wysilku wyciagnac o danym procesie - i wybierz sobie jakis subset, bedzie sie miec od czego zaczac konkretne poszukiwania :)

na sysinternals jest tez pare innych fajnych progsow.. niestety bez zrodel

0

dzięki za program. Zauważyłem bardzo ważną sprawę. Mianowicie biblioteka cheatu wczytuje się do aplikacji gry(hl.exe), wiec myśle ze gdyby wykonać listę wszystkich bibliotek wykonywanych przez program hl.exe uzyskałbym pożądany efekt. Tstowałem póki co tylko na jednym cheacie. Postaram się usiąść, pościągać tego troche i sprawdzić tą prawidłowość.

0

ooo to pieknie!! rysuje sie wtedy takie rozwaizanie

przygotuj sobie liste dllek ktore gra laduje gdy jest 'czysta'
w trakcie gry skanuj jej proces, jak lista dllek odbiegnie od owej czystej listy, no to moze mamy wtreta..

ale uwaga - owo "moze"! - istnieje cos takiego jak dllautoinjection. mozna w systemie zainstalowac dllke tak, aby podpinala sie ona pod kazdy program. tak na przyklad moga dzialac aplikacje czyania tekstu dla niepelnosprawnych, czy tez jakis np. slownik-translator albo tez poprawiacz ortografow czy antywirus..

dlatego tez nalezy jeszcze sie upewnic jakos czy ta dllka rzeczywiscie moze byc cheatem.. czyli poniekad wracamy do punktu wyjscia - ale juz mamy ograniczone mocno pole przeszukania - mamy konkretna dllke podejrzana, a nie liste wszystkich procesow/dllek

0

a po jakiego grzyba dllinjection? na upartego można na chama dorzucić trochę kodu do programu w pamięci - wpisać go w wolną przestrzeń w sekcji kodu :> Albo chociaż doalokować z jedną, dwie strony z prawami do wykonywania :> Wykrywanie ingerencji i przeciwdziałanie takie proste nie jest.
Co do pomysłu z wykrywaniem dll'ek - można to uzyskać dosyć prosto - sprawdzamy własny proces pod kątem dll'ek, sprawdzamy proces gry pod kątem zaufanych i obecnych w naszym procesie, jak coś zostanie - mamy podejrzanego :>. Ale to łatwo oszukać - dowolny hook globalny.

0

niezrozumiales.. ja mowie o jednym z mechanizmow normalnego dzialania windowsow - DllAUTOInjection. korzysta z niego np. GG - sprawdz: wlacz GG, otworz notatnik i obejrzyj liste jego modulow (notatnika!) - okaze sie ze ma zaladowany GGHook.dll . Z tego powodu NIE MOZNA sprawdzac na "głąba" listy dllek i liczyc ze jak gra jest czsyta to lista dllek bedzie zawsze taka sama. dla ciekawych powiem ze np. mechanizm ten tez wykorzystuje tak popularny wsrod koderow TortoiseSVN i na prawde masa innych ciekawych programow jak np. AcrobatReader etcetc

0

zrozumiałem, o czym innym mówiłem... wybacz, dopisałem trochę do posta w momencie, w którym Ty najwidoczniej odpowiedź pisałeś - stąd nieporozumienie.

p.s. chyba mnie nie lubisz ;)

0

w takim razie przepraszam - myslalem ze "a po jakiego grzyba dllinjection?" odnosi sie do tego co pisalem - "ale uwaga - owo "moze"! - istnieje cos takiego jak dllautoinjection." :)

z cala reszta tego co napisales sie w 100% zgadzam - sa to metody dobrze znane i powszechnie uzywane przez wszystkeigo rodzaju malware.. ba, przeciez sa wrecz takie fajne i idealne do tychcelow funkcje WINAPI jak CreateRemoteThread ktore po utworzeniu w procesie owej extra-strony z kodem pozwalaja go odpalic jako nowy watek w tym procesie :) i zero dll'ek a jakie mozliwosci - mozna sobie np. w notepadzie na biegu wstrzyknac mikroserwer http udostepniajacy caly Twoj otworzony dokument na internecie, bez Twojej wiedzy :) a co dopiero w takim CS..

liczba wyzwan jest tylko ograniczona pomyslowoscia osob piszacych cheaty -- to jest doslownie identyczna batalia co antywirusow z wirusami..

ps - alez skad, nic do Ciebie nie mam :)

0

o rany!

http://research.microsoft.com/sn/detours/

wyglada na to ze teraz ingerencja w inny program bedzie wymagala jeszcze mniejszej wiedzy..

0

Wybaczcie, ale nie było mnie jakiś czas w domu. DEziękuje za wszyetkie wypowiedzi. Byłbym niezwykle wdzieczny gdyby ktoś napisał mi fragment kodu lub dał linka do strony gdzie mogę poczytać o sprawdzaniu bibliotek podpiętych pod proces hl.exe. Liczę na waszą pomoc, bo wątpie czy ze swoją wiedzą sam to napisz lub znajdę odpowiednie źródło informacji. Z górzy wielkie dzięki.

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