Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:43

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Jul 06, 2008 19:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Man müßte halt sowas haben

Code:
  1. Anwendung -> Client Fenster -> Input Fenster 1
  2.                             -> Input Fenster 2
  3.                             -> Input Fenster 3

Ist halt die Frage ob man das Fenster was den Input kriegt einfach durchschalten kann. Und dann idealerweise so das man es nicht irgendwo auslesen kann. Dazu müßte mal jemand ein paar einsame Stunden mit der win-api verbringen ;)

Ziel ist halt es nicht zu unterbinden, sondern dem Bot es zu erschweren die Nachrichten an das richtige Fenster zu senden.
Alternativ könnte man natürlich auch ständig neue Input Fenster mit unterschiedlichen Captions, WndClass Namen und handeln erzeugen.


Was spricht eigentlich dagegen nen Systemweisen Keyboard und Mouse hook zu erzeugen? (also richtig hardcore per dll injection)
Dieser hook dürfte doch an sich nur wirklich physikalische Ereignisse fressen, und nicht den kram den Anwendung X simluiert und an Anwendung Y schickt?
Dann halt vergleichen zwischen dem was die Anwendung empfängt und was der hook bekommen hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 06, 2008 22:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ein Kumpel hat mir heute erzählt, dass man absolute sicherheit auf mehrkern cpus ermöglichen kann.
Also AMD X2 und Intel Core Dou und aufwährts.
Die mehrkern CPUs kann man auf BIOS ebene schon ein Programm laufen lassen.
VCPU schimpft sich das und man hinterlegt ein binarycode, und registriert im bios es als vcpu programm.
Je Nach moderne des BIOS wird dann ne checksum von gemacht und das bios läuft nur durch, wenn die checksummen stimmen.
Es gibt eine Rangordnung, Domain1-16, wobei Domain1 alle drunter liegenden einsehen kann aber die darunter liegenden Domains können ned auf die darüberliegenden zugreifen.
Also Domain2 Windows weiss nichtmal, dass es ne domain1 gibt und kann auch nicht auf die resourcen von D1 zugreifen.
In Domain1 läuft dann ein Scannerprogramm, welches das OS überwacht.
Allerdings halt nur mehrkerncpus :\

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 06, 2008 23:01 
Offline
DGL Member

Registriert: Fr Dez 28, 2007 20:24
Beiträge: 62
Wohnort: Berlin
Tja dann muss das Spiel nurnoch so CPU aufwendig sein das man nicht dran vorbei kommt :p


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 07, 2008 07:34 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Und man kann so ne BIOS Änderung einfach so bei ner Softwareinstallation mitmachen? Find ich sehr beängstigend, wenn Anwendungen anfangen sich in meiner HW Steuerung einzunisten.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 07, 2008 08:35 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Die schlimmsten Trojaner arbeiten aktuell so, du merkst nichtmal das du beim ansurfen einer Seite sowas runter lädst und beim nächsten Booten ist das teil dann installiert und aktiv. Die BIOS entwickler haben diese Gefahr aber schon erkannt und in einigen ist schon default eine Warnung beim Booten da, dass mehere VCPUs registriert sind.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 07, 2008 10:24 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
In Fachkreisen kann man zu dem Letztem auch schon fast Rootkit sagen! Zu mindest wäre es ja auch möglich einen Treiber zu installieren der das Programm so startet, dass nicht mal Windows genau weiß, dass es gestartet wurde. Ähmmm Hallo? Soll das nen MMORPG RootKit (BotNetz) werden oder soll es ein Spiel werden was dem User einige schöne Momente beschaffen soll?

Wenn man den User verarscht, hintergeht oder sonst welche dubiosen Dinge treibt, dann sorgt das sicherlich nicht für einen guten Ruf oder dessen Verbreitung. Denn so etwas wird rauskommen. Und wenn ich eines mittlerweile mitbekommen habe dann das es keinen 100%tiges Schutz gibt. Die Leute die es wirklich wollen finden immer einen Weg. Da würde ich persönlich viel mehr auf eine sichere Programmierung wert legen. Warum sollte man die Oberfläche eines Programmes einlesen und auswerten, wenn man sich direkt in die Kommunikation oder irgendwelche öffentlichen Schnittstellen einklinken könnte.

