Meine Exe wird ständig decompiled

  • Guten Tag,

    wie ist es möglich, dass man eine Exe ständig von Leuten decompiled wird, obwohl es angeblich nicht mehr möglich ist?

    Schon 4 Personen haben die Exe decompiled und es wundert mich....

    Wie machen sie das denn und wie kann ich es verhindern?

  • Es gibt decompiler, mit denen geht das. Es ist zwar (ich glaube ab Version 3.0) verboten, doch möglich ist es schon.

    Verhindern kann man es mit AutoIt nicht (nicht das ich wüsste)
    Man kann es vllt erschweren (in dem man versucht ein wenig zu verstecken das es eine AutoIt Exe ist) aber wirklich verhindern kann man es bis jetzt noch nicht.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • es ist möglich kompression per upx und autoitintern zu amchen einfach mal durchgucken mit upx compression ist das schon n bissel schwieriger

  • Durch die meisten Obfuscators wird aber das Programm langsamer und in au3 benötigt man jeden Fuzzel Geschwindigkeit :D. Man kann jedes Programm dekompilen theoretisch, aber dafür braucht man unmengen an ASM-Kenntnissen oder ein großes Buget ^^.

    Nur keine Hektik - das Leben ist stressig genug

  • es ist möglich kompression per upx und autoitintern zu amchen einfach mal durchgucken mit upx compression ist das schon n bissel schwieriger

    Was soll das bringen ? Upx kann ich mit der selben exe wieder rückgäning bzw steuer mal die upx exe im cmd an, dann siehste was sie kann

  • Hi, ich habe selbst mal einige Programme decomplimiert (das ist aber schon eine Zeit her) und das ging relativ problemlos mit einem extra Programm. Ich versuchte mich auch an diesem Script. Als ich es dann (decomplimiert) ausführte, löschte es sich und mein PC wurde herruntergefahren :wacko: . Ich versuchte es nochmal und löschte vor dem Ausführen so ein paar Zeilen. Danach ging es problemlos.

    Was ich damit sagen will: Es gibt durchaus Möglichkeiten, sich wirksam gegen Decompliter zu schützen.

  • Ich würde auch den AutoIt Obfuscator vorschlagen. Damit kann Deine Exe zwar noch immer dekompiliert werden aber der Code ist ziemlich unlesbar.
    Wichtig dafür sind die Optionen:

    /cs 1 : String encryption
    /cn 1 : Numeric encryption
    /cf 1 : Func rename
    /cv 1 : Var rename

    Damit das Ding nicht langsamer wird, empfehle ich noch:

    /sf 1 : Strip all unused Func's
    /sv 1 : Strip all unused Global var records

  • Ich bin auch noch in einem anderen Forum tätig, dort hat ein genialer Typ eine Idee entwickelt, um sich vor Decompilern zu schützen. Echt wirksam.
    Link : [Link gelöscht]

    (Bitte das jetzt nicht als Werbung verstehen =) wollte nur darauf hinweisen, dass es bereits einige Methoden gibt ... )
    Lg

    Edit Oscar: Keine Links zu Botforen, bitte!

    Einmal editiert, zuletzt von Oscar (27. Juni 2011 um 08:14)

    • Offizieller Beitrag

    Cheater Dieter, was soll der absolut schwachsinnige Beitrag?
    Welchen Sinn soll das Löschen des Sciptes haben, wenn es in nicht compilierter Form augefüht wird?
    Das hat rein gar nichts mit dem Schutz vor dem decompilieren zu tun.

  • Hallo white,

    kann mir nicht vorstellen dass jemand bei deinen Programmierkünsten Interesse daran hat deine Skripte zu decompilen. Wenn doch dies ist strafbar und du kannst die jenigen anzeigen.

    mfg autoBert

  • Cheater Dieter, was soll der absolut schwachsinnige Beitrag?
    Welchen Sinn soll das Löschen des Sciptes haben, wenn es in nicht compilierter Form augefüht wird?
    Das hat rein gar nichts mit dem Schutz vor dem decompilieren zu tun.

    Doch, meiner Ansicht nach schon. Also: Eine Person decomplitiert dein Script. Angenommen sie führt es jetzt aus, wird die .au3 gelöscht und der PC wird herrunterfahren. Die Personen, die Scripte decomplimieren, haben meist nicht so die großen Programmierkentnisse, werden von so etwas möglicherweise abgeschreckt und lassen deine .exe fortan in Frieden.

  • Die Personen die Skripte dekompilieren sind breit gefächert.

    Die die keine Ahnung haben kannst du damit beeindrucken wenn du den PC herunterfährst.
    Dann kannst du aber noch wesentlich fiesere Sachen einbauen. Dann verlieren sie den Spaß am dekompilieren schnell.

    Die die wissen, was sie tun juckt soetwas nicht.
    Entweder sie haben sicherheitsmaßnahmen gegen oben genanntes, oder wissen sofort wie man damit umgehen muss.
    Mir hat mal jemand gesagt: "Es gibt kein Skript, welches ich nicht binnen 2 Stunden dekompiliert und verstanden habe."

    Selbst den Besten Obfuscator kann man mit etwas Handarbeit oder gezielten Skripten rückgängig machen.
    Variablennamen lassen sich natürlich nicht retten.
    Aber sobalt Buttons mit Beschriftung vorhanden sind kann man sehen was diese Buttons bewirken und so nach und nach die fehlenden Variablennamen einbinden.

    Wenn ein Skript sicher sein soll, dann benutzt nicht AutoIt.
    Man kann z.B. die Hauptfunktionen in eine Dll schreiben und mit AutoIt das Programm daraus zusammenbasteln,
    oder per InlineAsm sein Programm schreiben und mit AutoIt die Sache Starten und auf den Schirm brungen.

    @White: Wenn jemand deine Skripte dekompilliert bist du im Falschen Forum. Hier tut das soweit ich das beurteilen kann höchstens eine Hand voll Leute die aber nicht dazu stehen. Die Meisten werden aber eher nach der Source fragen, als selbst Hand an zu legen.

    lg
    Mars(i)

  • Doch, meiner Ansicht nach schon. Also: Eine Person decomplitiert dein Script. Angenommen sie führt es jetzt aus, wird die .au3 gelöscht und der PC wird herrunterfahren. Die Personen, die Scripte decomplimieren, haben meist nicht so die großen Programmierkentnisse, werden von so etwas möglicherweise abgeschreckt und lassen deine .exe fortan in Frieden.

    Ich denke eher, dass decompilen großteils dafür genutzt wird, um Passwörter etc. zu erlangen (z.B. für einen Ftp-Zugriff). Da bringt das Herunterfahren gar nichts (mal davon abgesehen das es leicht ausbaubar ist), da der Code nur betrachtet wird. Strings, die du in deinem Script verwendest, sind sehr leicht zu identifizieren mit der Verwendung in einer GUI oder Meldungen z.B. in Form einer MessageBox.

  • Einen absoluten Schutz gibt es nicht, denn alles lässt sich irgendwie reversen, aber Obsfucator + AutoIt3Camo sollten hilfreich sein, um die Decompilierer abzuschrecken.

    Der beste Schutz ist Open Source ;)

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Cheater Dieter

    Ist doch Unfug. Wer ein Script decompiled ist auch in der Lage den Quellcode zu lesen und zu verstehen, denn wenn dem nicht so wäre hätte er wohl kein Interesse am Decompilieren, ausführen kann er auch die exe, dafür muss man nix decompilieren. Ein gewisses Grundverständnis wird also wohl vorhanden sein und somit wird er wohl auch das Makro @compiled erkennen und sehen, wenn sich dahinter Schadroutinen verbergen. Wer sowas tut kennt sich in der Regel bestens mit der Materie aus.

    Weiter Gründe fürs dekompilieren wurden ja schon genannt:

    gespeicherte Passwörter auslesen -> script muss dazu nicht ausgeführt werden
    Sicherheitsmechanismen wie Kopierschutz/Serialsystem verstehen oder manipulieren -> Script muss nicht ausgeführt werden
    einzelne Funktionen klauen um sie selbst zu verwenden -> Script muss nicht ausgeführt werden
    usw.

    Aber Back to White: Ich zweifle auch stark daran, dass irgendjemand deine Scripte decompilieren will, höchstens um mal herzhaft zu lachen. :P