Die .amx-Datei - Kann mein Script geklaut werden?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Leute,


    wieso haben so viele von euch Angst davor, einem Serverbetreiber die .amx-Datei zu schicken?
    Ein Serverbetreiber kann mit der .amx-Datei + zusätzliche Dateien nicht viel anfangen.
    _____________________________________________________________________________________________


    Übersicht
    + Es ist NICHT möglich, eine .amx-Datei in eine verwertbare .pwn-Datei umzuwandeln!
    + Die .amx-Datei kann NICHT bearbeitet werden!
    + Der Sourcecode kann NICHT ausgelesen werden!
    - Der Serverbetreiber kann die Dateien kopieren und für sich selbst nutzen, aber er kann NICHTS einsehen oder verändern.
    _____________________________________________________________________________________________


    DeAMX
    + Der Sourcecode ist für Copy&Paste-User unbrauchbar!
    - Man kann den Aufbau deines Script nachvollziehen, aber NICHT benutzen!
    _____________________________________________________________________________________________
    Diese Dateien sind für den Serverbetreiber also absolut unbrauchbar!


    »Hinweis«
    Kopiere NIEMALS die .pwn-Datei auf den Server!
    Sobald die .pwn-Datei in falsche Hände kommt, kann dein Script bearbeitet werden.


    _____________________________________________________________________________________________


    Zitat

    Warum sollen wir dir die Datei dann schicken?

    Falls der Serverbetreiber keinen FTP-Server oder Website zur Administration deines Servers bereitstellt, musst du dem Serverbetreiber deine .amx-Datei + zusätzliche Dateien zukommen lassen, damit dieser deinen Server installieren, bzw. online setzen kann.
    Du brauchst dabei also keine Angst zu haben, dass der Serverbetreiber dein Script klauen und bearbeiten kann.
    => Ich verweise hierbei auf meinen Hinweis, dass man NIEMALS die .pwn-Datei verschicken soll!
    _____________________________________________________________________________________________


    Um dein Script trotzdem noch ein wenig vor "DeAMX" zu schützen, kannst du folgendes tun.


    Unter OnGameModeInit() folgendes eintragen:
    AntiDeAMX();
    Und am Ende des Scripts:
    AntiDeAMX()
    {
    new a[][] =
    {
    "Unarmed (Fist)",
    "Brass K"
    };
    #pragma unused a
    }

    3 Mal editiert, zuletzt von Android ()

  • Nett, aber gehört das nicht eher in die Kategorie Tutorials? :D

  • Außerdem kann man noch AntiDeAMX mit in den GM packen... Ein kompletter GM kann, wenn man Includes benutzt, auch nur ~500 Zeilen groß sein (GF), wie Fabi schon sagte, da bringt einem die .pwn auch nichts ;)

  • Anti-DeAMX ist einfach ein Codeschnipsel, der den Decompiler ins "stolpern" bringt und somit
    eine Umwandlung von AMX zu PWN verhindert.


    Dazu musst du lediglich unter OnGameModeInit()



    AntiDeAMX();
    eintragen. Das bewirkt, dass die Funktion, die das Decompilen verhindert aufgerufen wird.


    Diese Funktion einfach irgendwo in deinem GameMode einfügen (allerdings muss es außerhalb eines Publics sein)

    AntiDeAMX()
    {
    new a[][] =
    {
    "Unarmed (Fist)",
    "Brass K"
    };
    #pragma unused a
    }


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Ich glaube, wenn die AMX Datei gute 2 MB groß oder größer ist, braucht man kein Anti-DeAMX.
    Zumindest ist es in meinem Gamemode nicht möglich eine PWN Datei mit Inhalt zu erstellen und das ohne Anti-DeAMX. (Es wird einfach eine leere PWN Datei erstellt)


    KA, vielleicht liegt es an der Größe oder an dem Scriptinhalt, was ähnliche Auswirkungen hat wie der Anti-DeAMX...

  • Zitat

    Ein Serverbetreiber kann mit der .amx-Datei + zusätzliche Dateien nicht viel anfangen.


    Tortzdem kann er aber die AMX für seinen Server benutzen, es geben auch bekloppte die sagen "dann læuft mein Server eben ohne neuen Updates"..
    Ich empfehle ein Passwortschutzsystem in euer GameMode reinzuscripten, in GF gab's das glaube ich auch, sowas wie "/agreementbroken" und schon wird der Server runtergefahren, und man kann es auch nicht mehr starten (ausser man ændert die "1" zahl in der Datei, in der die Zahl gespeichert ist).
    Ihr macht einfach so, das wenn ihr einen CMD schreibt, der Schutz aktiviert wird ^^
    Ist sehr sehr sehr sehr nützlich, wenn ihr mich fragt ^^

  • Ein einfacher und simpler schutz wäre auch das nach dem starten des Servers die registration/login deaktiviert sind bis jemand kommt und einen geheimen Befehl eingibt womit die registration+login wieder freigegeben werden....wäre auch ne tolle sache. So wäre die amx für einen Dieb von vorn herein nutzlos :thumbup:

  • Ne mit HTTP und so weiter kenne ich mich garnet mal aus xD


    @Anubis://
    Jop genau das habe ich ^^
    Wenn jemand mitm Namen FoxHound on kommt, kommt ein Dialog wo er ein Passwort eingeben muss ;D
    Aber wenn man nicht FoxHound ist, bekommt man eine kleine Nachricht und einen Kick dazu gratis.

  • Die Idee von Snail ist Genial mit Http überprüfen ob eine Datei auf deinem webspace liegt, wenn nicht, einfach das Script abschalten. Sollte Mann dann merken dass das Script geklaut ist einfach Datei loschen sein Script anpassen fertig am besten nimmt Mann bei jedem update ne neue Datei.

  • Sorry fürs Thread ausgraben, aber das ist nicht ganz wahr (zumindest bei meinem Script)

    DeAMX
    + Der Sourcecode ist für Copy&Paste-User unbrauchbar!
    - Man kann den Aufbau deines Script nachvollziehen, aber NICHT benutzen!

    Hab eben DeAMX gedownloadet und mein Script decompilet. Hat leider geklappt
    Dann habe ich das mit Anti-DeAMX eingebaut, und das einzige was decompilet worden ist, ist folgendes:
    #include <a_samp>
    #include <core>
    #include <float>



    Also, da kann man nichtmal den Aufbau nachvollziehen^^

  • und was soll man bitte mit sowas machen?
    function41BD4(arg0, playerid)
    {
    new var0[24];
    GetPlayerName(playerid, var0, 24);
    new var1[128];
    new var2[24];
    if(glob3F0[playerid][69] == 3)
    {
    SetPVarInt(arg0, 175336, 1);
    }
    if(glob3F0[playerid][69] == 6)
    {
    SetPVarInt(arg0, 175396, 4);
    }
    if(glob3F0[playerid][69] == 9)
    {
    SetPVarInt(arg0, 175500, 6);
    }
    format(var1, 128, "%s hat dich in die Fraktion %s eingeladen. Möchtest du diese Einladung annehmen?", var0, var2);
    ShowPlayerDialog(arg0, 3, 0, 175864, var1, 175936, 175984);
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen