[DEV] Next-Gen Launcher

  • Hallo,
    Ich stell meinen Next-Gen Launcher vor. Dieser hat zum Ziel, die User dazu zu zwingen durch einen Launcher zu Starten um evtl. Einstellungen vorzunehmen, Charakter auszuwählen, News zu sehen und den Spieler auf Cheats zu überprüfen.
    Für sofortigen Spieleinstieg ohne Ingame Logins.
    Das Programm ist aktuell noch in Entwicklung, unterstützt aber schon die Grundfunktionen.
    Bei Interesse werde ich diesen Thread noch erweitern sowie weitere Infos geben, wie der Launcher veröffentlicht wird. Funktionen & Design provisorisch!





    Launcher und Server Kommunizieren ausschließlich über MySQL.



    Features:

    • Serverjoin nur durch Launcher
    • User Login
    • News Nachrichten etc. im Launcher
    • Updater (Launcher, SA & SA:MP -> Versionsabgleich)
    • Client Anti-Cheat



    Bilder:





    ~Tey

  • Zu 99% Visual Basic da sich sowas nicht lohnt in C++ zu schreiben


    C++ bietet auch einen direkten Zugriff auf einen Visual Form Creator.
    Nennt sich dann nur CLS, was ab Win 8 nicht mehr komplett unterstützt wird.


    VB eigent sich schon dafür, man darf halt nur nicht direkten Datenbankverkehr zulassen

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Wv willst du denn dafür?

    Habe mir keine konkreten Gedanken dazu gemacht. Vielleicht Veröffentliche ich ihn auch einfach.

    Man kann die Sprache bzw. das Programm bzw². die Executable Datei DeKompilieren, und so an die MySQL Daten gelangen.
    Hast du denn irgendeinen Schutz eingebaut?

    Damit hab ich mich nie befasst. Im zweifelsfall 2 DBs verwenden.

    Ich hoffe mal das dies keine Visual Studio express Version inst.WWäre ja illegal

    (Doch, ich verwende die Express Edition.)

  • Damit hab ich mich nie befasst.


    Das ist unglaublich schlecht :D


    Wenn man sich darüber noch keine Gedanken gemacht hat, also über die Sprache im allgemeinen, sollte man sich erst damit beschäftigen bevor man leichtsinnig, jemanden dieses Programm verkauft oder versponsert, bist ja im Sponsoringbereich :D.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Das ist unglaublich schlecht :D


    Wenn man sich darüber noch keine Gedanken gemacht hat, also über die Sprache im allgemeinen, sollte man sich erst damit beschäftigen bevor man leichtsinnig, jemanden dieses Programm verkauft oder versponsert, bist ja im Sponsoringbereich :D.

    Ich programmiere sonst nie Software die Gefahr läuft von Kiddies decompiled zu werden. Wobei ich generell finde das das mit dem Decompilen quatsch ist, vorallem weil du es so klingen lässt als wäre jeder damit vertraut. Ich denke eher das die Leute die davon reden sowieso keine Ahnung haben .



    ~Tey

  • Lass es doch über PHP-Dateien laufen, wie es fast jeder Launcher macht. Dann kannst du das serverseitig auslesen und der Client bekommt nur das Ergebnis der Query ;)
    Und decompilen ist so einfach wie compilen, mit jdGui unter Java zB noch wesentlich einfacher ;)

  • Wobei ich generell finde das das mit dem Decompilen quatsch ist, vorallem weil du es so klingen lässt als wäre jeder damit vertraut.


    Microsft hat es extra so konzepiert, das man das deompilen kann.
    Man braucht nur C# Programm decompilen, programm runterladen, installieren - decompilen und schon hat man die ganze Projektmappe :thumbup:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wenn du die Abfragen via PHP Datei mit der Klasse httpRequest machst brauchst du keine Angst haben das Datenbank Infos weitergegeben werden, du musst halt die PHP dementsprechend gestalten und sie etwas schützen z.b. vor SQL Injektions Attacken. Ist sicherer.

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Ich programmiere sonst nie Software die Gefahr läuft von Kiddies decompiled zu werden. Wobei ich generell finde das das mit dem Decompilen quatsch ist, vorallem weil du es so klingen lässt als wäre jeder damit vertraut. Ich denke eher das die Leute die davon reden sowieso keine Ahnung haben .



    ~Tey


    So wie sich das anhört, hast du die Logininformationen ohne jegliche Verschlüsselung gespeichert - dafür gibts ein Programm namens "strings" von Sysinternals. Das analysiert eine .exe Datei auf alle darin vorkommenden Strings und schreibt diese in eine Textdatei. Selbst ein Anfänger braucht damit nur eine Minute, um einen Benutzernamen und ein Passwort herauszufinden.
    Und selbst wenn das nicht geht, da du beispielsweise jeden Buchstaben des Strings einzeln speicherst oder diesen verschlüsselst oder oder oder: Die Information, wie man Dateien auf dem Server auslesen oder bearbeiten kann STEHT in dem Programm. Man KANN das Programm (z.B. mit OllyDbg) zumindest in Assembler zurückverwandeln und dann diese Informationen extrahieren. Somit ist eine solche Art von Launcher immer unsicher und sollte wirklich von niemandem verwendet werden. Sobald jemand wirklich an die Daten kommen will, kommt er auch an diese, dafür gibt es verschiedene Wege, einen habe ich schon aufgelistet.


    Die Methode, die Tion genannt hat, ist (wenn man sie richtig anwendet) viel sicherer und sollte daher stehts verwendet werden. Das Problem ist halt, dass man dann (je nach Größe des Projektes) auch entsprechend große Server dazu braucht. Als Beispiel könnte man sich ja mal vorstellen, es gäbe für die ArmA 2 Mod "DayZ" einen solchen Launcher. Da wären schon einige Server damit beschäftigt..

  • Lass es doch über PHP-Dateien laufen, wie es fast jeder Launcher macht. Dann kannst du das serverseitig auslesen und der Client bekommt nur das Ergebnis der Query ;)
    Und decompilen ist so einfach wie compilen, mit jdGui unter Java zB noch wesentlich einfacher ;)

    Macht doch keinen unterschied.


    Microsft hat es extra so konzepiert, das man das deompilen kann.
    Man braucht nur C# Programm decompilen, programm runterladen, installieren - decompilen und schon hat man die ganze Projektmappe :thumbup:

    Und was hat man davon letztlich?

    Wenn du die Abfragen via PHP Datei mit der Klasse httpRequest machst brauchst du keine Angst haben das Datenbank Infos weitergegeben werden, du musst halt die PHP dementsprechend gestalten und sie etwas schützen z.b. vor SQL Injektions Attacken. Ist sicherer.

    !


    So wie sich das anhört, hast du die Logininformationen ohne jegliche Verschlüsselung gespeichert - dafür gibts ein Programm namens "strings" von Sysinternals. Das analysiert eine .exe Datei auf alle darin vorkommenden Strings und schreibt diese in eine Textdatei. Selbst ein Anfänger braucht damit nur eine Minute, um einen Benutzernamen und ein Passwort herauszufinden.
    Und selbst wenn das nicht geht, da du beispielsweise jeden Buchstaben des Strings einzeln speicherst oder diesen verschlüsselst oder oder oder: Die Information, wie man Dateien auf dem Server auslesen oder bearbeiten kann STEHT in dem Programm. Man KANN das Programm (z.B. mit OllyDbg) zumindest in Assembler zurückverwandeln und dann diese Informationen extrahieren. Somit ist eine solche Art von Launcher immer unsicher und sollte wirklich von niemandem verwendet werden. Sobald jemand wirklich an die Daten kommen will, kommt er auch an diese, dafür gibt es verschiedene Wege, einen habe ich schon aufgelistet.


    Die Methode, die Tion genannt hat, ist (wenn man sie richtig anwendet) viel sicherer und sollte daher stehts verwendet werden. Das Problem ist halt, dass man dann (je nach Größe des Projektes) auch entsprechend große Server dazu braucht. Als Beispiel könnte man sich ja mal vorstellen, es gäbe für die ArmA 2 Mod "DayZ" einen solchen Launcher. Da wären schon einige Server damit beschäftigt..

    Loginformationen werden nicht gespeichert. Wenn das auf Client und Serverseite ordentlich gemacht ist funktioniert das Problemlos & auch sicher. Mir ist nicht ersichtlich warum man sich dagegen so wehrt. Wäre eine nützliche Alternative und Innovation für ausgewählte Server. Authentifiziert man im Launcher fällt die Last für den Gameserver schonmal etwas kleiner aus.


    ~Tey

  • Und was hat man davon letztlich?


    Ganz einfach, jeder kann dein Programm umschreiben und zu seinen gunsten verteilen wie erlustig ist.


    Wenn du dort auch noch die Datenbank angaben hast, ist sowieso Feierabend

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski