Prozess beenden verhindern



  • wieviel % der spieler sind in der lage ein game-guard auszuhebeln ?!

    unwichtig sind deine beweggründe hier übrignes nicht 😉

    und warum knackt der user nicht einfach die original-exe? das stelle ich
    mir sehr viel leichter vor als einen guard.



  • andi01 schrieb:

    Welches Spiel ist das denn?

    ist das nicht völlig unwichtig?! davon löst sich das problem auch nicht! immer dieses misstrauen hier 😡

    Reines Interesse?



  • andi01 schrieb:

    ist das nicht völlig unwichtig?! davon löst sich das problem auch nicht! immer dieses misstrauen hier 😡

    geh halt woanders hin wenns dir nicht passt!

    ich persönlich hasse es wenn jmd. wie du hier mit fragen ankommt, aber nicht sagen will wozu er es braucht.



  • Es gibt da Leute, die vage Angaben machen oder sogar lügen bei der Frage.
    Wir machen dann gute Vorschläge und Vorschlag für Vorschlag wird abgelehnt wegen irgendwelcher Gründe, die anfangs geleugnet wurden. Das ist eine Frechheit.



  • ja, natürlich gibt es auch leute die irgendeine art von schädlicher software mit diesem wissen programmieren wollen und ich habe auch durchaus verständnis dafür dass man fragt, was man mit dem code bezweckt. aber nicht jeder hier im forum ist ein potenzieller hacker, es gibt auch durchaus leute die dieses wissen sinnvoll einsetzen (eben z.B. für einen Guard). auf den ersten blick mag das ein wenig seltsam klingen dass jemand einen prozess komplett verstecken will, ja, aber man muss deswegen nicht gleich etwas schlechtes damit anstellen, jeder vernünftige guard-prozess ist im taskmanager unsichtbar, wäre ja auch ein toller guard wenn man einfach nur auf prozess beenden klicken muss.

    alles in allem ist ein bisschen vorsicht was man damit bezweckt ja auch gut und richtig, aber nicht jeder muss gleich schädliche software programmieren wollen nur weil ein prozess versteckt werden soll.

    ich persönlich hasse es wenn jmd. wie du hier mit fragen ankommt, aber nicht sagen will wozu er es braucht.

    is ja nich so dass ich nicht schon ausführlich erklärt hätte dass ich nen guard für einen spieleserver schreiben will, ich habe euch sogar schon den namen des spiels gesagt. das müsste doch langsam mal reichen, oder?
    mit den ansätzen/vorschlägen werde ichmich morgen mal genau beschäftigen.

    mfg,
    andi01.



  • andi01 schrieb:

    is ja nich so dass ich nicht schon ausführlich erklärt hätte dass ich nen guard für einen spieleserver schreiben will, ich habe euch sogar schon den namen des spiels gesagt. das müsste doch langsam mal reichen, oder?

    Zuerst war es einen Thread an ein Fenster binden. Dann verstecken. Dann dann dann.
    Auf Seite 6 erfährt man erst (vorläufig), um was es geht.



  • naja ganz am anfang wollte ich das beenden des prozesses verhindern. dazu gab es aber offensichtlich keine lösung. da der guard aber sonst einfach durch prozess beenden beendet werden könnte musste ich halt nach ner neuen lösung suchen. und dabei kam ich mit hilfe der anderen darauf den prozess einfach zu verstecken, da das mit der koppelung offensichtlich auch nicht ohne weiteres lösbar war.

    im prinzip sind ich und die anderen eigentlich nur mögliche ansätze durchgegangen um das beenden des prozesses zu verhindern, und jetzt sind wir bei dem verstecken angekommen. das sollte jetzt eigentlich eine umsetzbare lösung sein, mit der ich mich morgen gleich mal beschäftigen werde.

    am anfang hat halt keiner gefragt warum ich das machen will, deswegen habe ich das nicht reingeschrieben, aber jetzt wissen es ja alle und wir können uns (hoffentlich) wieder dem eigentlichen problem zuwenden, denn jetzt sollte doch eigentlich jeder wissen dass ich keinen virus oder ähnliches schreiben will sondern einfach nur einen game-guard: wie versteckt man den prozess denn nun?

    nach wie vor geht es mir aber ausschließlich darum dassman den guard nicht einfach beenden kann, wie ich das hinkriege ist nicht so wichtig, wenn jemand also einen besseren vorschlag hat als den prozess zu verstecken nehme ich den gerne an. hauptsache ist dass man den prozess nicht einfach so beenden kann. wie ich das erreiche ist mir eigentlich relativ egal, der prozess darf auch gerne sichtbar bleiben(allein daran sieht man schon dass ich keinen virus schreiben will!), er soll nur nicht so einfach zu beenden sein.

    mfg,
    andi01.



  • andi01 schrieb:

    wie versteckt man den prozess denn nun?

    Hast du dich den mal meines Links bemüht?



  • noch nicht, mache ich aber gleich morgen.



  • schonmal bei google "Prozess verstecken" eingegeben?



  • ob dein ziel moralisch vertretbar ist, interessiert mich wenig. wenn ich nach
    dem hintergrund frage, denke ich an den technischen aspekt, was es bezwecken soll,
    nicht warum.

    andi01 schrieb:

    noch nicht, mache ich aber gleich morgen.

    du wirst doch schonmal auf die links geklickt haben ?!

    um einen prozess wirklich zu verstecken, gibt es viele verschiedene ansätze,
    jeder ist kompliziert und keiner ist wirklich sicher. die frage ist nur
    wie schwer es ist, ihn zu knacken. vllt reicht es dir ja 95% der
    nutzer draußen zu halten 😉 ist immernoch ganz ok.

    außerdem kommt es auch darauf an, wieweit du da gehen willst. von treiber bis
    setwindowshook ist fast alles dabei.

    ps:

    so wie ich das verstanden habe, ist bei deiner echse nur der server anders
    eingestellt. wenn ich zugang zu einer originalechse habe und den zielserver
    kenne. -> easy going. nix mit guarded echse.



  • andi01 schrieb:

    Äh. Wenn das Spiel nicht von dir ist, dann gibt es das auch irgendwo ohne deinen Guard. Wieso sollte ein User dann nicht einfach eine andere .exe verwenden?

    ganz einfach: weil die exe modifiziert werden muss damit sie sich aif diesen server connectet und nich auf nen anderen, und da achtet das server-team schon drauf dass es diese modifizierte exe nicht zum download gibt.

    Aber was hält mich davon ab mir die originale .exe zu besorgen, und selbst die IP da drinnen zu patchen?
    Ist das denn so schwer dass nur euer Server-Team das hinbekommt?

    Ich meine, die IP von eurem Server hat man ja schnell raus. Einfach eure originale .exe starten und dann in der Firewall gucken, oder mit netstat, oder im Router, oder ...

    Dann schnapp ich mir die original .exe, patche dort die IP gegen eure, und fertig. Wenn ich pöse bin stell ich die so modifizierte .exe sogar noch ins Netz, damit Leute die das selbst nicht hinbekommen trotzdem ohne euren Guard spielen können.



  • Würde sich guard.exe regelmäßig beim Server melden, dann müßte der ganze Kram auch nicht versteckt werden.



  • +gjm+ schrieb:

    Würde sich guard.exe regelmäßig beim Server melden, dann müßte der ganze Kram auch nicht versteckt werden.

    wahrscheinlich läuft die original-exe auch nur mit original-guard und der neue guard soll den originalen guard bekämpfen. wir werden es in 2 oder 3 seiten erfahren.



  • +gjm+ schrieb:

    Würde sich guard.exe regelmäßig beim Server melden, dann müßte der ganze Kram auch nicht versteckt werden.

    wireshark an -> dummy sender nachbauen. sollte ein externes programm simmulieren
    können. 😉



  • helferlein_tolazyforlogin schrieb:

    wireshark an -> dummy sender nachbauen

    -> aktuellste Musik senden. Sonst laufen die Zuhörer weg.



  • helferlein_tolazyforlogin schrieb:

    +gjm+ schrieb:

    Würde sich guard.exe regelmäßig beim Server melden, dann müßte der ganze Kram auch nicht versteckt werden.

    wireshark an -> dummy sender nachbauen. sollte ein externes programm simmulieren
    können. 😉

    Das kann man leicht durch Verschlüsselung verhindern.

    Der Angreifer kann dann natürlich mit Debugger + Disassembler kontern, und erst recht wieder einen Dummy-Guard schreiben.

    Das kann man aber im Endeffekt auch wieder verhindern, indem man den Guard einfach alle paar Tage wechselt. Das klingt zwar total beknackt aufwendig, könnte man aber automatisieren. Je nachdem wie gut der Angreifer ist (und wie wichtig es ihm ist), kommen dann noch ein paar weitere Iterationen, aber im Endeffekt kann man es glaube ich so hinbekommen, dass jedem die Lust am "Guard-Simulator" Schreiben vergeht.

    Bloss gibt es noch einen 2. Angriffsvektor: dem Guard eine Heile Welt vorspielen. Dazu lässt man den Guard entweder in einer VM laufen, bzw. auf einem anderen physikalischen PC. (Mit einem guten Router sollte es kein Problem sein dem Server vorzumachen dass der Datenstrom des Guards vom gleichen PC kommt wie der Datenstrom des Spiels).
    Oder aber man patcht den Guard einfach im Speicher, so dass die Betriebssystem-Funktionen, die zur "Überwachung" verwendet werden, einfach nie was melden, was der Guard als "böse" einstufen würde.

    Sich davor zu schützen halte ich persönlich für viel schwieriger.

    @andi01:
    Was soll der Guard denn überhaupt konkret überwachen?



  • ok es gibt viele wege einen prozess zu verstecken. die frage ist nur was ist einfacher zu bewerkstellgen? den prozess aus der liste löschen oder eine art ping mit dem server? bei dem ping wüsste ich sogar ungefähr wie's geht, mit sockets usw. .

    was ist einfacher zu bewerkstelligen? wobei der ping natürlich bedeutend sicherer wäre.

    mfg,
    andi01.



  • also ich hab das mit der connection zum server schonmal versucht: ich bin jetzt soweit dass ich ein socket vom client initialisiere und erstelle. nur mit dem befehl connect komme ich nicht so wirklich zurecht.

    hier ist schonmal mein code:

    #include<winsock2.h>//IMMER VOR WINDOWS.H INCLUDEN!!!
    #include <windows.h>
    #include <stdio.h>
    #include<iostream>
    #include<conio.h>
    using namespace std;
    
    #pragma comment( lib, "ws2_32.lib" )
    
    int startWinsock(void);
    
    int main()
    {
    	//Initialisierungen
      long rc=startWinsock();//sockets initialisieren
      SOCKET s;
    
      //abfrage ob initialisierung erfolgreich
      if(rc!=0)
      {
        printf("Fehler: startWinsock, fehler code: %d\n",rc);
        return 1;
      }
    
      else
      {
        printf("Winsock gestartet!\n");
      }
      //Socket erstellen
      s=socket(AF_INET,SOCK_STREAM,0);
    
      //Erstellen überprüfen durch return value socket(...)!=INVALID_SOcKET
    
    if(s==INVALID_SOCKET)
    {
      printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError());
      return 1;
    }
    
    else
    {
      printf("Socket erstellt!\n");
    }
    
    //zeit zum klesen der konsolenausgaben lassen nd auf tastendruck warten
      getch();
    
      return 0;
    }
    
    int startWinsock(void)
    {
      WSADATA wsa;
      return WSAStartup(MAKEWORD(2,0),&wsa);
    }
    

    wie geht das jetzt mit connect?

    (obiger code funzt schon).

    nur bei folgender erklärung aus einem tuitorial( http://www.c-worker.ch/tuts/wstut_op.php ) verstehe ich noch nicht ganz was ich bei den einzelnen parametern angeben muss:

    6. Verbindung zu einem Server herstellen

    Mit unserem erstellten Socket wollen wir nun auch eine Verbindung zu einem anderen Server Socket herstellen.
    Dazu verwendet man die Funktion connect:

    int connect (

    SOCKET s,

    SOCKADDR* name,

    int namelen

    );

    -s: hier muss man den Socket angeben den man verbinden möchte, logischerweise nehmen wir den vorhin erstellten Socket
    -name: hier muss ein Pointer auf eine gefüllte SOCKADDR Struktor gegeben werden, diese wird unten erklärt
    -namelen: hier muss die Grösse der SOCKADDR Struktur angegeben werden, also sizeof(SOCKADDR);

    hat vielleicht mal jemand ein kleines beispiel zu connect da?

    mfg,
    andi01.



  • andi01 schrieb:

    wobei der ping natürlich bedeutend sicherer wäre.

    Nein, überhaupt nicht. Den nachzumachen dauert ca. 5 Minuten (1 Minute Wireshark laufen lassen plus 4 Minuten kleinen Hack basteln).

    Schau dir mal Verschlüsselung und digitale Signaturen an. Damit kannst du es wirkungsvoller verhindern, dass jemand mitsnifft.

    Aber das schützt dich alles nicht, wenn jemand deine Guard.exe im RAM beobachtet.


Anmelden zum Antworten