World of Warcraft. Zum Beispiel über dieses Ziele via Macro auswählen und des umfangreichen Addon Systems. Oder wie mir jemand gesagt hatte gibts wohl dort auch den ein oder anderen Priester im Spiel die wirklich jeden verfürchtigen der denen zu Nahe kommt. Und das obwohl der Zauber einen Cooldown von 30 Sekunden bzw 1 Minute hat. Auf jeden Fall mehr als 1 Sekunde was schon mehr als 1 Mal vorgekommen ist. Ich weiß jetzt nicht genau wie das gemacht wurde aber mit Bot hat das vermutlich nicht viel zu tun. Sondern eher mit dem Ausnutzen von Fehlern. Und sowas muss man wärend der Programmierung bereits von Anfang an berücksichtigen und entsprechende Vorsicht walten lassen.

Außerdem auch wenn das jetzt vielleicht ziemlich arschig klingt. Da möchte ich mich schon mal vorab Entschuldigen aber ich weiß gerade nicht wie ich das anders ausdrücken soll ohne den Sinn zu verliehren. Man braucht auch erst einmal etwas wo es sich lohnen würde einen Bot etc zu erstellen. Denn den meisten die so etwas machen geht es schlicht und ergreifend um Geld. Von den Hobbyh4xxorn die ihrem Ego einen Kick geben wollen man abgesehen. Die Versuchen aber nur so gut wie möglich zu sein. Siehe Priester.

Ich denke wenn man den Inhalt etwas dynamisch gestaltet sollte das schon fast ausreichen. Also Tiere wandern ein bisschen über die Karte. Resourcen entstehen nicht immer an ein und der selben Stelle. Und wenn man da keine allzu offene Schnittstelle einbaut und die Kommunikation auf dem Server wirklich sicher macht, denke ich genügt es. Nur sollte man den Benutzer nicht bevormunden oder bewusst Steine in den Weg legen. Das ist zu mindest meine Meinung.

[edit] Noch eine Anmerkung. Idiotische und arschige Mitspieler sind in meinen Augen ein viel größeres Problem. Nur leider kann man dem nur durch ein wirklich ausbalanciertes Spiel entgegenwirken. Und auch dann darf man nicht vergessen, dass der Dauerspieler dem Gelegenheitsspieler natürlich irgendwo einen Vorteil haben muss! Sonst frustriert man die Großen und sorgt für Abwanderungen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 07, 2008 18:33 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
WOW schaut in alle deine Fenster rein, loggt die Fensternamen, holt sich kleine Speicherauszüge aus jeden Prozess und das völlig legal, weil bei jeden update oder installieren du in einen extra Vertrag bestätigst, dass du es erlaubst.
Dass dabei auch E-Mail adressen, Kontonummern und so mitgelogt, werden, weil sie im Titel eines Fesnters stehen ist dann ziemlich blöde.
Es laufen einen die Spieler weg, wenn das Spiel völlig kaputt gecheatet wird, wie es bei StarWars, Diablo2 der Fall ist. Bei WOW ist die Tolleranz viel höher, weil Blizzard mit dem ewigen Ruf,Ehre,Mats gefarme auch den letzten Spieler verärgert hat und man Botter wesentlich mehr tolleriert, weil man die leiden kennt.
Drum ist klar, dass ein gutes Spielkonzept schon den Wind aus den Segel nimmt.
Allerdings hast du immer Leute die es versuchen und verwenden und teilweise ein ziemlich verschrobenes Weltbild haben. Das verärgert andere Mitspieler und genau das will man nicht.
Also müssen Lösungen her, wie man sowas unterbinden kann.
Man kann doch nicht das Spielkonzept ändern, weil man dem bösen User nicht seine Möglichkeiten einschränken will.
Auf den rest, also der überwiegende Teil, wird dadurch ja garnicht beeinflusst.
Wenn das laufen eines Wächterprogrammes zur Lizenz gehört und man darauf hinweist, dann wird das auch gerne in kauf genommen, ich sage nur Steam.
Alerdings sollte man Lösungen finden, die nicht so aufwändig wie das schreiben von VCPU programmen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 07, 2008 20:14 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Zitat:
Die sache mit den simluierten Maus/Tastatur Nachrichten ist wirklich tricky. Was mir da grad als Idee gekommen ist wäre mehrere Fenster für das abfangen der eingaben zu benutzen. Eventuell wäre es möglich mitten im Spiel das Fenster zu ändern welches den input bekommt (unsichtbares dummy Fenster?). So könnte man dann zufällig beim spielen das Fenster ändern welches die Eingabe handhabt. Ist irgendein programm am laufen kriegt es die änderung nicht mit und sendet Nachrichten an das alte Fenster, wo das ganze dann Protokolliert werden kann.


