Noobworld

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Für clientseitiges Cheaten ist ein decompilen ohnehin nicht nötig. Ein Tool mit dem man den Speicher durchsuchen und teilweise einfrieren kann würde schon reichen.
      www.glowingorb.de
      „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

      (Schachweltmeister Emanuel Lasker)
    • @Mauge
      Äh... das Spiel läuft jetzt plötzlich. Frag nicht warum - habe nämlich keine Ahnung. ?(

      @Blackspark
      Es gibt ein Idiotensicheres System. Ich kenne mich nämlich durchaus damit aus - auch wenn Du nach meinem vorigen Tipp meinst, dass das nicht simmt. ^^ Davon ausgehend, dass es sich beim Cheat um einen RAM-Hack handelt: Ein RAM-Hack setzt die numerische Darstellung einer Variable voraus. Man kann als User nämlich nur erfahren um welche Variable es sich handeln muss, wenn man immer wieder einen (relativ) eindeutigen Wert wiedergegeben bekommt. Das heißt also zum Beispiel: Munition, die in einer Zahl festgehalten wird, Zeit in einer Zahl festgehalten, Leben dargestellt durch mehrere Symbole, Lebensenergie dargestellt durch Symbole oder eine Zahl etc. - schwierig zu hacken sind wiederum Variablen, die der Spieler nur durch relative grafische Darstellungen erkennen kann, wie etwa Lebensenergie bei Turrican oder Halo, oder auch die Punktanzeige hier bei Noobworld. Ich kann versichern, dass kaum jemand es packen würde die Scorevariable bei Noobworld zu hacken, da er keine Ahnung hat, was für Zahlenwerte sich hinter dem Balken verbergen, denn 1.) hat er keine Ahnung in wievielen Einheiten der Score festgehalten wird (ich weiß etwa nicht, ob Mauge jetzt 100, 500 oder auch 1000 Scoreeinheiten als Zielsetzung genommen hat) und 2.) kann man nur durch Augenmaß erahnen, welchen Wert diese variable hat - das heißt also man müsste um den Score zu hacken zunächst erraten um wieviele Einheiten es sich handelt und anschließend auch noch bei jedem Schritt erkennen, welchen Wert die Variable gegenwärtig hat - geradezu unmöglich zu bewerkstelligen!

      Lösungsmöglichkeiten zur Zeit:
      Also hätte Mauge mehrere Methoden um dieses Problem zu beseitigen.

      1.) Er könnte die Zeitdarstellung gänzlich entfernen. Das ist natürlich überhaupt nicht fein, aber dafür hat der Hacker keine Ahnung welchen Wert er hat. In meinen Augen aber definitiv nicht empfehlenswert.

      2.) Er könnte eine grafische Darstellung machen. Das ist auf den ersten Blick natürlich sinnlos, da ein Balken keinen Sinn macht, wenn die Zeitvariable ewig steigen kann (und der Balken somit ewig größer werden könnte). Eine richtig stylishe Methode hingegen wäre eine mit Zeigern! Der Spieler könnte kaum erahnen, welche Werte sich genau hinter den Zeigern verbergen, man wüsste als Spieler aber dennoch ziemlich genau wie gut man ist. Eine sehr freundliche, eventuell auch ansehnliche und dabei relativ sichere Methode.

      3.) Nun aber die sicherste und generell beste Methode (lässt sich natürlich mit der grafischen Darstellung aus Lösung 2 kombinieren!): Man schafft zwei Variablen. Eine offene und eine verborgene. Nehmen wir mal folgendes theoretisches Moldell: Das Spiel läuft mit 60 Steps die Sekunde. Wir haben also eine Variable, die mit jedem Step stetig steigt - um ganz sicher zu gehen, können wir diese Variable sogar bei jedem Step um etwa einen Wert von 3 oder 7 steigern - dadurch hat selbst jemand, der die FPS des Spiels kennt nicht geringste Chance den korrekten Wert dieser Variable zu erraten. Diese Variable ist nun das Herzstück des Spiels - sie ist der Timescore, den wir festhalten und am Ende übergeben. Wir wollen aber auch eine Darstellung für den Spieler. Das heißt also wir fügen ein Stepevent ein, das eine Darstellung dieses Timescore erzeugt. Das heißt also wir nehmen eine Formel, die die Variable durch den korrekten Sicherheitsfaktor teilt (also 3 oder 7, wie ich in meinem Beispiel sagte) und daraus dann die Sekunden berechnet - nämlich zusätzlich noch durch den 60er Faktor wegen der 60 Steps die Sekunde - und das alles dann in einer zweiten, offenen Variable speichert. Diese Variable gilt es wie gehabt darzustellen (also als Minuten und Sekunden oder auch als grafische Zeigeruhr). Der potenzielle Hacker sieht nun diese Zahlen. Er könnte also versuchen die Sekunden zu hacken, da er diese sieht - er erlebt wegen des angewandten Tricks aber sein blaues Wunder! Die Sekunden die er auf dem Screen sieht gehören nur zur Darstellungsvariable, die in jedem Stepevent aus dem echten, geheimgehaltenen und sogar verfälschten Wert berechnet wird! Wenn er die dargestellten Sekunden also verfälscht, sind sie im nächsten Step sogar in der Darstellung sowieso wieder normal! Und damit hat der User keine Chance auf die echte Zeitvariable zuzugreifen und ist machtlos. Natürlich kann er auch am Ende nicht darauf zugreifen - selbst in dem Augenblick indem das Spiel vorbei ist und der Score gleich gesendet wird, denn beim Uploaden des Scores wird wieder eine Berechnung der geheimen Variable gemacht.

      So, das Prinzip ist EXTREM sicher - ich hoffe Ihr habt's verstanden.
    • Zunächst mal viel Dank für deine Tipps! Nur damit wir uns nicht missverstehen, ich hatte vorhin keineswegs behauptet, dass du von dem Thema keine Ahnung hast. Konnte ich auch gar nicht, ich hab mich nur auf deinen Vorschlag zur Sicherheit bezogen. Also nicht falsch verstehen. Nach deinem jetzigen Post sehe ich, dass du davon Ahnung hast. :)

      Die von dir beschriebenen Methoden sind schon recht üblich um einen RAM-Hack zu verhindern. Noch eine zusätzliche Variable für die Zeit in einer absurden Darstellung zu nehmen halte ich auch für die beste Idee. Man kann auch sagen das sowas fast 100% sicher ist. Was ich in meinem vorigen Post meinte, dass man es nicht 100% sicher machen kann, dachte ich eher an das Dekompilieren. Durch den Dekompiler für den GM geht das natürlich einfacher denn je, aber auch bei Nicht-GM-Spielen ist sowas mehr oder weniger gut möglich. Auch "richtige" kompilierte Programme lassen sich dekompilieren und dann sieht man was das Programm macht um den Score zu übermitteln und braucht dieses verfahren nur nachzuahmen. Man kann es natürlich dem Hacker so schwer wie möglich machen indem man z.b. Variablennamen verschleiert oder komplizierte Algorithmen implementiert.

      Aber wie auch immer, so extreme Sicherheit ist bei so einem Online Highscore glaub ich auch nicht nötig.
    • Naa... das war nur meine verdrehte Form von Selbstironie vorhin - ich habe da nicht wirklich irgendeine Form von Unterstellung rausgehört. ^^

      Einerseits hast Du Recht: In diesem Fall ist ein solch aufwendiges Sicherheitssystem sicherlich nicht unbedingt nötig (Noobworld ist nun wirklich keine Megaproduktion :rolleyes: ), aber es ist meiner Ansicht nach erstens doch empfehlenswert, da das eine massive Qualitätssteigerung des Spiels ausmacht, wenn die Spieler den Eindruck haben, dass da mit fairen Mitteln um den Highscore gekämpft wird und zweitens denke ich ist eine Standarisierung angebracht. Wenn Mauge schon bei Noobworld eine solche Codierung einbaut, dann hat er schonmal ein recht solides System, das er auch in künftige Projekte übertragen kann. Zeitverschwendung wäre es somit sicherlich nicht.
    • Auch "absurde" Darstellungen schützen nur bedingt von solchen RAM-Hacks. Die meistens Tools (bzw die beiden Tools, die ich kenne ;-) ) unterstützen komparatives suchen ( Suche nach allen Werten, die sich seit der letzen uchoperation vergrößert haben etc.) Um das zu verhindern müsste man eine vollkommen irsinnige interne Darstellung benutzen (wenn gerade Sekunde negativ, sonst positiv und jede dritte Sekunde den Sinus der eigentlichen Zeit oder sows), welche aber dann durch den Decompiler weider leicht gefunden werden kann. Was man jetzt bräucht wäre ein GM-Code-Obfuscator,( mhh... wäre durchaus mal ein Porjekt werd)
      www.glowingorb.de
      „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

      (Schachweltmeister Emanuel Lasker)
    • Ich finde es schön, dass ihr euch solche Gedanken macht. Aber Noobworld ist und bleibt ein Minispiel, welches die Umstände nicht wert ist. Bis jetzt gab es ja auch keine weiteren Vorkommnisse.

      Natürlich ist es dennoch super, wenn ihr eine Lösung findet, oder besser noch ein wirksames Mittel gegen den Decompiler. ;)
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Als wirksames Mittel gegen den Dekompiler verweise ich einfach mal auf diesen Beitrag.

      Wie Glowing Orb schon sagte muss man nicht wissen wonach man genau sucht, sondern nur, wie es sich verhält. Ich kenne und habe da ein Tool, welches früher auf recht vielen Foren verlinkt war, dessen Seite noch immer existiert, auch mit recht vielen Vorlagen für diverse Spiele, die einem das Suchen ersparen sollen, dessen Links aber inzwischen entfernt wurden, weswegen ich auch nicht weiter darauf eingehen möchte, wo man es findet...
      Mit diesem Werkzeug kann man jedenfalls erstmal alle Werte des Rams, die zum Spiel gehören einlesen, und dann durch diverses Filtern (geändert, nicht geändert, gestiegen, gefallen, etc.) alle Werte herausfiltern, die mit der Zeit zu tun haben... Oder noch schlimmer: Man sucht die Werte, die zu diesem Fortschrittsbalken gehören, startet eine neue Runde, und setzt ihn direkt auf einen Wert, den das Programm als "Ziel erreicht interpretiert".

      Um das zu umgehen schlage ich jedenfalls den Ansatz von F4LL0UT vor:
      Man könnte z.B. für die Variablen, die bestimmte Werte speichern (Sekunden, Minuten, Fortschritt des Balkens) intern weitere Zahlen laufen lassen, die genau den selben Wert speichern. Diese Zahlen sind zwar auch vom Typ Float, aber du greifst auf binärer Ebene auf sie zu und verwendest dabei einfach den Gray-Code.
      Bsp: Wenn du einen 4-Bit Gray-Code verwendest, und in der Zahl der Wert 7 gespeichert ist (0111), steht diese eigentlich für den Wert 5. du müsstest dir nur entsprechende Skripte schreiben, die innerhalb des Graycodes zahlen addieren oder subtrahieren, und die zwischen "normalen" Zahlen und Gray-Code wechseln. Beim übermitteln der Highscore prüfst du dann nur noch, ob die öffentlich sichtbare Zahl mit der intern gespeicherten überein stimmt, und reagierst entsprechend darauf... Und da die Zahlen, die in dieser Variable stehen scheinbar willkürlich hin und her springen, also mal größer, mal kleiner werden, und dass ohne, dass da ein System zu erkennen ist, werden die auch bei jedem Filtern rausgeworfen.

      (Hm... evtl. bastel ich mal ein wenig an nem Skript....)
    • Ich muss auch nochmal sagen: Tolles Spiel. Aber, und deshalb stellst du es ja wahrscheinlich auch rein, ich habe noch einige Makel gefunden.

      1. Die neuere Version hat nochc mehr mit Glück zu tun. Wenn man z.B. nie die alten Sterne reinkriegt, hat man keine Chance. Im letzten Versuch hab ich nur diese Zeitlupenteile bekommen. Meine Rekordverdächtige Zeit: 3:57min !!!!!!!!!

      2. Das Spiel hat fast nichts mit können zu tun!! Du brauchst es nur 2 - 3 mal spielen und schon hast du exakt die gleichen "Chancen" wier die anderen. Wenn man weis, das das alles nur etwas damit zu tun hat, wie viel Glück man hat, dann macht es einfach keinen Spaß mehr! Ich glaube, deshalb ändert sich in der Highscoreliste auch kaum noch was. An Planet Klicker habe ich Stunden gesessen und hatte immer noch richtig Lust meinen Highscore zu verbessern, hier kaum noch!

      3. Die Bücher, die der eine Typ wirft sind einfach zu hart! Man sollte ein mittel finden: Entweder ist es fast unmöglich ihnen auszuweichen, aber sie sind nicht sehr schädlich, oder sie sind sehr schädlich aber man kann leicht ausweichen!

      Trotzdem Gratulation zum Spiel!!!!

      ToWe


    • ToWe schrieb:

      1. Die neuere Version hat nochc mehr mit Glück zu tun. Wenn man z.B. nie die alten Sterne reinkriegt, hat man keine Chance. Im letzten Versuch hab ich nur diese Zeitlupenteile bekommen. Meine Rekordverdächtige Zeit: 3:57min !!!!!!!!!

      2. Das Spiel hat fast nichts mit können zu tun!! Du brauchst es nur 2 - 3 mal spielen und schon hast du exakt die gleichen "Chancen" wier die anderen. Wenn man weis, das das alles nur etwas damit zu tun hat, wie viel Glück man hat, dann macht es einfach keinen Spaß mehr! Ich glaube, deshalb ändert sich in der Highscoreliste auch kaum noch was. An Planet Klicker habe ich Stunden gesessen und hatte immer noch richtig Lust meinen Highscore zu verbessern, hier kaum noch!

      3. Die Bücher, die der eine Typ wirft sind einfach zu hart! Man sollte ein mittel finden: Entweder ist es fast unmöglich ihnen auszuweichen, aber sie sind nicht sehr schädlich, oder sie sind sehr schädlich aber man kann leicht ausweichen!
      1./2.: Nein. Es ist viel weniger Glück nötig. Es macht enorm viel aus, ob du von einem Objekt getroffen wirst. Das kann dich gut und gerne 10 Sekunden kosten! Dadurch entstehen diese großen Unterschiede bei der TOP 100. Im Zeitlupenmodus läuft die Zeit übrigens auch langsamer, musst mal drauf achten. Hab das schon fair gehalten. Spielerisch kann man es mit Planet Klicker nicht vergleichen.

      3.: Falls du die alte Version noch hast, kannst du die Geschwindigkeit der Bücher und deren Häufigkeit mal damit vergleichen. Sie sind wesentlich langsamer und Ausweichen ist nicht mehr unmöglich!

      Ich arbeite nun definitiv nicht mehr an Noobworld. Es gibt noch andere Projekte, die fertig werden wollen. ;)

      Danke nochmal für euer Interesse und ich hoffe, dass ihr weiterhin viel Spaß damit haben werdet! Außerdem hoffe ich, dass endlich mal jemand den BlackSpark verdrängt! Ich schaffe es einfach nicht! ^^
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Gefällt mir schon deutlich besser. Freut mich vor allem, dass ein paar meiner Vorschläge ihren Weg ins Spiel gefunden haben. Ein nettes Spiel für zwischendurch. Ich hab zwar nach wie vor nicht komplett begriffen, für was der Balken rechts steht (außer dass ich ihn füllen muss um zu gewinnen) und wieso mein Springen den füllt und ob jeder Stern das Füllen beschleunigt, aber das scheint auch unwichtig zu sein. Ständig springen, allem Gemeinen ausweichen und die Sterne fangen scheint als Taktik aufzugehen, was man instinktiv sowieso richtig macht und es ist ja auch nur ein Spiel für zwischendurch.
      Einige meiner Spiele:
    • Grafik = 1+
      Gameplay = 2+
      Sound = 2

      Ich find das Game sehr gut und ich bewundere wirklich sehr wie du malst.(mit welchem Pro arbeitest du und wo zum Teufel lernt man das =O)
      Den dein Gemaltes macht das Spiel wirklich attraktiv.Weiter so!


      Aha noch etwas,ich habe versuch mir acuh so nen Noob zu machen da habe ich gemerkt wie schwirieg das is :D hab gemerkt das mein Körper zu schmal und groß is (klein,fett =süß) ^^ :

      GM oldie ich bin :troll:

      Spiel-Referenzen : 8 Spiele Hier 2 Screens der Rest ist verschollen :c
    • Freut mich wirklich, dass es so vielen gefällt! Danke für die ganzen Beiträge!

      @nokol: Ich mach meine Grafiken eigentlich immer mit Gimp.

      @ghost: Keine Ahnung, wie das zustande kam. Da müssen sich zwei Events überschnitten haben, die ich wahrscheinlich nicht bedacht habe. Aber scheinbar war es ja einmalig. ^^

      Übrigens fehlen noch genau 5 Einträge, um die Liste wieder komplett zu füllen... Haltet euch mal ran! :D
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Als ich einmal auf Escape gedrückt habe, ist die Spielerfigr nicht verschwunden sondern verschwand langsam nach unten aus dem Fenster [warum auch immer]. Das kam allerindgs nur einmal vor.

      ne das ist nicht einmalig! Wenn man den langsam stern bekommt und dann Escape drückt passiert das....


      ICH BIN ENDLICH 5 ter!!! jaa
      -

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xxskxx ()

    • Wenn dieser Fehler wiederholt auftreten sollte, achtet bitte mal darauf, wodurch er zustande gekommen sein kann. Ich gehe, wie bereits gesagt, davon aus, dass sich 2 Events überschneiden; nur welche?

      Btw, es sind endlich wieder 100 Leute in der Liste! Danke an alle, die dazu beigetragen haben. Inzwischen dürfte Noobworld auf ziemlich vielen deutschen Spieleseiten vertreten sein.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Hab ich doch schon gesagt wie es passiert:
      Man bekommt für den Stern dass sich alles verlangsamt außer man selbst....
      Wenn man dann (also wenn alles andere noch langsam ist) ESC drückt kommt das ? und der noob geht langsam aus dem bildschirm...
      Was überschneidet sich? - Das Verlangsamungsevent und dass der Spieler runtergeht.... Keine Ahnung aber den Noob wird dan gebremst und geht langsam vom bildschirm weg...

      schau dir mal des video an vlt. weißt dus dann an was es liegt:rolleyes:
      -

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von xxskxx ()

    • Achso jetzt versteh ich euch erst
      Wenn man ESC drückt haut der Noob nach unten aus dem Bildschirm ab.
      Wenn die Zeitlupe Aktiv ist ist er nur langsamer, d.h. mauge, du musst beim "Esc-Event" Die Zeitlupe deaktivieren, dass die Figur wieder schneller nach unten geht.
      So wie ihr das beschrieben habt dachte ich die Figur verschwindet einfach. (Lag wohl daran dass ich nicht gewusst hab das man beim Esc Drücken das spiel beendet^^)