Ein Freund von mir hat mich neulich gefragt ob ich ihm nicht eine Anti-Cheat Software für seinen Game Server machen kann. Ansich ist dies kein Problem. Jedoch kann man dies leicht umgehen indem man einfach den Autoit Prozess per Taskmanager killt. Ist es vielleicht möglich den Autoit Prozess mit der .exe des Spiels so zu verknüpfen, dass wenn man den einen Prozess killt auch den anderen "vernichtet"?
Autoit Prozess in anderen Prozess einbinden?
-
- [ offen ]
-
I3iLLiG -
5. März 2008 um 10:44 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hi,
schreibe ein zweites Skript, dass du Fileinstallst und startest. Dieses nennst du svchost.exe. Das Skript überwacht dein eigentliches Skript und wenn der Prozess nicht existiert, dann schließt du das Spiel.
Mega
-
hehe ja hab ich vorhin auch bei dem "Hide-Process" Thread gelesen aber das ist mir vieel zu unsicher!
Die eleganteste Löung( und nach der suche ich )wäre:
[Game.exe + Protect.exe =] Whatever.exe
// bin aber auch für andere Vorschläge bereit. Wiegesagt sollten nur sicher sein.
-
- Offizieller Beitrag
Glaube nicht dass das geht. Was macht denn die Protect.exe?
-
ja im Prinzip sucht sie innem bestimmten Intervall nach bekannten "cheat-prozessen" oder "cheat-windowtiteln" und wenn einer gefunden wurde dann wird das Spiel beendet per inet gibts ne Nachricht an den server und dann hat er eine verwarnung.
-
- Offizieller Beitrag
Hi,
ich kann mich täuschen, aber ich sehe da nur die Möglichkeit eines extra Prozesses welcher die Überprüfung durchführt. Kannst du die Programm.exe denn anpassen oder wrappen?
Wrappen = Du machst ein Autoitscript, dass die Spiel.exe im Bauch hat. Wenn das Autoitscript gestartet wird, dann wird die Spiel.exe entpackt und gestartet und zuzätzlich noch die Überprüfungs.exe gestartet.
Mega
-
Probier ich mal aus dieses "Wrappen"
-
- Offizieller Beitrag
Hi,
kannst die als Bsp mal meinen LoginWrapper angucken.
Mega
-
du kannst auch 2 exe datein mitm winrar binden und dann festlegen, welche als erstes ausgeführt werden soll
-
Also das mim starten werde ich wahrscheinlich über so ne art machen aber das mim prozess geht leider nicht...
Also bin für weitere Infos offen.
-
Es gibt auch Exe binder, wo du 2 Exen in eine Packen kannst. Weiss nur nicht ob der Spaß legal ist, darum poste ich mal keinen Link
-
ja aber nicht das es dann als virus o.ä angezigt wird.
-
Teste es aus, ich kanns mir aber nicht vorstellen
-
- Offizieller Beitrag
Nein, dann wäre ja jeder Installer ein Virus!
-
naja selbst mit so einem Packer ist dies nicht möglich.
Wenn in der 2. exe eine schleife ist wird diese auch im Prozess angezeigt...
d.h. ich muss mir was anderes überlegen.
Kennt sich jmd vll damit aus hat damit erfahrung gemacht. Ist es möglich zu dem Game oder einem aussenstehenen Server ne verbindung per Autoit herzustellen? Alle 5 mins wird dann ein check gestartet und ne neue nummer zugewiesenm wenn die nummer nicht verändert wurde => das programm existiert nicht mehr und das SPiel auch geschlossen ist gibts ne Warnung
Meine Frage dazu bei 1000usern ist das arg systemlastig?^^
-
Dsa wird dann echt kompliziert.
Verbinde doch einfach alles , ist einfacher als ServerSpoiler anzeigen
-> Gamestarter.exe:
Wenn CMDLINE[0] > 1^And $CMDLINE[1] = "DELETEALL" Then
Sleep(1000)
Delete gehidete.exe
Delete svchost.exe
Delete game.exe
Exit
EndIf
FileInstall+Run Game.exe
FileInstall+Run WinDir\Temp svchost.exe
While Spiel Läuft
Wenn spiel ende, dann Selber Ende
Check auf PID von svchost.exe
WEnd-> svchost.exe
While Spiel läuft (PID über CMDLine)
Check auf PID von Gamestarter.exe, übergeben mit CMDLINE
WEnd-> evtl gehidete exe:
While SpielLäuft
Check auf PID von gamestarter und von "svchost"
WEnd
wenn gamestarter nicht läuft, dann:
löschen svchost.exe
starten gamestarter.exe CMDLIne delete gehidete.exe, spiel.exe