Das funktioniert nicht, da die low level funktionen um key zu simulieren noch weit vor fenstern kommen. Das beste was du ohne größere Tricksereien hinbekommen wirst ist nen lowlevel keyboardhook der nen flag für simulierte keys hat. Wenn der user allerdings nicht die standardfunktionen zum simulieren von tastendrücken verwendet, sondern das selbst im kernel erledigt wird es hässlich.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 08, 2008 13:28 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Der schlimmste fall wäre, dass ei bot schreiben sich einen micro controller schnapt und eine dummy Tastatur baut. Das abfangen des VGA signals wäre auch nicht das problem, im schlimmstem fall hilft eine cam.

Da man das schreiben von bots nicht verhindern kann, muss man sich darauf beschränken, die aktionen eines bots so einzuschränken, das sie nicht wirtschaftlich arbeiten. z.B. Wenn zu viele monotone aktionen durchgeführt werden, wird der user/bot dadurch bestraft, das er von einer horde NPC dieben überfallen wird, so das das inflations erzeugende Gold wieder aus dem spiel entfernt wird.

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 08, 2008 13:51 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 16, 2008 20:26
Beiträge: 158
Wohnort: Berlin
Programmiersprache: c++,c#,java,ruby,php
Was ist wenn ein Spieler gerne einfache monotone Aktionen macht, um sich so Geld zu verdienen (z.b. mich).
Anstatt mit zig Leuten zu kooperieren und sein ganzes Leben im Spiel zu verschenken, indem man jeden tag 12 Stunden online sein muss und in einer top Vereinigung traniert xD
Quasi würden ja so alle Gelegenheitsspieler vergrault, weil denen laufend das Gold geklaut wird, also keine prakikable Lösung, dass auf gut Glück setzen.

Was mir noch einfällt RuneScape macht das glaub ich so, dass wenn man relativ lange farmt, dass dann Zufalls-Events auftreten auf die man reagieren muss, z.b. mit einem Npc reden oder weglaufen vor einem Bergmonster (falls man Stein abbaut) ..
Das lockert das Stupide handeln für normale Spieler auf und mach es spannender, weil man manchmal auch was geschenkt bekommt ( z.B. einen Würfel der das Inventar zuspammt, wenn man ihn nicht aktiviert, indem er sich Dupliziert, wenn man diesen Würfel öffnet, dann muss man ne Simple frage beantworten und bekommt dafür Gold). Einem Bot wäre so was unmöglich zu beantworten oder dadrauf zu reagieren.
Ich muss gestehen diese Events fand ich bisher immer toll und mir war ja nicht klar, dass es auch zum Bot erkennen funktionert lol..
Man muss halt die Abfragen nur geschickt verpacken, anstatt nur nachzufragen, dann merkt der Spieler auch nix.

mfg revolte

_________________
System: Phenom XII X4 955 3,21Ghz , GTX 560 TI, 4GB-Ram, Windows 7 64x


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 08, 2008 14:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 03, 2002 15:08
Beiträge: 662
Wohnort: Hamburg
Programmiersprache: Java, C# (,PhP)
@bewegungen Spieler/Bot: Dazu muss ich sagen, das es je nach Spielsituation sehr wohl möglich ist die Bewegungen beim menschlichen Spieler so sehr zu perfektionieren das man nicht mehr weiß ob es ein Bot ist oder nicht. Vor allem Fernkämpfer haben hier einen Vorteil, da sie sich einfach in die Mitte einer Mob-Herde stellen müssen und dann stundenlang alles im Kreis um sie herum abschießen oder einfach im Kreis laufen.
Kenne dieses Verhalten aus einem MMO und nutze es häufiger selbst.

_________________
(\__/)
(='.'=)
(")_(")


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 08, 2008 17:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das Gegenteil von euren Bemühungen läuft gerade in der C't : http://www.heise.de/newsticker/creativ- ... from/rss09 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 09, 2008 18:41 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Nun im prinzip geht es ja darum, das ein bot versucht das spielsystem auszuhebeln, in dem häufige aktionen wieder hohlt werden, die eigendlich nicht sinvoll wäre oder nicht vorgesehen sind. Ob der bot nun ein mensch oder computer ist spielt eigendlich keine rolle, da beide die gleichen folgen verursachen (inflation).

Sobald ein user/bot so eine schwachachstelle entdeckt hat, wie z.B. metzeln von goldeseln, oder handeln mit penny stock aktien (oder anderem wertlosem plunder der sich für 1 Gold kaufen und für 2 wo anders verkaufen lässt), dann würden sich bei wiederhohlungen diese aktionen im profil häufen, so das automatische gegenmaßnamen sinvoll sind.
Sicher ist es als wenig spieler toll wenn man sich so viel geld verschaffen kann, jedoch bekommt man so vom eigenem spoiel nichts mehr mit. Dann ist es wesendlich besser richtige quests alleine oder in temporären gruppen zu spielen, als goldesel aus dem hotelzimmerfenster zu jagen oder hotelzimmermakromagier zu spielen :P

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 14, 2008 14:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 17, 2005 13:19
Beiträge: 98
Wohnort: Jahnsdorf
Endlich mal wieder ein richtig spannender Thread ;-)

