Beiträge von sbx320

    @stumpy Da muss er aber aufpassen. Der Z370 Chipsatz funktioniert nur mit den neuen Coffee Lake CPUs, obwohl der gleiche Sockel verwendet wird

    Wenn du sowieso auch noch ein neues Mainboard kaufen willst, wäre es eher sinnvoll direkt auf eine neue Platform umzusteigen. Mit 7700K plus Mainboard zum übertakten sind wir schon bei ~370€.

    Als neue Platformen gibt es aktuell zwei Möglichkeiten:

    AMD AM4:
    - Ryzen 5 1600 (~170€),
    - 2 weitere Kerne, Hyperthreading, etwas mehr Takt (3.2/3.6)
    - B350 Mainboard (70-110€, je nach Ausstattungswunsch)

    Alternativ ggf. den 1600X (+400Mhz Takt, ~20€ mehr), wobei du den 1600 auch problemlos auf 1600X Niveau (und höher) übertakten kannst. Vorteil bei AMD ist, dass sich jede CPU mit dem Standardchipsatz B350 problemlos übertakten lässt. Wenn du mehr Kerne haben willst, gibt es dann auch noch den 1700 mit 8 Kernen ab ca. 270€. In Spielen bringt dir das aktuell aber noch nicht viel. Bei AMD kommen jetzt im März allerdings noch neue CPUs die nochmal etwas schneller werden, da würde ich ggf. noch warten.

    Intel Coffee Lake
    - Intel Core i5 8600K (~215€, 6 Kerne, Takt 3.6/4.3, übertaktbar, kein Hyperthreading) oder i3 8350K (~160€, 4 Kerne, Takt 4.0/4.0, übertaktbar, kein Hyperthreading) oder Intel Core i5 8400 (~175€, 6 Kerne, Takt 2.8/4.0, nicht übertaktbar, kein Hyperthreading)
    - Z370 Mainboard (110-140€, je nach Ausstattungswunsch)

    Vorteil bei Intel ist, dass du in Spielen aktuell etwas höhere FPS erhältst. Das ist aber bei deiner 1050Ti nicht wirklich relevant (entweder die Grafikkarte bremst dich aus, oder du bist eh schon bei >80 FPS). Unschön bei Intel ist, dass es aktuell nur die Z370 Mainboards gibt, wodurch die nicht übertaktbaren CPUs nur eingeschränkt sinnvoll sind.

    Mit dem H110 Board kannst du nicht übertakten, also bleibt dir vom 7600K nur das Taktplus von 2.7/3.4 auf 3.8/4.2. Das ist zwar ne Menge Mehrtakt, aber das wäre mir für 200€ ehrlich gesagt zu wenig. Da wäre es sinnvoller nochmal 70€ draufzulegen und direkt auf einen 7700K umzusteigen. Der hat dann nämlich auch noch Hyperthreading und nochmal etwas mehr Takt 4.2/4.5.

    Insgesamt bist du mit dem H110 Board aber etwas eingeschränkt...

    Die meisten Tools bringen dir aber nichts, wenn das mit dem MTA Compiler mit den extra "Sicherheitsfeatures" kompiliert wurden. Mir ist jedenfalls kein öffentlich verfügbarer Decompiler bekannt, der alle MTA Scripts dekompilieren kann. Da muss man dann schon selber was zusammenbasteln.

    Irgendwie mal wieder nicht überzeugend. Außer dem "Kofferraum" und dem Anticheat sind eure "Systeme" irgendwelche Standardfeatures, die sowieso überall zu finden sind. Beim Anti-Cheat bin ich mir auch ziemlich sicher, dass es nicht das hält was ihr versprecht, von Lua aus lässt sich da in der Regel nämlich recht wenig machen.

    Auch weiß ich nicht wirklich wozu ihr 12 Fraktionen ohne relevante Spielerzahlen (aktuell: 0/75) habt. Noch eine Frage: Wozu gibt es überhaupt "4 Millionen Start Geld"?

    Die Teammitglieder haben einen Altersdurchschnitt von circa 16-25 Jahren.

    Ich glaube nicht, dass ihr verstanden habt was ein Durchschnitt ist.

    Und jetzt ist er es. ¯\_(ツ)_/¯

    Externer Inhalt sbx320.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Das kann so einiges sein. Ich würde erstmal den RAM prüfen:

    Wenn du da zwei 8GB RAM Riegel hast (und nicht nur 1x 16GB), würde ich da mal einen von rausnehmen und die jeweils einzeln Testen. Wenn das jetzt nur mit einem der beiden Sticks immer abstürzt ist der Ram Riegel kaputt.

    2. 5. Generation Intel konnte ich fast nur für Laptops finden, scheint als gäbe es da nur wenige Prozessoren für PCs, die auch gar nicht empfehlenswert sind.

    Jo, Intel hatte Anfangs massive Probleme mit der 14nm Fertigung, weshalb die echten Broadwell Desktop CPUs nie wirklich erschienen sind.

    @Thema: Wenn du nen günstigen 4th Gen i7 findest, kannst du den nehmen, ansonsten kommst du mit deinem Budget nicht weit. Ein Upgrade erfordert neuen DDR4 RAM, die CPU und ein neues Board, womit du so ab ca. 500-600€ aufwärts einplanen müsstest um einen Performanceschub zu erhalten .

    Was Javascript betrifft, kann ich dir nicht weiterhelfen, aber Threading in Lua ist durchaus möglich.

    Da hatte ich sogar mal für MTA einen Prototypen gebastelt (Threading via Modul auf dem Server und CEF + Webassembly auf dem Client), in nanos world lässt sich das aber natürlich deutlich besser umsetzen. Aktuell ist dahingehend aber noch nichts vorhanden, aber ich bin da auf jeden Fall sehr interessiert dran, insbesondere wenn sich da eine schöne API erreichen lässt.

    Von dem i5 kann ich für Programmierung nur abraten. Hyperthreading bringt massiv Leistung beim Compilen. Mein Laptop mit i7-4700HQ (4x3.4GHz) war trotz 1ghz weniger Takt durchgängig schneller als mein i5 3570k (4x4.4GHz). Mitlerweile bin ich (nach einem Leck im Wasserkühler) auf einen 1700X umgestiegen und die Performance hat sich massiv verbessert (Voller Rebuild von JC3MP: Vorher ~1std, jetzt 12min :D).

    Die letzte Konfiguration von Bonus sieht schon gut aus. Allerdings ist bei dem 1600X kein CPU Kühler dabei, der muss also noch dazu. Alternativ könntest du auch den R5 1600 nehmen, welcher sich vermutlich problemlos auf 1600X Niveau übertakten ließe. Der hat dann allerdings einen relativ guten CPU Lüfter dabei, ist momentan aber nur 15€ günstiger. Da müsstest du abwägen, ob du da die ~40€ Aufpreis für einen vernünftigen Kühler und etwas mehr Standardtakt in Kauf nehmen willst.

    Es steht für mich in keinem Verhältnis zum Nutzen da noch PNs zu schicken. Wenn nichtmal ansatzweise versucht wird sich an die Regeln zu halten sehe ich da keinen Grund mir da die Mühe zu machen da noch aufwendig eine PN zusammenzukopieren.

    Um mal ein konkretes Beispiel zu bringen, einmal den Anfang des Startposts der Serverwerbung die Anlass für dieses Thema war:

    Spoiler anzeigen

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    Da mache ich mir doch nicht noch den Aufwand und verschicke PNs...

    Und um nochmal ein paar Zahlen zu liefern:
    Serverwerbungen werden aktuell so zu ca. 90% gelöscht. Für dieses Jahr eingereichte Serverwerbungen im RL/RP Bereich steht es aktuell 4 freigeschaltete zu 29 gelöschte.

    Es ist im WBB aus irgendeinem dämlichen Grund nicht möglich einen Löschgrund beim Löschen von Freischaltungsanfragen anzugeben. Der Aufwand jedesmal in das Thema zu wechseln nur um einen Grund anzugeben steht leider in keinem Verhältnis zur Qualität der durchschnittlichen Serverwerbung.

    Insbesondere wenn es offensichtlich ist, dass da der Autor sich die Regeln nichtmal im Entferntesten angeschaut hat ist mir das dann auch wirklich zu blöd.

    Hat es einen besonderen Grund, dass du hier alles über deinen eigenen Webserver laufen lässt, anstatt direkt den MTA Webserver zu nutzen? Effektiv gibt dir hiermit jeder Verwender deines Scriptes Adminrechte auf seinem Server.

    Das ganze ist insbesondere blöd, da das Ding in der aktuellen Version auch noch grob unsicher und eher eine Gefahr für MTA Server anstatt einer Hilfe darstellt. Ich habe gerade so ca. 10 Minuten dafür gebraucht Zugriff auf deinen Account zu erhalten. Hauptproblem war dabei die völlig kaputte Androidanwendung die bei mir mehrmals einfach zu einem grauen, leeren Bildschirm gewechselt ist und keine weiteren Eingaben bis zur Neuinstallation zuließ. Ich könnte jetzt problemlos einfach deinen Server neustarten oder beliebige Spieler bannen. Das ganze ist zwar eine Beta, aber selbst für diese einfach völlig inakzeptabeler Schrott.

    Mehr zu den Sicherheitsproblemen per privater Nachricht.

    Spoiler anzeigen

    Externer Inhalt sbx320.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    Insgesamt ist das ganze zwar eine nette Idee aber die Ausführung so schlecht und für Nutzer gefährlich, dass ich da erstmal die Downloadlinks entfernen werde...

    3.) nun hast du schon irre Aufwand betrieben aber noch nichts was du machen kannst, jetzt kommt die eigentliche Arbeit du musst jede GTA Funktion welche du mit viel Glück in den Speicheraddressen gefunden hast, mit eigenem Code nachbauen und anstelle der Originalen in den Speicher laden

    Du kannst problemlos die existierenden Funktionen wieder aufrufen, nachbauen musst du da nichts.

    Zitat von Sam@ke

    2.) wenn du endlich verstanden hast was da passiert, musst du dir ein passendes Event suchen, welches dir eine Schwachstelle bietet um es abzufangen, nachzubauen und mit deiner eigenen Lücke wieder in den Speicher zu laden


    In der Regel nimmt man die Initialisierung der Grafikschnittstelle dafür. Es reicht aber nicht zu wissen wann da was passiert, sondern genau was da passiert. Du fängst diese Initialisierung ab und baust dir deine eigene Initisalisierung nach und gibst sie an das Spiel weiter ohne dass es davon etwas merkt, dann ist nämlich sofort Schluß. Da auf Android kein DirectX zur Verfügung steht, wirst du nichts vom MTA Core nehmen können, sondern darfst dir alles in OpenGL selber erlernen.

    Eine Schwachstelle brauchst du eigentlich auch nicht wirklich. Code in fremden Prozessen ausführen ist relativ einfach. Sobald du einmal deinen eigenen Code in dem Zielprozess ausführen kannst, kannst du dann die existierenden Funktionen direkt patchen, da ist es relativ egal, was genau du verwendest. DirectX wird nur häufig genutzt, da man hier direkt Dinge zeichnen kann und dies sehr einfach zu hooken ist (da die Funktionsparameter ja dokumentiert sind). Mit 64 Bit Programmen geht das ganze sogar etwas einfacher, da hier nicht mehr so viele komische Calling-Conventions (Arten wie einzelne Funktionen aufgerufen werden müssen) verwendet werden.

    Das Hooken von Funktionen ist eigentlich relativ simpel (etwas vereinfacht):

    - Du nimmst die Adresse deiner Funktion und kopierst die ersten X Bytes raus.
    - Anstelle der ersten X Bytes fügst du jetzt eine jmp/call-Instruktion ein, die deinen Hook aufruft.
    -> Jetzt wird unsere Funktion statt der originalen Aufgerufen

    Um jetzt wieder zum originalen Code zurückzugehen, musst du nur die rauskopierten X Bytes ausführen und dann zum originalcode zurückspringen.

    Da hast du bedingt Recht. Speicheradressen findet man aber heutzutage einfach mit Hintergrundprogrammen heraus.

    Damit kommst du ggf. an einzelne Adressen. Problem ist dann, dass du damit relativ wenig anfangen kannst. Du hast dann im besten Fall z.B. die Adresse einer Funktion zum Erzeugen von Fahrzeugen, du kennst aber nicht die Bedingungen unter welchen du diese Funktion aufrufen darfst. Selbst wenn du die mit den gleichen Parametern wie das Spiel aufrufst, kann es leicht dazu kommen, dass das Spiel einfach crasht, weil du z.B. das Fahrzeug im falschen Thread oder während des Renderings erzeugt hast, das Spiel aber davon ausgeht, dass Fahrzeuge nur zu einem bestimmten Zeitpunkt erstellt werden können.

    Du weißt welchen Sicherheits-Unterschied zwischen einem Spiel liegt was 2004 und 2015 rausgekommen ist ja?

    Da gibt es keinen wirklichen "Sicherheitsunterschied". Einzig Denuvo findet man an einigen Stellen, aber das betrifft den Großteil des Codes nicht. Ansonsten ist da eher einfach der Spielecode etwas komplexer geworden, da bei modernen Spielen natürlich auch mehr Multithreading und neuere Renderingfeatures verwendet werden. Aber bei Singleplayer Spielen wird in der Regel nichts unternommen um gegen Injections vorzugehen, wozu auch?