[c++b 5] Kilka trudnych pytań...

0

lepiej kochany modzie :P

Naspialem program "antycziterski" do pewnej gry... mianowice Tactical Ops... do tej gry jest mnostwo czitow, radary, aimy itp itd... sama gra potrafi nagywac demo ale jesto ni zawsze czyte... a moj program jest po stornie klijenta... dziala on tak... ustawilem, ze co minute robi screena i zapisuje go na dysku... screena ekranu. Jest to o tyle dobre, ze poakzuje wszytko co sie ma wlaczone minanowice gra + dodatki ;)
screen jest ladowany do bufora->potem do Timage a stamtad jest przerabiany na JPG + dodawana jest kompresja -> nastepuje zapis na dysk...

a) czy jest realna szanas przechwycenia buforu i zrobienia z nim co sie chce... a takze czy jest mozliwa ingerencja w sam program zeby robil screena czego sie ze chce... przechwycenie procesu aplikacji ? (winapi?)

b) chcialbym dodac jakies znaki wodne na screena, date, godzine (canvas?)
c) mam liste procesow w kompie ale jest ona dost obskorna gdyzdodaje wszytko nawet jakies puste linijki... i procesy ktore juz nie istnieja ale odziwo sie tam znajduja moze jakas prostrza metoda ?

bool __stdcall EnumProc(HWND hWnd,/*LPARAM*/long/*lp*/)
{
   unsigned long* pPid;   //LPDWORD
   unsigned long result;      //DWORD
   void *hg;                  //HGLOBAL
   unsigned long id;

   if(hWnd==NULL)
      return false;

   hg = GlobalAlloc(GMEM_SHARE,sizeof(unsigned long));
   pPid = (unsigned long *)GlobalLock(hg);

   result = GetWindowThreadProcessId(hWnd,pPid);

   if(result){
      char title[110];
      char className[95];
      char totalStr[256];
      GetClassName(hWnd,className,95);
      GetWindowText(hWnd,title,110);
      id=*pPid;
      ultoa(id,totalStr,10);
      strcat(totalStr,"\t");
      if(title){
         strcat(totalStr,title);
         strcat(totalStr,"\t");
      }
      strcat(totalStr,className);
      Form1->ListBox1->Items->Add((AnsiString)title);
   }
   else
   {
      GlobalUnlock(hg);
      GlobalFree(hg);
      return false;
   }
   GlobalUnlock(hg);
   GlobalFree(hg);
   return true;

}

to moj kod bezsensowny ale jakos dziala... mianowice program wyszukuje procesu a jak znajdze zaczyna rejestracje zdjec gdzy proces znika to robi pauze...

no... to jakby ktos mogl pomoc :P to bardzo bym prosil... ;) dawno sie nie bawilem programowaniem :P nie wiem czemu no time chyba... maute mam za 8 dni ;D ale coz :P pozdrawaim czopochrup ;]

//prosilbym mozliwie najprosciej i posilkowac sie jakimis przykladami ;) bo naprawde juz dawno nie bawilem sie c++ :P

<font color="blue">//O_o</span>

0

anybody ?

//doszedlem do tego ja dodawac na mojego screena obrazek jais ale za chiny nie wiem jak dodac jakis text :/ np z Labela->Caption hilfe mi ;/ potrzebuje tego :P

0

moze zamiast robic screeny zapisuj co jest wstukiwane z klawiatury i sprawdzaj w slowniku czy nie jest to takie samo jak jakis kod? ale to w sumie latwo obejsc :)
ale na 100% w pamieci jest gdzies zapisane ze kod zostal uzyty... bo jezeli by nie bylo to ten kod by nic nie zmienial ;)
jedyne co mi przychodzi do glowy to:

  1. odpalic debugger'a
  2. wlaczyc gre
  3. wpisac kod
  4. zobaczyc co sie zmienilo
    i tak kilka razy, dla kazdego kodu. i potem program napisac tylko ktory bedzie porownywal rozne wzorce ;) ale chyba bedzie blad segmentacji :( jak sie odwolasz do pamieci przydzielonej tej grze...
    najprosciej to by bylo chyba tak:
    przegladasz w debuggerze kod gry i probojesz wszystko wqmac ;D potem jak juz masz to rozpracowane to robisz patch na gre, ktory uniemozliwia wpisywanie cheatow, a wszelkie takie proby odnotowuje sobie... i wysyla w odpowiednie miejsce ;) Tylko znowu to jest zabawa z asm'em a nie z c++.

Nie znam sie zbyt dobrze na tym temacie :( ale mysle ze pomoglaby lekturka src od tego typu programow :) BWscanner od Starcrafta jest, ale nie na opensource chyba. O innych nie wiem :(

//edit: co do podpisywania obrazkow - mozesz uzyc metody na ukrywanie wiadomosci w obrazkach, jest gdzies na tej stronce ;)

0

dobra juz mam metode na dodawanie loga mojego na JPGa ;) + dodaje aktualny nick gry ktory odcztuje z pliku gry ;P hehhe wiec jakies zbaezpieczenie jest ;] TYLKO ze... mam pytanie z innej beczki na winapi.org znalalzme jak zapisywac iles tam plikow do 1 pliku ale za chiny nie wiem jak to w C++B 5 wykorzystac:/ to by byl oopytmalne wyjsc jeszcze bym zakodowal dany plik ;) .. chodzi mi o to by kazdy zrzut byl zapisywany do 1 duzego pliku... z ktorego potem bym tylko ja mogl je odyczac innym programem ktory by je odcyztywal... (jak z resources) al jak eh... lama ze mnie...

.. aha http://www.winapi.org/index.php?option=content&task=view&id=89&Itemid=33 o tym mowie

// co rozni moj program od innych teog typu ;) inne sa najczesciej wbudowane w gre czyli ich objescie = banal... do niektorych... moj jest niezalezny... nikt nie ma zrodel (od innych kraza po necie:>) wiec w tej postaci co jest teraz bylo by trodno go obejsc... ale i tacy sie znaja ;)

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.