Zu den Ideen finde ich die Sache mit dem Bewegungsoffset ein interessanter Ansatz, vor allem, wenn man das so dynamisch macht, dass dies für längere Strecken zwar einen Unterschied macht (also z.B. man 10 Meter neben dem Weg ankommt) aber so gering, dass man nur leichte Korrekturen machen muss (halt ähnlich dem normalen Laufen ;-))

Auch in Hinblick auf die Zufallsereignisse kann man recht gut Bots erkennen, z.B. wenn man am Wegesrand jemanden trifft, von diesem angeredet wird und durch Tauschen eines Gegenstandes oder Beantworten einer Frage etwas erhält. Stichwort wäre hier "Turing Test" ;-)

Auch das zufällige Anordnen von Objekten (oder das teilweise nicht vorhandensein dieser) wäre eine mögliche Herangehensweise. In SuperMario World war es z.B. so geregelt, dass man in einigen Geheimwelten z.B. nur einmal hereingehenkonnte und wenn man danach nochmals versucht hat, dort etwas zu holen wurde die Welt nicht wieder aufgefüllt. Dies kann man auch zeitlich machen, dass z.B. die zu farmenden Mobs nur X Gold pro Person und Zeiteinheit abwerfen - ist halt dann wie im realen Leben: die Mobs müssen sich erst neues Gold erarbeiten, bevor sie wieder ausgeraubt werden können. Und wenn man das zu häufig macht, wandern die halt ab *G* Kann man dann sogar so machen, dass diese Einschränkung selbst wenn man in der Gruppe unterwegs ist nur ein gewissen Vermögen für die Gruppe vorhanden ist: Und wenn alle ständig farmen, fällt halt weniger in der Missi ab.

Insgesamt einer Welt eine Art Gedächtnis einbauen ist somit auch eine Art Bots zu erschweren: Weil alles, was Feedback vom Spieler erwartet oder unerwartet kommt, erschwert das Schreiben des Bots. Weil viele Bots werden nur dadurch rentabel, dass man stupides Verhalten implementieren kann, OHNE auf das Geschehen am Bildschirm einzugehen. Wenn man hier kreative Aufgaben findet, die einfach zu lösen sind, aber Bots soweit verkomplizieren, dass sich deren Einsatz nicht lohnt, dann löst sich dieses Problem von selbst. Wobei ganz Bots zu unterbinden und verbieten sollte man nicht versuchen, weil man's eh nicht erreicht und dabei eher ehrliche Spieler verschreckt; lieber einen geringen Teil der Leute akzeptieren, denen dafür aber ihr leben so schwer wie möglich machen.

Und in Bezug auf Keyboard Hooks sieht es wirklich etwas düster aus; hier müsste man es schaffen, einen KM-Treiber zu verankern, der für jeden Tastendruck nachprüft, ob wirklich eine Taste gedürckt wurde ... und wie bereits geschrieben wurde, ist das unpraktikabel, weil zu kompliziert und zu leicht zu umgehen.

_________________
Administrator of Project Omorphia
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 14, 2008 19:47 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Deine Ideen sind für RPG gengre gut verwendbar und ich glaube WOW macht es für einiges so.
So gibt es ja erstmal droprate, also wertvolle items(blau) droppen nur sehr selten und von niedrigen mobs quasi garnicht.
Höhere Items(epics) droppen bei Mobs sehr selten, so alle 2 ,auf lvl70 gebrachten, char hat man mal ein epic.
Legendäre Items(orange) droppen vieleicht alle Jahre mal auf ein realm, bei Mobs.
Wenn man nun wirklich dem Mobs,Gebieten, Spielern ein Gedächtnis verpasst, dann könnte man wirklich das Botten nutzlos machen. Noch dazu kann man dann auch die Wirtschaft besser regulieren.

So finden sich doch langsam Lösungen für das Problem Bot in den einzelnen MMO Gengres.
RPG:Dropgedächtnis,generierte Karten
Auto,Flugzeug,...:generierte Karten
Shooter:Wirtschaftsfreies System,sende nur Spieler die sich wirklich sehen
Simulation:komplexität,zufällige Nag's(z.B. Wirtschaftsinfos,...,Fragen die Belohnen(korrekt) und Bestrafen(falsch))

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]